一键自动化重装操作系统(Linux / Windows)

官方文档:https://netboot.xyz/docs

亮点

  • 一键安装 Linux,支持 19 种常见发行版
  • 一键安装 Windows,使用官方 ISO 安装而非自制镜像,脚本会自动获取 ISO 链接、自动安装 Virtio 等常见驱动
  • 支持任意方向重装,即Linux to LinuxLinux to WindowsWindows to WindowsWindows to Linux
  • 无需填写 IP 参数,自动识别动静态,支持/32/128网关不在子网范围内纯 IPv6双网卡
  • 专门适配低配小鸡,比官方 netboot 需要更少的内存
  • 全程用分区表 ID 识别硬盘,确保不会写错硬盘
  • 支持 BIOS、EFI 引导,支持 ARM 服务器
  • 不含自制包,所有资源均实时从镜像源获得

系统要求

原系统可以是表格中的任意系统

目标系统的配置要求如下:

系统版本内存硬盘

Alpine
3.19, 3.20, 3.21, 3.22256 MB1 GB

Debian
9, 10, 11, 12, 13256 MB1 ~ 1.5 GB ^
Kali滚动256 MB1 ~ 1.5 GB ^
图片Ubuntu16.04 LTS – 24.04 LTS, 25.04512 MB *2 GB
图片Anolis7, 8, 23512 MB *5 GB

RHEL  
AlmaLinux  图片Rocky  图片Oracle
8, 9, 10 (如果有)512 MB *5 GB
图片OpenCloudOS8, 9, Stream 23512 MB *5 GB
图片CentOS Stream9, 10512 MB *5 GB

Fedora
41, 42512 MB *5 GB

openEuler
20.03 LTS – 24.03 LTS, 25.03512 MB *5 GB

openSUSE
Leap 15.6, Tumbleweed (滚动)512 MB *5 GB
图片NixOS25.05512 MB5 GB
图片Arch滚动512 MB5 GB
图片Gentoo滚动512 MB5 GB
图片安同 OS滚动512 MB5 GB

飞牛 fnOS
公测512 MB8 GB
图片Windows (DD)任何512 MB取决于镜像
图片Windows (ISO)Vista, 7, 8.x (Server 2008 – 2012 R2)512 MB25 GB
图片Windows (ISO)10, 11 (Server 2016 – 2025)1 GB25 GB

* 表示使用云镜像安装,非传统网络安装

^ 表示需要 256 MB 内存 + 1.5 GB 硬盘,或 512 MB 内存 + 1 GB 硬盘

Warning

❌ 本脚本不支持 OpenVZ、LXC 虚拟机

请改用https://github.com/LloydAsp/OsMutation

一、 项目核心定位与解决的需求

核心定位:一个纯净、高效、可高度自定义的服务器操作系统网络安装(Net-Reinstall)脚本。

它解决了什么痛点?

  1. 服务商自带系统不纯净:很多 VPS 服务商提供的模板系统可能预装了监控agent、推广软件或进行了其他修改。使用此脚本可以重装为一个绝对纯净的原版系统。
  2. 服务商不支持想要的系统:某些服务商可能不提供特定的 Linux 发行版(如 Alpine, Ubuntu 某特定版本)或特定版本的 Windows。此脚本可以突破这个限制。
  3. 批量快速部署:对于需要给大量服务器安装相同配置系统的场景,自动化脚本比手动点击效率高无数倍。
  4. 救援与重装:当服务器系统崩溃无法启动时,可以通过 VNC/IPMI 等方式进入救援模式,使用此脚本重新安装系统。

二、 主要功能与特点

  1. 支持广泛的系统
  • Linux:主流的发行版几乎全部支持,如 Debian, Ubuntu, CentOS, AlmaLinux, Rocky Linux, Fedora, Oracle Linux, Kali Linux, Arch Linux 等。
  • Windows:支持 Windows 7, 8, 10, 11 和 Windows Server 系列。这是非常罕见且强大的功能,通常需要自己提供镜像链接。
  • 其他:甚至支持一些轻量级或小众系统,如 Alpine Linux, OpenWrt, Tiny Core Linux 等。
  1. 高度自定义安装
  • 纯净官方源:默认使用各Linux发行版的官方镜像源,保证系统纯净。
  • 自定义密码:可以预设 root 用户密码或普通用户密码。
  • 自定义端口:可以预设 SSH 端口号,增强安全性或满足特定需求。
  • 自定义分区:支持在安装时使用自定义的分区方案(如-p参数)。
  • 静态IP配置:对于内网环境或无DHCP的环境,可以预先配置好静态IP地址、网关和DNS。
  1. 使用方便,一键执行
  • 通常只需要一行命令,通过-v指定版本号,-p设置密码等参数,即可开始全自动安装。
  • 示例:bash <(wget --no-check-certificate -qO- 'https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh') -p 123456 -v 11(安装 Debian 11, root 密码为 123456)
  1. 技术支持丰富
  • 支持多种虚拟化技术(VirtIO, SCSI, NVMe)的磁盘驱动,兼容性好。
  • 支持在多种架构上运行(如 x86_64, ARM64)。
  • 提供详细的安装日志,方便排查问题。

