mirror of
https://github.com/bin456789/reinstall.git
synced 2026-04-19 20:44:21 +08:00
Compare commits
4 Commits
57542c4cbf
...
f0b3a475fc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f0b3a475fc | ||
|
|
5e2f46444c | ||
|
|
c784479408 | ||
|
|
ca11ab5ef8 |
@@ -23,3 +23,6 @@ charset = utf-8-bom
|
||||
|
||||
[*.{yml,yaml}]
|
||||
indent_size = 2
|
||||
|
||||
[reinstall.sh]
|
||||
shell_variant = bash
|
||||
|
||||
2
.github/workflows/run_reinstall.yml
vendored
2
.github/workflows/run_reinstall.yml
vendored
@@ -39,6 +39,8 @@ jobs:
|
||||
${{ matrix.command }} dd --img=https://download.opensuse.org/tumbleweed/appliances/openSUSE-MicroOS.x86_64-SelfInstall.raw.xz
|
||||
${{ matrix.command }} windows --image-name='Windows Server blah' --iso https://aka.ms/HCIReleaseImage
|
||||
|
||||
${{ matrix.command }} reset
|
||||
|
||||
# 测试失败例子
|
||||
# ${{ matrix.command }} wrong-os
|
||||
# ${{ matrix.command }} dd --img=https://github.com/
|
||||
|
||||
48
README.en.md
48
README.en.md
@@ -38,6 +38,7 @@ If this helped you, you can buy me a milk tea.
|
||||
- [Feature 3. One-click reboot to Alpine Live OS](#feature-3-reboot-to--alpine-live-os)
|
||||
- [Feature 4. One-click reboot to netboot.xyz](#feature-4-reboot-to--netbootxyz)
|
||||
- [Feature 5. One-click reinstallation to Windows](#feature-5-install--windows-iso)
|
||||
- [Cancel the reinstallation](#cancel-the-reinstallation)
|
||||
|
||||
## System Requirements
|
||||
|
||||
@@ -144,7 +145,7 @@ certutil -urlcache -f -split https://cnb.cool/bin456789/reinstall/-/git/raw/main
|
||||
>
|
||||
> This feature will erase **the entire hard disk** of the current system (including other partitions)!
|
||||
>
|
||||
> Data is priceless — please think twice before proceeding!
|
||||
> If the script was run by mistake, you can run `bash reinstall.sh reset` before rebooting to cancel the reinstallation operation.
|
||||
|
||||
- Username `root`. The script prompts for a password. If left blank, a random one is generated.
|
||||
- When installing the latest version, the version number does not need to be specified.
|
||||
@@ -231,7 +232,7 @@ bash reinstall.sh ubuntu --installer
|
||||
>
|
||||
> This feature will erase **the entire hard disk** of the current system (including other partitions)!
|
||||
>
|
||||
> Data is priceless — please think twice before proceeding!
|
||||
> If the script was run by mistake, you can run `bash reinstall.sh reset` before rebooting to cancel the reinstallation operation.
|
||||
|
||||
- Supports `raw` and fixed-size `vhd` image formats. Either uncompressed or compressed as `.gz`, `.xz`, `.zst`, `.tar`, `.tar.gz`, `.tar.xz`, `.tar.zst`.
|
||||
- When deploy a Windows image, the system disk will be automatically expanded, and machines with a static IP will have their IP configured, and may take a few minutes after the first boot for the configuration to take effect.
|
||||
@@ -324,7 +325,7 @@ bash reinstall.sh netboot.xyz
|
||||
>
|
||||
> This feature will erase **the entire hard disk** of the current system (including other partitions)!
|
||||
>
|
||||
> Data is priceless — please think twice before proceeding!
|
||||
> If the script was run by mistake, you can run `bash reinstall.sh reset` before rebooting to cancel the reinstallation operation.
|
||||
|
||||
- Username `administrator`. The script prompts for a password. If left blank, a random one is generated.
|
||||
- If remote login fails, try using the username `.\administrator`.
|
||||
@@ -464,7 +465,7 @@ bash reinstall.sh windows \
|
||||
- AWS ([ENA Network Adapter][aws-ena], [NVME Storage Controller][aws-nvme])
|
||||
- GCP ([gVNIC Network Adapter][gcp-gvnic], [GGA Display Adapter][gcp-gga])
|
||||
- Azure ([MANA Network Adapter][azure-mana])
|
||||
- Intel ([VMD Storage Controller][intel-vmd], Network Adapter: [7][intel-nic-7], [8][intel-nic-8], [8.1][intel-nic-8.1], [10][intel-nic-10], [11][intel-nic-11], [2008 R2][intel-nic-2008-r2], [2012][intel-nic-2012], [2012 R2][intel-nic-2012-r2], [2016][intel-nic-2016], [2019][intel-nic-2019], [2022][intel-nic-2022], [2025][intel-nic-2025])
|
||||
- Intel (VMD Storage Controller: [11th Gen Core][intel-vmd-gen11], [12th-15th Gen Core][intel-vmd-gen12-to-gen15], Network Adapter: [7][intel-nic-7], [8.x][intel-nic-8.1], [10][intel-nic-10], [11][intel-nic-11], [2008 R2][intel-nic-7], [2012][intel-nic-2012], [2012 R2][intel-nic-2012-r2], [2016][intel-nic-2016], [2019][intel-nic-2019], [2022][intel-nic-2022], [2025][intel-nic-2025])
|
||||
|
||||
[virtio-virtio]: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/
|
||||
[virtio-aliyun]: https://www.alibabacloud.com/help/ecs/user-guide/install-the-virtio-driver-1
|
||||
@@ -478,13 +479,12 @@ bash reinstall.sh windows \
|
||||
[gcp-gvnic]: https://cloud.google.com/compute/docs/networking/using-gvnic
|
||||
[gcp-gga]: https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display
|
||||
[azure-mana]: https://learn.microsoft.com/azure/virtual-network/accelerated-networking-mana-windows
|
||||
[intel-vmd]: https://www.intel.com/content/www/us/en/download/849936/intel-rapid-storage-technology-driver-installation-software-with-intel-optane-memory-12th-to-15th-gen-platforms.html
|
||||
[intel-vmd-gen11]: https://www.intel.com/content/www/us/en/download/849933/intel-rapid-storage-technology-driver-installation-software-with-intel-optane-memory-12th-to-13th-gen-platforms.html
|
||||
[intel-vmd-gen12-to-gen15]: https://www.intel.com/content/www/us/en/download/849936/intel-rapid-storage-technology-driver-installation-software-with-intel-optane-memory-12th-to-15th-gen-platforms.html
|
||||
[intel-nic-7]: https://www.intel.com/content/www/us/en/download/15590/intel-network-adapter-driver-for-windows-7-final-release.html
|
||||
[intel-nic-8]: https://web.archive.org/web/20250501043104/https://www.intel.com/content/www/us/en/download/16765/intel-network-adapter-driver-for-windows-8-final-release.html
|
||||
[intel-nic-8.1]: https://www.intel.com/content/www/us/en/download/17479/intel-network-adapter-driver-for-windows-8-1.html
|
||||
[intel-nic-10]: https://www.intel.com/content/www/us/en/download/18293/intel-network-adapter-driver-for-windows-10.html
|
||||
[intel-nic-11]: https://www.intel.com/content/www/us/en/download/727998/intel-network-adapter-driver-for-microsoft-windows-11.html
|
||||
[intel-nic-2008-r2]: https://web.archive.org/web/20250501002542/https://www.intel.com/content/www/us/en/download/15591/intel-network-adapter-driver-for-windows-server-2008-r2-final-release.html
|
||||
[intel-nic-2012]: https://www.intel.com/content/www/us/en/download/16789/intel-network-adapter-driver-for-windows-server-2012.html
|
||||
[intel-nic-2012-r2]: https://www.intel.com/content/www/us/en/download/17480/intel-network-adapter-driver-for-windows-server-2012-r2.html
|
||||
[intel-nic-2016]: https://www.intel.com/content/www/us/en/download/18737/intel-network-adapter-driver-for-windows-server-2016.html
|
||||
@@ -546,28 +546,24 @@ Most ARM machines support installing latest Windows 11.
|
||||
|
||||
During the installation process, you might encounter a black screen, and the serial console may display `ConvertPages: failed to find range`, but neither issue affects the installation.
|
||||
|
||||
| Compatibility | Cloud Provider | Instance Type | Issues |
|
||||
| ------------- | -------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| ✔️ | Azure | B2pts_v2 | |
|
||||
| ✔️ | Alibaba Cloud | g6r, c6r | |
|
||||
| ✔️ | Alibaba Cloud | g8y, c8y, r8y | There is a chance of hanging at the boot logo during restart; forced reboot will resolve it. |
|
||||
| ✔️ | AWS | T4g | |
|
||||
| ✔️ | Scaleway | COPARM1 | |
|
||||
| ✔️ | Gcore | | |
|
||||
| ❔ | Oracle Cloud | A1.Flex | Installation success is not guaranteed; newer instances are more likely to succeed.<br />Manual loading of GPU drivers is required after installation. |
|
||||
| ❌ | Google Cloud | t2a | Missing network card drivers |
|
||||
| Compatibility | Cloud Provider | Instance Type | Issues |
|
||||
| ------------- | -------------- | ----------------------- | ----------------------------------------------------------------------------------- |
|
||||
| ✔️ | Azure | B2pts_v2 | |
|
||||
| ✔️ | AWS | T4g | |
|
||||
| ✔️ | Scaleway | COPARM1 | |
|
||||
| ✔️ | Gcore | | |
|
||||
| ❔ | Alibaba Cloud | g6r, c6r, g8y, c8y, r8y | Might hanging at the boot logo during restart; forced reboot will resolve it. |
|
||||
| ❔ | Oracle Cloud | A1.Flex | Installation success is not guaranteed; newer instances are more likely to succeed. |
|
||||
| ❌ | Google Cloud | t2a | Missing network card drivers |
|
||||
|
||||
<details>
|
||||
### Cancel the reinstallation
|
||||
|
||||
<summary>Loading Graphics Driver on Oracle Cloud</summary>
|
||||
- If the script was run by mistake, you can run this command to cancel the reinstallation operation.
|
||||
- Must be run before rebooting.
|
||||
|
||||
Log in to the server using Remote Desktop, open Device Manager, locate the graphics card, select "Update Driver," and choose `Red Hat VirtIO GPU DOD controller` from the list. There's no need to download the drivers in advance.
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
</details>
|
||||
```bash
|
||||
bash reinstall.sh reset
|
||||
```
|
||||
|
||||
## Parameter Format
|
||||
|
||||
|
||||
48
README.md
48
README.md
@@ -38,6 +38,7 @@
|
||||
- [功能 3. 一键引导到 Alpine Live OS 内存系统](#功能-3-重启到--alpine-live-os内存系统)
|
||||
- [功能 4. 一键引导到 netboot.xyz](#功能-4-重启到--netbootxyz)
|
||||
- [功能 5. 一键重装到 Windows](#功能-5-安装--windows-iso)
|
||||
- [取消重装](#取消重装)
|
||||
|
||||
## 系统要求
|
||||
|
||||
@@ -144,7 +145,7 @@ certutil -urlcache -f -split https://cnb.cool/bin456789/reinstall/-/git/raw/main
|
||||
>
|
||||
> 此功能会清除当前系统**整个硬盘**的全部数据(包含其它分区)!
|
||||
>
|
||||
> 数据无价,请三思而后行!
|
||||
> 如果不小心运行了脚本,可以在重启前运行 `bash reinstall.sh reset` 取消重装
|
||||
|
||||
- 用户名为 `root`,脚本会提示输入密码,不输入则使用随机密码
|
||||
- 安装最新版可不输入版本号
|
||||
@@ -231,7 +232,7 @@ bash reinstall.sh ubuntu --installer
|
||||
>
|
||||
> 此功能会清除当前系统**整个硬盘**的全部数据(包含其它分区)!
|
||||
>
|
||||
> 数据无价,请三思而后行!
|
||||
> 如果不小心运行了脚本,可以在重启前运行 `bash reinstall.sh reset` 取消重装
|
||||
|
||||
- 支持 `raw` 和固定大小的 `vhd` 镜像。未压缩或者压缩成 `.gz` `.xz` `.zst` `.tar` `.tar.gz` `.tar.xz` `.tar.zst`
|
||||
- DD Windows 镜像时,会自动扩展系统盘,静态 IP 的机器会配置好 IP,可能首次开机几分钟后才生效
|
||||
@@ -324,7 +325,7 @@ bash reinstall.sh netboot.xyz
|
||||
>
|
||||
> 此功能会清除当前系统**整个硬盘**的全部数据(包含其它分区)!
|
||||
>
|
||||
> 数据无价,请三思而后行!
|
||||
> 如果不小心运行了脚本,可以在重启前运行 `bash reinstall.sh reset` 取消重装
|
||||
|
||||
- 用户名为 `administrator`,脚本会提示输入密码,不输入则使用随机密码
|
||||
- 如果远程登录失败,可以尝试使用用户名 `.\administrator`
|
||||
@@ -464,7 +465,7 @@ bash reinstall.sh windows \
|
||||
- AWS ([ENA 网卡][aws-ena], [NVME 存储控制器][aws-nvme])
|
||||
- GCP ([gVNIC 网卡][gcp-gvnic], [GGA 显卡][gcp-gga])
|
||||
- Azure ([MANA 网卡][azure-mana])
|
||||
- Intel ([VMD 存储控制器][intel-vmd], 网卡: [7][intel-nic-7], [8][intel-nic-8], [8.1][intel-nic-8.1], [10][intel-nic-10], [11][intel-nic-11], [2008 R2][intel-nic-2008-r2], [2012][intel-nic-2012], [2012 R2][intel-nic-2012-r2], [2016][intel-nic-2016], [2019][intel-nic-2019], [2022][intel-nic-2022], [2025][intel-nic-2025])
|
||||
- Intel (VMD 存储控制器: [11代酷睿][intel-vmd-gen11], [12-15代酷睿][intel-vmd-gen12-to-gen15], 网卡: [7][intel-nic-7], [8.x][intel-nic-8.1], [10][intel-nic-10], [11][intel-nic-11], [2008 R2][intel-nic-7], [2012][intel-nic-2012], [2012 R2][intel-nic-2012-r2], [2016][intel-nic-2016], [2019][intel-nic-2019], [2022][intel-nic-2022], [2025][intel-nic-2025])
|
||||
|
||||
[virtio-virtio]: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/
|
||||
[virtio-aliyun]: https://www.alibabacloud.com/help/ecs/user-guide/install-the-virtio-driver-1
|
||||
@@ -478,13 +479,12 @@ bash reinstall.sh windows \
|
||||
[gcp-gvnic]: https://cloud.google.com/compute/docs/networking/using-gvnic
|
||||
[gcp-gga]: https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display
|
||||
[azure-mana]: https://learn.microsoft.com/azure/virtual-network/accelerated-networking-mana-windows
|
||||
[intel-vmd]: https://www.intel.com/content/www/us/en/download/849936/intel-rapid-storage-technology-driver-installation-software-with-intel-optane-memory-12th-to-15th-gen-platforms.html
|
||||
[intel-vmd-gen11]: https://www.intel.com/content/www/us/en/download/849933/intel-rapid-storage-technology-driver-installation-software-with-intel-optane-memory-12th-to-13th-gen-platforms.html
|
||||
[intel-vmd-gen12-to-gen15]: https://www.intel.com/content/www/us/en/download/849936/intel-rapid-storage-technology-driver-installation-software-with-intel-optane-memory-12th-to-15th-gen-platforms.html
|
||||
[intel-nic-7]: https://www.intel.com/content/www/us/en/download/15590/intel-network-adapter-driver-for-windows-7-final-release.html
|
||||
[intel-nic-8]: https://web.archive.org/web/20250501043104/https://www.intel.com/content/www/us/en/download/16765/intel-network-adapter-driver-for-windows-8-final-release.html
|
||||
[intel-nic-8.1]: https://www.intel.com/content/www/us/en/download/17479/intel-network-adapter-driver-for-windows-8-1.html
|
||||
[intel-nic-10]: https://www.intel.com/content/www/us/en/download/18293/intel-network-adapter-driver-for-windows-10.html
|
||||
[intel-nic-11]: https://www.intel.com/content/www/us/en/download/727998/intel-network-adapter-driver-for-microsoft-windows-11.html
|
||||
[intel-nic-2008-r2]: https://web.archive.org/web/20250501002542/https://www.intel.com/content/www/us/en/download/15591/intel-network-adapter-driver-for-windows-server-2008-r2-final-release.html
|
||||
[intel-nic-2012]: https://www.intel.com/content/www/us/en/download/16789/intel-network-adapter-driver-for-windows-server-2012.html
|
||||
[intel-nic-2012-r2]: https://www.intel.com/content/www/us/en/download/17480/intel-network-adapter-driver-for-windows-server-2012-r2.html
|
||||
[intel-nic-2016]: https://www.intel.com/content/www/us/en/download/18737/intel-network-adapter-driver-for-windows-server-2016.html
|
||||
@@ -546,28 +546,24 @@ Windows Server 2025 SERVERDATACENTER
|
||||
|
||||
安装过程可能会黑屏,串行控制台可能会显示 `ConvertPages: failed to find range`,均不影响正常安装
|
||||
|
||||
| 兼容性 | 云服务商 | 实例类型 | 问题 |
|
||||
| ------ | -------- | ------------- | ---------------------------------------------------------------------------- |
|
||||
| ✔️ | Azure | B2pts_v2 | |
|
||||
| ✔️ | 阿里云 | g6r, c6r | |
|
||||
| ✔️ | 阿里云 | g8y, c8y, r8y | 有几率重启时卡开机 Logo,强制重启即可 |
|
||||
| ✔️ | AWS | T4g | |
|
||||
| ✔️ | Scaleway | COPARM1 | |
|
||||
| ✔️ | Gcore | | |
|
||||
| ❔ | 甲骨文云 | A1.Flex | 不一定能安装成功,越新创建的实例越容易成功<br />安装后还需要手动加载显卡驱动 |
|
||||
| ❌ | 谷歌云 | t2a | 缺少网卡驱动 |
|
||||
| 兼容性 | 云服务商 | 实例类型 | 问题 |
|
||||
| ------ | -------- | ----------------------- | ------------------------------------------ |
|
||||
| ✔️ | Azure | B2pts_v2 | |
|
||||
| ✔️ | AWS | T4g | |
|
||||
| ✔️ | Scaleway | COPARM1 | |
|
||||
| ✔️ | Gcore | | |
|
||||
| ❔ | 阿里云 | g6r, c6r, g8y, c8y, r8y | 有几率重启时卡开机 Logo,强制重启即可 |
|
||||
| ❔ | 甲骨文云 | A1.Flex | 不一定能安装成功,越新创建的实例越容易成功 |
|
||||
| ❌ | 谷歌云 | t2a | 缺少网卡驱动 |
|
||||
|
||||
<details>
|
||||
### 取消重装
|
||||
|
||||
<summary>甲骨文云加载显卡驱动</summary>
|
||||
- 如果不小心运行了脚本,可以运行以下命令取消重装
|
||||
- 需要在重启前运行
|
||||
|
||||
使用远程桌面登录到服务器,打开设备管理器,找到显卡,选择更新驱动,在列表中选择 `Red Hat VirtIO GPU DOD controller` 即可。不需要提前下载驱动。
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
</details>
|
||||
```bash
|
||||
bash reinstall.sh reset
|
||||
```
|
||||
|
||||
## 参数格式
|
||||
|
||||
|
||||
898
reinstall.sh
898
reinstall.sh
File diff suppressed because it is too large
Load Diff
32
trans.sh
32
trans.sh
@@ -1161,11 +1161,12 @@ EOF
|
||||
# 额外的 IPv6 地址(子网不含网关的地址)
|
||||
get_netconf_to ipv6_extra_addrs
|
||||
if [ -n "$ipv6_extra_addrs" ]; then
|
||||
_old_ifs=$IFS; IFS=','
|
||||
for _addr in $ipv6_extra_addrs; do
|
||||
echo " post-up ip -6 addr add $_addr dev $ethx" >>$conf_file
|
||||
done
|
||||
IFS=$_old_ifs
|
||||
(
|
||||
IFS=','
|
||||
for _addr in $ipv6_extra_addrs; do
|
||||
echo " post-up ip -6 addr add $_addr dev $ethx" >>$conf_file
|
||||
done
|
||||
)
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -3544,8 +3545,8 @@ EOF
|
||||
wget https://deb.freexian.com/extended-lts/archive-key.gpg \
|
||||
-O $os_dir/etc/apt/trusted.gpg.d/freexian-archive-extended-lts.gpg
|
||||
|
||||
codename=$(grep '^VERSION_CODENAME=' $os_dir/etc/os-release | cut -d= -f2)
|
||||
# shellcheck disable=SC2154
|
||||
# shellcheck disable=SC1091
|
||||
codename=$({ . "$os_dir/etc/os-release" && echo "$VERSION_CODENAME"; })
|
||||
if [ -f $os_dir/etc/apt/sources.list.d/debian.sources ]; then
|
||||
cat <<EOF >$os_dir/etc/apt/sources.list.d/debian.sources
|
||||
Types: deb
|
||||
@@ -3884,7 +3885,7 @@ setup_nocloud() {
|
||||
|
||||
# 1. 配置 NoCloud-only datasource
|
||||
mkdir -p "$os_dir/etc/cloud/cloud.cfg.d"
|
||||
cat > "$os_dir/etc/cloud/cloud.cfg.d/99-datasource.cfg" << 'EOF'
|
||||
cat >"$os_dir/etc/cloud/cloud.cfg.d/99-datasource.cfg" <<'EOF'
|
||||
datasource_list: [ NoCloud, None ]
|
||||
datasource:
|
||||
NoCloud:
|
||||
@@ -6062,13 +6063,14 @@ install_windows() {
|
||||
boot_dir=/os
|
||||
fi
|
||||
|
||||
# 复制启动相关的文件
|
||||
# efi 额外复制efi目录
|
||||
# 复制 iso 根目录 boot 开头的文件
|
||||
echo 'Copying boot files...'
|
||||
cp -r "$(get_path_in_correct_case /iso/boot)"* $boot_dir
|
||||
find /iso -maxdepth 1 -iname 'boot*' -exec cp -r {} "$boot_dir" \;
|
||||
|
||||
# efi 额外复制 iso 根目录 efi 文件夹
|
||||
if is_efi; then
|
||||
echo 'Copying efi files...'
|
||||
cp -r "$(get_path_in_correct_case /iso/efi)" $boot_dir
|
||||
find /iso -maxdepth 1 -type d -iname efi -exec cp -r {} "$boot_dir" \;
|
||||
fi
|
||||
|
||||
# 复制iso全部文件(除了boot.wim)到installer分区
|
||||
@@ -7184,12 +7186,12 @@ EOF
|
||||
# 或者用 ms-sys
|
||||
apk add grub-bios
|
||||
# efi 下,强制安装 mbr 引导,需要添加 --target i386-pc
|
||||
grub-install --target i386-pc --boot-directory=/os/boot /dev/$xda
|
||||
cat <<EOF >/os/boot/grub/grub.cfg
|
||||
grub-install --target i386-pc --boot-directory="$(get_path_in_correct_case /os/boot)" /dev/$xda
|
||||
cat <<EOF >"$(get_path_in_correct_case /os/boot/grub/grub.cfg)"
|
||||
set timeout=5
|
||||
menuentry "reinstall" {
|
||||
search --no-floppy --label --set=root os
|
||||
ntldr /bootmgr
|
||||
ntldr /$(cd /os && get_path_in_correct_case bootmgr)
|
||||
}
|
||||
EOF
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user