系统重装一键脚本 bin456789/reinstall
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 分区
- 自动根据机器类型选择不同的优化内核,例如
Cloud
、HWE
内核 - 安装
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 系统就在你眼前了。