三、 工作原理简介

这个脚本的工作原理是基于Linux 网络安装(Netboot)QEMU/KVM等技术,其大致流程如下:

  1. 引导一个小型救援系统:脚本首先会下载并引导一个极简的 Linux 系统(如 Alpine Linux)到内存中运行。这个系统独立于你原来的硬盘。
  2. 准备安装环境:在内存中的救援系统里,脚本会下载必要的工具和目标系统的安装镜像。
  3. 配置安装参数:根据你提供的命令参数(密码、端口、IP等),脚本会生成自动应答文件(如 preseed.cfg for Debian/Ubuntu, kickstart.cfg for Red Hat系),实现安装过程无人值守。
  4. 执行安装:使用qemu-system-x86_64等工具,模拟一个虚拟机环境,将目标系统安装到真实的物理硬盘上。这个过程会格式化原有硬盘。
  5. 重启进入新系统:安装完成后,脚本会自动重启服务器,并从硬盘启动全新的系统。

四、 使用方法(简要)

极度警告:此脚本会完全擦除你的服务器硬盘数据!请确保数据已备份!并在非生产环境测试后再使用!

  1. 通过 SSH 连接到你的服务器(VPS)
  2. 获取 root 权限sudo -i或直接以 root 用户登录。

下载并执行脚本(以安装 Debian 12 为例):

3. 

# 最基本用法,安装最新的 Debian,密码为 123456
bash <(wget --no-check-certificate -qO- 'https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh') -d 12 -p 123456

# 更多自定义示例:安装 Ubuntu 22.04, 密码 123456, 端口 2222
bash <(wget --no-check-certificate -qO- 'https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh') -u 22.04 -p 123456 -port 2222
  1. 等待脚本自动运行,期间服务器会重启。安装时间取决于系统大小和网络速度。
  2. 使用新密码和端口通过 SSH 重新连接服务器。

常用参数:

  • -d: 安装 Debian
  • -u: 安装 Ubuntu
  • -c: 安装 CentOS
  • -v: 指定版本号 (如11,22.04)
  • -p: 设置 root 密码
  • -port: 设置 SSH 端口
  • -a: 自动模式(使用所有默认设置)
  • -mirror: 自定义镜像源

使用-h参数可以查看完整的帮助信息。


五、 适用场景与用户

  • VPS 玩家和个人用户:快速更换系统,尝试不同的 Linux 发行版。
  • 运维工程师:批量部署相同环境的测试机或生产服务器。
  • 网络安全人员:快速搭建和恢复测试环境(如 Kali Linux)。
  • 追求纯净系统的用户:摆脱服务商的定制系统。

六、 风险与注意事项

  1. 数据丢失风险脚本会格式化所有硬盘!执行前必须确认已备份所有重要数据。
  2. 服务商政策:部分 VPS 服务商可能不允许或会对频繁重装系统进行限制,请遵守服务商条款。
  3. 兼容性问题:虽然兼容性很好,但仍有极小的概率在某些特殊硬件或虚拟化平台上失败。
  4. 网络依赖:整个安装过程需要从网络下载镜像,如果服务器网络不稳定或镜像源速度慢,可能会导致安装失败或耗时很长。

总结来说bin456789/reinstall 是一个功能强大到令人惊叹的“瑞士军刀”,它极大地简化了服务器系统安装的流程,赋予了用户最大的灵活性和控制权。但正如所有强大的工具一样,使用它时必须保持谨慎,充分理解其背后的风险。

下载(当前系统是图片Linux)

国外服务器:

curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh || wget -O reinstall.sh $_

国内服务器:

curl -O https://cnb.cool/bin456789/reinstall/-/git/raw/main/reinstall.sh || wget -O reinstall.sh $_

下载(当前系统是图片Windows)

Important

请先关闭Windows Defender实时保护功能。该功能会阻止certutil下载任何文件。

解决 Windows 7 下无法下载脚本

国外服务器:

