买来的 VPS 常常带着服务商定制的系统镜像,或者面板里只提供几个老版本。想换成干净的系统、想装 Windows、想绕开重装次数限制,最直接的办法就是 DD 重装:把系统镜像直接写进硬盘,从网络完成重装。
这篇把几个主流脚本的用法、参数和坑整理在一起,按需取用。文中脚本均来自公开项目,版权归各自作者。
一、DD 到底是什么
dd 原本是 Unix 下复制和转换文件的命令,能把镜像按块写入磁盘。所谓「一键 DD」,就是用脚本自动完成下载镜像、写入磁盘、配置网络、设置密码这一整套流程,你只需要执行一行命令。
它和面板重装的区别在于:不依赖服务商的系统模板,装什么系统、什么版本、什么密码端口,全由你决定。
二、动手前的三个硬条件
| 条件 | 说明 |
|---|---|
| 必须是 KVM 虚拟化 | OpenVZ / LXC 架构没有独立内核,DD 一定失败。用 systemd-detect-virt 可以查当前虚拟化类型 |
| 必须能进 VNC 或救援模式 | DD 过程中 SSH 会断开,出问题时只能靠 VNC 看屏幕 |
| 必须做好备份 | DD 会清空整块硬盘,数据无法恢复,先确认没有要留的东西 |
耗时通常在 5 到 20 分钟,主要取决于下载镜像的速度和磁盘性能。国内机器从国外源拉镜像会非常慢,解决办法是指定国内镜像源。
三、几个脚本怎么选
| 脚本 | 适合场景 | 特点 |
|---|---|---|
| 萌咖 InstallNET | 经典首选 | 直接从官方源拉取,参数清晰,支持自定义密码、端口、镜像源 |
| 秋水逸冰 (teddysun/across) | CentOS 7 源系统 | 修复了萌咖脚本在 CentOS 7 下的 grub 报错,支持 DD Windows 镜像 |
| leitbogioro/Tools | 小内存、多系统互装 | 支持 RedHat 系新系统,小内存机型自动化更稳,grub1/grub2 处理较完善 |
| CXT (MeowLove) | 想要最少参数 | 两步命令即可,对新手友好,装完记得改密码 |
| BETA.GS | 国内机器访问不了 GitHub | 多合一,带国内分流 |
下面重点讲前三个,其余按官方文档操作即可。
四、萌咖 InstallNET
基本命令
bash <(wget --no-check-certificate -qO- 'https://moeclub.org/attachment/LinuxShell/InstallNET.sh') \
-d 11 -v 64 -a -p 你的密码 -port 端口号注意:URL 外面不要加尖括号 < >,加了会报错,这是很多人第一次失败的原因。
参数说明
| 参数 | 作用 | 示例 |
|---|---|---|
-d | 安装 Debian,后接版本号 | -d 11 |
-c | 安装 CentOS,后接版本号 | -c 7 |
-v | 系统位数 | -v 64 |
-a | 自动安装,无人值守 | -a |
-p | 自定义 SSH 密码 | -p MyPass123 |
-port | 自定义 SSH 端口(1-65535) | -port 24000 |
--mirror | 指定镜像源,国内机器必加 | --mirror 'https://mirrors.huaweicloud.com/debian/' |
--ip-addr / --ip-gate / --ip-mask | 静态 IP 机房需要手动指定 | 用 ifconfig / route -n 查到的值 |
-firmware | 加载额外硬件驱动,老机器用得上 | -firmware |
国内机器换源
国内机器直连 Debian 官方源经常几 KB/s,加一个 --mirror 就快很多,优先选云厂商的源:
bash <(wget --no-check-certificate -qO- 'https://moeclub.org/attachment/LinuxShell/InstallNET.sh') \
-d 11 -v 64 -a \
--mirror 'https://mirrors.huaweicloud.com/debian/' \
-p 你的密码 -port 24000常用的还有 mirrors.cloud.tencent.com/debian/、mirrors.aliyun.com/debian/、mirrors.ustc.edu.cn/debian/。
五、秋水逸冰版
基于萌咖脚本修改,用法基本一致,主要解决了 CentOS 7 作为源系统时的 Error! Not Found grub. 报错。
bash <(wget --no-check-certificate -qO- 'qiu.sh/dd') \
-d 11 -v 64 -a \
--mirror 'http://mirrors.cloud.tencent.com/debian/' \
-p 你的密码 -port 24000DD 自定义镜像(可装 Windows)
参数换成 -dd 加镜像地址,支持 .gz 和 .xz 格式:
wget -qO DebianNET.sh qiu.sh/dd
bash DebianNET.sh -dd "镜像下载地址"作者的 Windows 镜像可以在项目页找到。注意 Windows 镜像必须是专门制作的 DD 包,普通 ISO 不能用。
六、leitbogioro 版
在萌咖基础上重写了不少逻辑,支持 RedHat 系新系统,小内存机型更稳。
安装依赖
# Debian / Ubuntu
apt update -y
apt install xz-utils dnsutils wget file efibootmgr -y
# CentOS / AlmaLinux / RockyLinux / Fedora
yum update --allowerasing -y
yum install xz dnsutils wget file efibootmgr -y下载并执行
wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh'
chmod a+x InstallNET.sh
bash InstallNET.sh -debian 11 -pwd 你的密码 -port 24000常用参数
| 参数 | 说明 |
|---|---|
-debian / -ubuntu | 指定系统与版本,如 -debian 11、-ubuntu 20.04 |
-centos / -almalinux / -rockylinux / -fedora | RedHat 系系统 |
-pwd | SSH 密码,不填默认 LeitboGi0ro |
-port | SSH 端口,默认 22 |
-mirror | 镜像源地址,选离机器近的 |
-filetype | DD 包后缀不是 .gz/.xz 时手动指定 |
--dhcp-static | 静态 IP 机器需要加 |
-version | 指定架构,一般不用填,脚本会自动识别 |
小内存机型注意
- 内存低于 768M 时,不要加
-firmware,否则重启后进不了安装界面。 - 256M 以上的机器即使进入低内存模式也能自动装完,比原版脚本省心。
- RedHat 8 要求 2.5G 内存、RedHat 9 要求 2G,达不到会装到一半崩掉。
七、通用注意事项
- 先备份。DD 等于格式化硬盘,没有回收站。
- 装完立刻改密码。默认密码是公开的,不改就是等着被爆破。
- 建议用 Debian 做源系统。CentOS 7 已停止维护,兼容问题也更多;Debian 9 以上基本都能顺利 DD。
- 避开晚高峰(20:00-24:00)。国内机器尤其明显,失败率会上升。
- 失败就重来。DD 不是百分百成功,换时间点或换源系统多试几次,通常能过。
- 改 SSH 端口。
-port填一个 10000 以上的端口,能挡掉大量扫描。
八、常见问题
| 现象 | 可能原因与处理 |
|---|---|
报 Not Found grub | 源系统是 CentOS 7 且用了原版萌咖脚本,换秋水版或 leitbogioro 版 |
| 下载镜像卡住不动 | 国外源太慢,加 --mirror 换国内源后重来 |
| 装完连不上 SSH | 先确认端口和密码;再进 VNC 看系统是否真的起来了 |
| 进不去系统,卡在 grub | 多为多系统互装导致,优先用 leitbogioro 版重装 |
| 内存小于 512M 装 Debian 11 失败 | 先装低版本(Debian 9/10)再手动升级 |
提示找不到 xz 或 efibootmgr | 按上面「安装依赖」先补齐 |
九、小结
求稳就用萌咖或秋水,国内机器记得加 --mirror;小内存、要装 RedHat 系或多次互装,用 leitbogioro 更省事。命令本身不复杂,真正决定成败的是源系统版本、镜像源速度和是否 KVM。
最后提醒一句:DD 有风险,动手前确认数据已经备份,并且手边有 VNC 能进得去。脚本均来自公开项目,使用前建议先读一遍脚本内容。