在 VPS 运维中,系统重装往往涉及繁琐的手动分区、网络配置和引导安装,容易出错尤其是低配机或特殊网络环境。一键脚本 reinstall 通过 Shell 实现零交互全自动化,核心优势在于自动检测提供商、下载官方 DD 镜像或 ISO、分区格式化、GRUB 引导以及网络自适应配置,支持从 Linux 到 Windows 任意方向切换,适用于内存低至 256MB 的小鸡服务器。
脚本的关键机制是分区表 ID 识别硬盘,避免写错盘;智能 IP 设置处理 / 32 子网、纯 IPv6、网关不在子网等边缘场景。例如,在静态 IP VPS 上,重装后无需手动 ifcfg 或 netplan 编辑,即可直连 SSH。“支持任意方向重装,即 Linux to Linux、Linux to Windows、Windows to Windows、Windows to Linux”,这得益于脚本实时从镜像源拉取资源,无自制包风险。
实际落地时,先备份数据 —— 脚本会擦除整个硬盘。然后根据当前 OS 下载:
Linux VPS:
# 国外
curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh && bash reinstall.sh ubuntu 24.04
# 国内
curl -O https://cnb.cool/bin456789/reinstall/-/git/raw/main/reinstall.sh && bash reinstall.sh debian 12
Windows VPS(先关 Windows Defender 实时保护):
certutil -urlcache -f -split https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.bat
reinstall.bat windows --image-name "Windows 11 Pro" --lang zh-cn
支持 19 种 Linux:Alpine 3.203.23(256MB)、Debian 913、Ubuntu 16.0425.10、RHEL/AlmaLinux/Rocky/Oracle 810、CentOS Stream 910、Fedora 4243、Arch/Gentoo 等。Windows 从 Vista 到 11/Server 2025,自动注入 VirtIO/XEN/AWS 等云驱动。
核心参数清单(提升可控性):
--password <pwd>/--ssh-key <pubkey>:root/administrator 登录凭证,支持 GitHub 用户名拉公钥。--ssh-port <port>/--web-port <port>:安装期监控 SSH/HTTP 进度。--hold 1:仅进安装环境,测试网络不执行重装。--hold 2:安装 / DD 后不重启,SSH 进 /target 或 /os 修改。- DD 模式:
bash reinstall.sh dd --img "https://example.com/win11.raw.xz",自动扩展分区。 - Windows ISO:
--iso <url>/--add-driver <inf>自定义镜像 / 驱动;--allow-ping开 Ping 防火墙。 - 内网穿透:
--frpc-toml <path/url>添加 frpc。
分步操作模板(Debian 12 示例):
- wget 脚本,
chmod +x reinstall.sh。 bash reinstall.sh debian 12 --password MyPass123 --ssh-port 2222。- 监控:SSH 新端口观察日志,或商家 VNC / 串口。
- 重装完~10-30min,直连原 IP:22 root/MyPass123。
- 验证:
ip a查网络、df -h看分区(最大化根分区,无 boot/swap)。
风险监控与回滚策略:
- 坑 1:低内存机用 Alpine/Debian,云镜像
--ci加速。 - 坑 2:ARM 机 Windows 黑屏正常,甲骨文云手动选 VirtIO GPU 驱动。
- 坑 3:GCP 新 Windows ISO 反复重启,加
--force-boot-mode bios转 MBR。 - 救砖:安装中出错 SSH 进
trans.sh alpine转 Alpine 内存系统,手动分区 / DD。 - 回滚:netboot.xyz 模式
bash reinstall.sh netboot.xyz,VNC 手动选原 OS。 - 阈值:内存 <512MB 优先 Alpine;硬盘 < 5GB 避 RHEL 类;超时> 1h 查网络 /mirror。
生产中,集成到 CI/CD:预置脚本 + 参数 YAML,结合 Prometheus 监控重装时序(下载 5min、分区 2min、chroot 10min)。对比官方 netboot,reinstall 内存占用更低、IP 自适应强,尤其 IPv6 / 双栈场景零配置。
此脚本不只重装工具,更是运维自动化基石,结合 Ansible post-install playbook,实现 OS 级基础设施即代码。