certutil -urlcache -f -split https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.bat

国内服务器:

certutil -urlcache -f -split https://cnb.cool/bin456789/reinstall/-/git/raw/main/reinstall.bat

使用

所有功能都可在 Linux / Windows 下运行

  • Linux 下运行bash reinstall.sh ...
  • Windows 下先运行cmd,再运行reinstall.bat ...
  • 如果参数中的链接包含特殊字符,要用""将链接包起来,不能用''

功能 1: 安装图片Linux

  • 用户名root默认密码123@@@
  • 安装最新版可不输入版本号
  • 最大化利用磁盘空间:不含 boot 分区(Fedora 例外),不含 swap 分区
  • 自动根据机器类型选择不同的优化内核,例如CloudHWE内核
  • 安装 Red Hat 时需填写https://access.redhat.com/downloads/content/rhel得到的qcow2镜像链接,也可以安装其它类 RHEL 系统,例如Alibaba Cloud LinuxTencentOS Server
  • 重装后如需修改 SSH 端口或者改成密钥登录,注意还要修改/etc/ssh/sshd_config.d/里面的文件

可选参数

  • --password PASSWORD设置密码
  • --ssh-key KEY设置 SSH 登录公钥,支持以下格式。当使用公钥时,密码为空
  • --ssh-key "ssh-rsa ..."
  • --ssh-key "ssh-ed25519 ..."
  • --ssh-key "ecdsa-sha2-nistp256/384/521 ..."
  • --ssh-key http://path/to/public_key
  • --ssh-key github:your_username
  • --ssh-key gitlab:your_username
  • --ssh-key /path/to/public_key
  • --ssh-key C:\path\to\public_key
  • --ssh-port PORT修改 SSH 端口(安装期间观察日志用,也作用于新系统)
  • --web-port PORT修改 Web 端口(安装期间观察日志用)
  • --frpc-toml /path/to/frpc.toml添加 frpc 内网穿透
  • --hold 2安装结束后不重启,此时可以 SSH 登录修改系统内容,系统挂载在/os(此功能不支持 Debian/Kali)

Tip

安装 Debian/Kali 时,x86 可通过商家后台 VNC 查看安装进度,ARM 可通过串行控制台查看安装进度。

安装其它系统时,可通过多种方式(SSH、HTTP 80 端口、商家后台 VNC、串行控制台)查看安装进度。
即使安装过程出错,也能通过 SSH 运行/trans.sh alpine安装到 Alpine。

实验性功能

ARM 安装 Windows 的注意事项

大部分 ARM 机器都支持安装最新版 Windows 11

安装过程可能会黑屏,串行控制台可能会显示ConvertPages: failed to find range,均不影响正常安装

兼容性云服务商实例类型问题
✔️AzureB2pts_v2
✔️阿里云g6r, c6r
✔️阿里云g8y, c8y, r8y有几率重启时卡开机 Logo,强制重启即可
✔️AWST4g
✔️ScalewayCOPARM1
✔️Gcore
甲骨文云A1.Flex不一定能安装成功,越新创建的实例越容易成功
安装后还需要手动加载显卡驱动
谷歌云t2a缺少网卡驱动

甲骨文云加载显卡驱动

图片
图片
图片

如何修改脚本自用

  1. Fork 本仓库
  2. 修改reinstall.shreinstall.bat开头的confhomeconfhome_cn
  3. 修改其它代码

暂无介绍....

延伸阅读:

前端必看:比 js 快几十倍的前端语言来了

当我们聊前端,第一反应肯定是 JavaScript。无论是操作 DOM、调用 API,还是开发复杂的应用,JS 一直是前...

guozhiman
2025年9月9日
一键自动化重装操作系统(Linux / Windows)

官方文档:https://netboot.xyz/docs亮点一键安装 Linux,支持 19 种常见发行版一键安装 W...

guozhiman
2025年9月3日
VMware ESXi 7.0和vCenter Server 7.0安装部署

组件介绍:1、VMware ESXi 7.0VMware ESXi 是 VMware 推出的一种裸金属虚拟化管理程序,可...

guozhiman
2025年7月21日
免费为WordPress网站配置CDN,CloudFlare配置2种WP专属CDN缓存

本篇文章使用免费的Cloudflare为WordPress网站配置CDN,通过不同的CDN设置以适应B2B展示型网站和B...

guozhiman
2025年7月21日
Mysql不行了!!?PostgreSQL成主流!

早在 Stack Overflow  2024 年开发者调查报告中,PostgreSQL 已经取代了 MySQ...

guozhiman
2025年7月16日