bin456789 / reinstall

一键DD/重装脚本 (One-click reinstall OS on VPS)
GNU General Public License v3.0
2.87k stars 477 forks source link
alpine alpine-linux boot distro grub installer iso linux linux-distribution liveos netboot netinst netinstall operating-systems os reinstall shell-script vps windows

reinstall

Codacy CodeFactor Lines of Code Telegram Group Github Sponsors

一键重装脚本 English

捐赠者

亮点

系统要求

原系统可以是表格中的任意系统

目标系统的配置要求如下:

目标系统 版本 内存 硬盘
Alpine 3.17, 3.18, 3.19, 3.20 256 MB 1 GB
Debian 9, 10, 11, 12 256 MB 1 ~ 1.5 GB ^
Kali 滚动 256 MB 1 ~ 1.5 GB ^
Ubuntu 16.04, 18.04, 20.04, 22.04, 24.04 512 MB * 2 GB
CentOS 9 512 MB * 5 GB
Anolis 7, 8 512 MB * 5 GB
RedHat   Alma   Rocky 8, 9 512 MB * 5 GB
OpenCloudOS 8, 9 512 MB * 5 GB
Oracle 7, 8, 9 512 MB * 5 GB
Fedora 40, 41 512 MB * 5 GB
openEuler 20.03, 22.03, 24.03 512 MB * 5 GB
openSUSE 15.5, 15.6, Tumbleweed (滚动) 512 MB * 5 GB
NixOS 24.05 512 MB 5 GB
Arch 滚动 512 MB 5 GB
Gentoo 滚动 512 MB 5 GB
Windows (DD) 任何 512 MB 取决于镜像
Windows (ISO) Vista, 7, 8.x (Server 2008 ~ 2012 R2) 512 MB 25 GB
Windows (ISO) 10, 11 (Server 2016 ~ 2025) 1 GB 25 GB

* 表示使用云镜像安装,非传统网络安装

^ 表示需要 256 MB 内存 + 1.5 GB 硬盘,或 512 MB 内存 + 1 GB 硬盘

[!WARNING] ❌ 本脚本不支持 OpenVZ、LXC 虚拟机

请改用 https://github.com/LloydAsp/OsMutation

下载(当前系统是 Linux)

国外服务器:

curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh || wget -O reinstall.sh $_

国内服务器:

curl -O https://www.ghproxy.cc/https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh || wget -O reinstall.sh $_

下载(当前系统是 Windows)

[!IMPORTANT] 请先关闭 Windows Defender实时保护 功能。该功能会阻止 certutil 下载任何文件。

😢还是无法下载? ### 可尝试以下几种方法 1. Windows 7 安装此补丁启用 TLS 1.2 2. 更新 SSL 根证书 ```batch certutil -generateSSTFromWU root.sst certutil -addstore Root root.sst ``` 3. 手动下载,通过 `远程桌面` 复制这两个文件

国外服务器:

certutil -urlcache -f -split https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.bat

国内服务器:

certutil -urlcache -f -split https://www.ghproxy.cc/https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.bat

使用

所有功能 都可在 Linux / Windows 下运行

功能 1: 安装 Linux

bash reinstall.sh centos      9
                  anolis      7|8
                  alma        8|9
                  rocky       8|9
                  redhat      8|9   --img='http://xxx.com/xxx.qcow2'
                  opencloudos 8|9
                  oracle      7|8|9
                  fedora      40|41
                  nixos       24.05
                  debian      9|10|11|12
                  openeuler   20.03|22.03|24.03
                  alpine      3.17|3.18|3.19|3.20
                  opensuse    15.5|15.6|tumbleweed
                  ubuntu      16.04|18.04|20.04|22.04|24.04 [--minimal]
                  kali
                  arch
                  gentoo

可选参数

[!TIP] 安装 Debian/Kali 时,x86 可通过后台 VNC 查看安装进度,ARM 可通过串行控制台查看安装进度。

安装其它系统时,可通过多种方式(SSH、HTTP 80 端口、后台 VNC、串行控制台)查看安装进度。
即使安装过程出错,也能通过 SSH 运行 /trans.sh alpine 安装到 Alpine。

实验性功能 云镜像安装 Debian - 适合于 CPU 较慢的机器 ```bash bash reinstall.sh debian --ci ``` ISO 安装 CentOS, Alma, Rocky, Fedora - 仅支持内存大于 2G 且为动态 IP 的机器 - 密码 `123@@@`,SSH 端口 `22`,不支持用参数修改 ```bash bash reinstall.sh centos --installer ``` ISO 安装 Ubuntu - 仅支持内存大于 1G 且为动态 IP 的机器 - 密码 `123@@@`,SSH 端口 `22`,不支持用参数修改 ```bash bash reinstall.sh ubuntu --installer ```

功能 2: DD

bash reinstall.sh dd --img https://example.com/xxx.xz

