bin456789/reinstall 是 Dazeng 超喜欢的一款系统重装脚本,可以方便的将 vps 操作系统在各个 linux 系统之间切换,甚至是在 Linux 与 Windows 之间切换。

重装系统的 DD 脚本还是挺多的,这些脚本的核心命令欧式 DD,什么是DD 呢,简单介绍一下:

dd 命令是 Unix 和 Linux 系统中一个非常强大的工具,用于转换和复制文件。它可以用来备份和恢复磁盘或分区、创建和修改文件系统、以及进行各种数据操作。dd 命令的灵活性和强大功能使其在系统管理、数据恢复和安全领域中广泛使用,可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。

下面进入今天要介绍的脚本

脚本亮点

  • 一键安装 Linux,支持 17 种常见发行版
  • 一键安装 Windows,使用官方 ISO 安装而非自制镜像,脚本会自动获取 ISO 链接、自动安装 Virtio 等驱动
  • 支持任意方向重装,即 Linux to Linux、Linux to Windows、Windows to Windows、Windows to Linux
  • 无需填写 IP 参数,自动识别动静态,支持 /32、/128、网关不在子网范围内、纯 IPv6、双网卡 等特殊网络
  • 专门适配低配小鸡,比官方 netboot 需要更少的内存
  • 全程用分区表 ID 识别硬盘,确保不会写错硬盘
  • 支持 BIOS、EFI 引导,支持 ARM 服务器
  • 不含自制包,所有资源均实时从镜像源获得
  • 有很多注释

Dazeng 喜欢这款 DD 脚本,其实还有一个方面的原因:可以自定义密码,再不会因因为 DD 完忘记改密码而将服务器变成别人的肉鸡啦。

系统要求

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

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

目标系统 版本 内存 硬盘
 Alpine 3.18, 3.19, 3.20, 3.21 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
 Anolis 7, 8 512 MB * 5 GB
 Oracle 7, 8, 9 512 MB * 5 GB
 RedHat    AlmaLinux    Rocky 8, 9 512 MB * 5 GB
 OpenCloudOS 8, 9 512 MB * 5 GB
 CentOS 9, 10 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.11 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://jihulab.com/bin456789/reinstall/-/raw/main/reinstall.sh || wget -O reinstall.sh $_
  • 当前系统是 Windows

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

国外服务器:

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

国内服务器:

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

解决 Windows 7 下无法下载脚本

由于不支持 TLS 1.2、SHA-256、根证书没有更新等原因,Vista,7 和 Server 2008 (R2) 可能无法自动下载脚本,因此需要手动下载,具体操作如下:

用 IE 下载 (先在 IE 高级设置里启用 TLS 1.2),或者通过远程桌面,将这两个文件保存到同一个目录

使用时运行下载的 reinstall.bat

使用

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

  • Linux 下运行 bash reinstall.sh
  • Windows 下运行 .\reinstall.bat

安装 Linux

  • 用户名 root 默认密码 123@@@,也可以自定义,首次开机可能要等几分钟才能成功登录
  • 安装最新版可不输入版本号
  • 最大化利用磁盘空间:不含 boot 分区(Fedora 例外),不含 swap 分区
  • 自动根据机器类型选择不同的优化内核,例如 CloudHWE 内核
  • 安装 Red Hat 时需填写 https://access.redhat.com/downloads/content/rhel 得到的 qcow2 镜像链接
  • 重装后如需修改 SSH 端口或者改成密钥登录,注意还要修改 /etc/ssh/sshd_config.d/ 里面的文件
bash reinstall.sh anolis      7|8
                  rocky       8|9
                  redhat      8|9   --img='http://xxx.com/xxx.qcow2'
                  almalinux   8|9
                  opencloudos 8|9
                  centos      9|10
                  oracle      7|8|9
                  fedora      40|41
                  nixos       24.11
                  debian      9|10|11|12
                  openeuler   20.03|22.03|24.03
                  alpine      3.18|3.19|3.20|3.21
                  opensuse    15.5|15.6|tumbleweed
                  ubuntu      16.04|18.04|20.04|22.04|24.04 [--minimal]
                  kali
                  arch
                  gentoo

可选参数

--password PASSWORD 设置密码

--ssh-port PORT 修改 SSH 端口(安装期间观察日志用,也用于新系统)

--web-port PORT 修改 Web 端口(安装期间观察日志用)

--hold 2 安装结束后不重启,此时可以 SSH 登录修改系统内容,系统挂载在 /os (此功能不支持 Debian/Kali)

ℹ️ 安装 Debian/Kali 时,x86 可通过后台 VNC 查看安装进度,ARM 可通过串行控制台查看安装进度。安装其它系统时,可通过多种方式(SSH、HTTP 80 端口、后台 VNC、串行控制台)查看安装进度。

即使安装过程出错,也能通过 SSH 运行 /trans.sh alpine 安装到 Alpine。

安装 Windows ISO

  • 用户名 administrator 默认密码 123@@@,也可以自定义
  • 如果远程登录失败,可以尝试使用用户名 .\administrator
  • 静态机器会自动配置好 IP,可能首次开机几分钟后才生效
  • 支持所有语言

支持的系统

  • Windows (Vista ~ 11)
  • Windows Server (2008 ~ 2025)
    • Windows Server Essentials *
    • Windows Server (Semi) Annual Channel *
    • Hyper-V Server *
    • Azure Stack HCI *

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

通常情况下 Windows 每个月都会发布新的官方 ISO,集成了最新的系统补丁,避免了刚安装好系统就要下载一堆补丁。

脚本会从 https://massgrave.dev/genuine-installation-media 查找 ISO,该网站收录了每月发布的 ISO,因此脚本查找到的 ISO 都是官方最新版

上面带 * 的系统不支持自动查找 ISO


bash reinstall.sh windows \
     --image-name 'Windows 11 Enterprise LTSC 2024' \
     --lang zh-cn

方法 2: 自行指定 ISO 连接

如果不知道 --image-name,可以随便填,在重启后连接 SSH,根据错误提示重新输入正确的值

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'

可选参数

--password PASSWORD 设置密码

--allow-ping 允许被 Ping

--rdp-port PORT 更改 RDP 端口

--ssh-port PORT 修改 SSH 端口(安装期间观察日志用)

--web-port PORT 修改 Web 端口(安装期间观察日志用)

--hold 2 在进入 Windows 官方安装程序之前,可以 SSH 登录修改硬盘内容,硬盘挂载在 /os


更多功能请参照项目地址:https://github.com/bin456789/reinstall

脚本功能强大,Dazeng 经常用的就是在 Linux 系统下重装 Debian12,就一句命令:

apt install wget curl -y && curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh || wget -O reinstall.sh $_ && bash reinstall.sh debian

然后就是等待,快的十来分钟,慢的可能得半个小时甚至更多时间,然后一个全新的没有任何“杂质”的 debian 系统就在你眼前了。

更多重装系统脚本