这个脚本我自己用得挺好的,所以就整理了这篇文章,希望可以帮助到有需要的人。

reinstall.sh 是目前社区中功能最全面的一键重装脚本之一,支持将 VPS 或物理服务器重装为 19 种 Linux 发行版,也支持重装 Windows、DD Raw 镜像、引导到 Alpine Live OS 或 netboot.xyz 等高级用法。本文主要介绍最常用的场景——一键重装到干净的 Linux 系统。

项目地址:https://github.com/bin456789/reinstall


1. 为什么要先重装系统?

你刚买到的 VPS,虽然系统看起来能用,但其实可能存在不少隐藏问题:

  • 被服务商预装了监控程序;
  • 配置混乱,运行不稳定,容易出故障;
  • 软件版本老旧,甚至存在安全风险。

尤其是当你打算部署某些特定服务时,如果系统不干净,很可能会被服务商识别为异常使用,从而触发风控、封号,甚至停机处理。

所以最稳妥的做法就是:先重装一个干净、安全、能完全控制的系统环境。


2. 为什么选这个脚本?

相比其他同类脚本(如 debi.sh),reinstall.sh 有几个明显的优势:

  • 支持 19 种 Linux 发行版,不只是 Debian;
  • 自动配置 IP,智能判断动静态,支持 /32、/128、网关不在子网范围内、纯 IPv6 等复杂网络环境;
  • 专门适配低配 VPS,Debian/Alpine 最低只需 256MB 内存;
  • 自动根据机器类型选择优化内核(如 Cloud、HWE 内核);
  • 全程用分区表 ID 识别硬盘,确保不会写错盘;
  • 支持 BIOS、EFI 引导,也支持 ARM 服务器。

3. 系统要求

原系统可以是任意已支持的系统。目标系统的配置要求(节选常用部分):

目标系统版本最低内存最低硬盘
Alpine3.20 ~ 3.23256 MB1 GB
Debian9 ~ 13256 MB1 ~ 1.5 GB
Ubuntu16.04 ~ 25.10512 MB2 GB
AlmaLinux / Rocky / Oracle8 ~ 10512 MB5 GB
CentOS Stream9 ~ 10512 MB5 GB
Arch / NixOS / Gentoo滚动 / 最新512 MB5 GB
❌ 不支持 OpenVZ、LXC 虚拟机,请改用 OsMutation

4. 下载脚本

国外服务器:

curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh

国内服务器:

curl -O https://cnb.cool/bin456789/reinstall/-/git/raw/main/reinstall.sh

5. 一键重装 Linux

⚠️ 此功能会清除整个硬盘的全部数据(包含其它分区)!如果不小心运行了,可以在重启前执行 bash reinstall.sh reset 取消重装。

最简用法(安装 Debian 12):

bash reinstall.sh debian 12

脚本会提示输入 root 密码,不输入则使用随机密码。安装最新版可以不写版本号,例如 bash reinstall.sh debian

其他发行版示例:

bash reinstall.sh alpine 3.23
bash reinstall.sh ubuntu 24.04
bash reinstall.sh rocky 10
bash reinstall.sh centos 10
bash reinstall.sh arch

常用可选参数

参数说明
--password PASSWORD设置 root 密码
--ssh-key KEY设置 SSH 公钥登录(使用公钥时密码为空)
--ssh-port PORT修改 SSH 端口(安装期间和新系统均生效)
--hold 1仅重启到安装环境,不执行安装(用于验证网络连通性)
--hold 2安装结束后不重启(用于 SSH 登录修改系统内容)

SSH 公钥支持多种格式: 可以直接粘贴公钥字符串,也可以填写 HTTP 链接、本地文件路径,或者 github:用户名gitlab:用户名 自动拉取。

带参数的完整示例

bash reinstall.sh debian 12  --ssh-port 10000 --password 'YourStrongPassword'

6. 查看安装进度

重启后,系统会进入安装环境,你可以通过以下方式查看进度:

  • SSH:用你设置的端口连接 VPS IP;
  • 浏览器:直接访问 http://VPS_IP(默认 80 端口,或通过 --web-port 指定);
  • 商家后台 VNC串行控制台

即使安装过程出错,也能通过 SSH 连接手动救砖。


7. 注意事项

  • 重装后如需修改 SSH 端口或改成密钥登录,注意还要检查 /etc/ssh/sshd_config.d/ 目录下的配置文件;
  • 脚本会最大化利用磁盘空间:不含 boot 分区(Fedora 例外),不含 swap 分区;
  • 如果不小心运行了脚本,重启前执行 bash reinstall.sh reset 即可取消。

8. 其他功能

除了重装 Linux,这个脚本还支持以下用法,有需要的可以参考项目 README:

  • 一键重装 Windows:使用官方原版 ISO,自动安装 VirtIO 等驱动,支持 Vista ~ 11 / Server 2008 ~ 2025;
  • DD Raw 镜像到硬盘:支持 raw、vhd 格式,支持 gz/xz/zst 压缩;
  • 引导到 Alpine Live OS:不破坏原系统,用于手动备份、分区等操作;
  • 引导到 netboot.xyz:通过 VNC 手动安装更多系统。

9. GitHub 仓库

项目主页:https://github.com/bin456789/reinstall