可选参数

[!TIP] 可通过多种方式(SSH、HTTP 80 端口、后台 VNC、串行控制台)查看安装进度。
即使安装过程出错,也能通过 SSH 运行 /trans.sh alpine 安装到 Alpine。

功能 3: 重启到 Alpine Live OS(救援系统)

bash reinstall.sh alpine --hold=1

可选参数

功能 4: 重启到 netboot.xyz

bash reinstall.sh netboot.xyz

netboot.xyz

功能 5: 安装 Windows ISO

Windows 安装界面

支持的系统

方法 1: 让脚本自动查找 ISO (推荐)

bash reinstall.sh windows \
     --image-name 'Windows 11 Enterprise LTSC 2024' \
     --lang zh-cn
支持的语言 ```text ar-sa bg-bg cs-cz da-dk de-de el-gr en-gb en-us es-es es-mx et-ee fi-fi fr-ca fr-fr he-il hr-hr hu-hu it-it ja-jp ko-kr lt-lt lv-lv nb-no nl-nl pl-pl pt-pt pt-br ro-ro ru-ru sk-sk sl-si sr-latn-rs sv-se th-th tr-tr uk-ua zh-cn zh-hk zh-tw ```

方法 2: 自行指定 ISO 连接

bash reinstall.sh windows \
     --image-name 'Windows 11 Enterprise LTSC 2024' \
     --iso 'https://drive.massgrave.dev/zh-cn_windows_11_enterprise_ltsc_2024_x64_dvd_cff9cd2d.iso'
以下网站可找到 ISO 链接 - (推荐,iso 来自官方,每月更新,包含最新补丁) - (需用非 Windows User-Agent 打开) - - (预览版) - - - - - - - -

可选参数

如何填写映像名称 --image-name

通常一个 ISO 会包含多个系统版本,例如家庭版、专业版。映像名称 --image-name 就是用来指定要安装的版本,填写时不区分大小写

可以用 DISM、DISM++、Wimlib 等工具查询 ISO 包含的映像名称

常用的映像名称有:

Windows 7 Ultimate
Windows 11 Pro
Windows 11 Enterprise LTSC 2024
Windows Server 2025 SERVERDATACENTER

如何用 DISM++ 查询 ISO 包含的映像名称

打开文件菜单 > 打开映像文件,选择要安装的 iso,即可得到映像名称,所有映像名称都可以安装

image-name

脚本会按需安装以下驱动

[!WARNING] Vista (Server 2008) 和 32 位系统可能会缺少驱动

[!WARNING] 未开启 CSM 的 EFI 机器,无法安装 Windows 7 (Server 2008 R2)

Hyper-V (Azure) 需选择合适的虚拟机代系 https://learn.microsoft.com/windows-server/virtualization/hyper-v/plan/should-i-create-a-generation-1-or-2-virtual-machine-in-hyper-v

[!WARNING] Windows 10 LTSC 2021 中文版镜像 zh-cn_windows_10_enterprise_ltsc_2021_x64_dvd_033b7312.isowsappx 进程会长期占用 CPU

解决方法是更新系统补丁,或者手动安装 VCLibshttps://www.google.com/search?q=ltsc+wsappx

ARM 安装 Windows 的注意事项

大部分 ARM 机器都支持安装 Windows 11 24H2

安装过程可能会黑屏,串行控制台可能会显示 ConvertPages: failed to find range,均不影响正常安装

兼容性 云服务商 实例类型 问题
✔️ Azure B2pts_v2
✔️ 阿里云 g6r, c6r
✔️ 阿里云 g8y, c8y, r8y 有几率重启时卡开机 Logo,强制重启即可
✔️ AWS T4g
✔️ Scaleway COPARM1
✔️ Gcore
甲骨文云 A1.Flex 不一定能安装成功,越新创建的实例越容易成功
安装后还需要手动加载显卡驱动
谷歌云 t2a 缺少网卡驱动
甲骨文云加载显卡驱动 使用远程桌面登录到服务器,打开设备管理器,找到显卡,选择更新驱动,在列表中选择 `Red Hat VirtIO GPU DOD controller` 即可。不需要提前下载驱动。 ![virtio-gpu-1](https://github.com/user-attachments/assets/503e1d82-4fa9-4486-917e-73326ad7c988) ![virtio-gpu-2](https://github.com/user-attachments/assets/bf3a9af6-13d8-4f93-9d6c-d3b2dbddb37d) ![virtio-gpu-3](https://github.com/user-attachments/assets/a9006a78-838f-45bf-a556-2dba193d3c03)

讨论

GitHub Issues Telegram Group

如何修改脚本自用

  1. Fork 本仓库
  2. 修改 reinstall.shreinstall.bat 开头的 confhomeconfhome_cn
  3. 修改其它代码

感谢

Github Sponsors

感谢以下商家提供白嫖机器

Oracle Cloud DartNode