Hotdry.
systems-engineering

一键VPS重装脚本reinstall:零交互OS切换与网络自适应配置

Shell脚本实现VPS零交互OS重装,支持Linux/Windows多发行版,自动IP配置、分区GRUB。给出下载、参数清单与救砖策略。

在 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 示例):

  1. wget 脚本,chmod +x reinstall.sh
  2. bash reinstall.sh debian 12 --password MyPass123 --ssh-port 2222
  3. 监控:SSH 新端口观察日志,或商家 VNC / 串口。
  4. 重装完~10-30min,直连原 IP:22 root/MyPass123。
  5. 验证: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 级基础设施即代码。

资料来源:
GitHub - bin456789/reinstall
Telegram 反馈群

查看归档