摘要:reinstall[1] 是一个纯 Bash 脚本,通过一条命令即可把正在运行的 VPS、物理机或虚拟机,原地重装成任意主流 Linux 发行版、Windows Server、甚至 macOS。
代码蜂巢X
你是否厌倦了为不同系统准备多个启动盘?
reinstall[1] 是一个纯 Bash 脚本,通过一条命令即可把正在运行的 VPS、物理机或虚拟机,原地重装成 任意主流 Linux 发行版、Windows Server、甚至 macOS。
无需救援模式、无需 iKVM、无需 ISO,真正实现了“云原生”式重装。
1. 登录云厂商后台,切换到救援模式;2. 上传或挂载 ISO;3. 手动分区、等待安装;4. 再切回正常模式,重新配置网络。流程繁琐、耗时且容易出错,尤其当机器位于海外机房时,每一步都在“烧”钱包。reinstall 通过 网络引导 + Cloud-init + 无人值守应答文件 的组合,把上述步骤压缩成一条命令,10 分钟内完成系统切换。
• 跨平台:支持 Debian/Ubuntu、CentOS/RHEL、Rocky/Alma、Arch、openSUSE、Windows Server 2012-2022、macOS(OpenCore)等 20+ 版本。• 零依赖:仅需 curl 或 wget,纯 Bash,不装额外软件。• 云/裸机通吃:KVM、Xen、VMware、Hyper-V、Hetzner、OVH、阿里云、腾讯云、Oracle Cloud 实测通过。• 自动配置:自动识别网络(DHCP/静态)、生成 Cloud-init / unattend.xml,重装后 SSH 即刻可连。• 安全可审计:脚本完全开源,所有下载链接、校验值一目了然,可本地 fork 自行签名。• 回滚友好:支持 --hold 参数,安装失败后自动回到原系统,不丢数据。1. 链式启动原理脚本首先检查当前系统架构与引导方式(BIOS / UEFI),然后:• 在 /boot 或 EFI 分区写入 GRUB 条目;• 通过 HTTP 拉取对应系统的 initrd + kernel + 应答文件;• 重启后进入 netboot.xyz 或 iPXE 流程,执行无人值守安装。2. Cloud-init / unattend.xml 自动化• Linux:动态生成 user-data & meta-data,默认新建拥有 sudo 权限的 reinstall 用户;• Windows:根据模板生成 unattend.xml,自动分区、启用 RDP、关闭密码复杂度策略。3. 镜像缓存与校验
所有镜像均取自官方 CDN,支持 SHA256 校验;脚本内置 --mirror 参数,可改成清华/中科大源,国内下载速度翻倍。4. UEFI Secure Boot 兼容
通过 shim + MOK 方式签名内核,确保在开启 Secure Boot 的云服务器上也能正常启动。
chmod +x reinstall.sh2. 一键重装# 例:重装为 Ubuntu 22.04
sudo ./reinstall.sh --ubuntu 22.04
# 例:重装为 Windows Server 2022 中文版,启用 RDP
sudo ./reinstall.sh --windows 2022 --lang zh-cn --rdp3. 高级用法• 指定密码:--password 'P@ssw0rd'• 自定义镜像:--image https://your.cdn.com/centos.qcow2• 保留原分区:--keep-partition
完整参数:./reinstall.sh --help
• 海外 VPS 降本:将按小时计费的 Ubuntu 20.04 实例快速切换为 Windows,用于临时跑 EXE 程序,跑完再切回 Linux,节省授权费用。• 裸机批量部署:机房 200+ 台服务器需统一升级到 Rocky 9,使用 Ansible 批量执行 reinstall,平均 8 分钟/台。• 开发机恢复:误删 glibc 导致系统无法启动,救援模式也进不去,直接 reinstall 重装相同版本,10 分钟后 SSH 恢复,数据盘无损。更多场景与踩坑记录,可参考仓库 Issues[2] 与 Discussions[3]。
[1] reinstall: https://github.com/bin456789/reinstall
[2] Issues: https://github.com/bin456789/reinstall/issues
[3] Discussions: https://github.com/bin456789/reinstall/discussions
来源:代码蜂巢x一点号
免责声明:本站系转载,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容!
