Daimon's Blog
主页 归档 关于 RSS 探针 常用工具
主页
归档
关于
RSS
探针
常用工具

dd 系统全流程:把任何 VPS 重装成 Debian / Ubuntu / Windows / NixOS

daimon daimon 2026-05-21 #VPS#dd#Linux#Windows#重装系统

很多 VPS 商家给的系统选项有限,或者你想要 NixOS / Alpine / 自定义镜像,商家根本不提供。dd 系统就是解决这个问题的——直接把整个磁盘”覆盖”成你想要的系统镜像,不依赖商家的安装流程。

社区里最好用的方案是 bin456789/reinstall 这个脚本,几乎支持所有主流系统、所有主流架构,国内 dd 速度也很快。

一、dd 系统能做什么#

reinstall.sh 脚本提供 4 个核心功能:

功能用途
一键重装到 Linux / Windows把当前系统换成 Ubuntu / Debian / Arch / NixOS / Windows / 飞牛 fnOS 等
一键 DD 镜像直接覆盖一个 .img / .gz / .xz 镜像,常用于还原备份
一键启动 Alpine Live临时进入内存里的 Alpine(不修改硬盘)
一键启动 netboot.xyz网络启动菜单,VNC 里手动选择各种系统

💡 使用场景定位:脚本主要为 VPS 设计。如果你有独立服务器 + IPMI + U 盘,原生安装比 dd 稳;只有 VPS 时 dd 是最优解。

二、整体流程#

graph TD A[当前系统 SSH 登录] --> B[下载 reinstall.sh] B --> C[ufw 开放 7777 端口
用来看 dd 日志] C --> D[执行 bash reinstall.sh ubuntu 22.04] D --> E[脚本下载新系统镜像 + 注入] E --> F[显示新系统的用户名/密码/端口] F --> G[重启进入新系统安装阶段] G --> H{看进度} H -->|方式 1| H1[SSH 新端口连接 看日志] H -->|方式 2| H2[浏览器访问 http://IP:7777] H -->|方式 3| H3[厂商 VNC 控制台] H --> I[10-30 分钟后安装完成 自动重启] I --> J[新系统 SSH 可登录]

三、操作步骤#

3.1 下载脚本#

Terminal window
1
# 国外网络
2
curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh \
3
|| wget -O reinstall.sh https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh
4
5
# 国内网络(cnb 镜像)
6
curl -O https://cnb.cool/bin456789/reinstall/-/git/raw/main/reinstall.sh \
7
|| wget -O reinstall.sh https://cnb.cool/bin456789/reinstall/-/git/raw/main/reinstall.sh

3.2 开放日志端口(强烈推荐)#

Terminal window
1
# ufw
2
ufw allow 7777
3
4
# 或 iptables
5
iptables -A INPUT -p tcp --dport 7777 -j ACCEPT

⚠️ 端口 7777 必须没有其它服务占用,否则日志页面会被原服务接管。

3.3 执行 dd#

Terminal window
1
# 重装为 Ubuntu 22.04
2
bash reinstall.sh ubuntu 22.04 --web-port 7777
3
4
# 其它常用示例
5
bash reinstall.sh debian 12 --web-port 7777
6
bash reinstall.sh alpine --web-port 7777
7
bash reinstall.sh nixos --web-port 7777
8
bash reinstall.sh windows-11 --web-port 7777
9
bash reinstall.sh arch --web-port 7777

执行过程中会让你输入新系统的密码,建议用强密码(16 位以上,带特殊字符)。

3.4 看最后的总结信息#

脚本执行完会输出一段总结,这段信息务必截图保存或复制到记事本:

1
新系统: Ubuntu 22.04
2
用户名: root
3
密码: <你刚输入的>
4
SSH 端口: 22
5
IP: <你的 VPS IP>
6
查看日志: http://<IP>:7777

🪤 没记下来 = 重新 dd。新系统的端口、密码可能和你原系统不同,没记下来连不上只能再来一遍。

3.5 触发重启(脚本自动)#

脚本会自动 reboot。重启之后原系统就消失了,进入 dd 安装阶段。

四、查看 dd 进度的 3 种方式#

dd 过程中至少要等 1 分钟才能看到日志(前 1 分钟在初始化)。

方式 1:SSH 看日志#

端口和密码用 dd 之后的(不是原系统的):

Terminal window
1
ssh root@<VPS_IP>
2
# 输入新密码
3
# 进入后能看到 reinstall 的进度

方式 2:浏览器看日志#

直接访问:

1
http://<VPS_IP>:7777

页面会显示 reinstall 实时日志。这是最省事的方式。

方式 3:厂商 VNC / Serial Console#

阿里云、腾讯云、AWS 等都提供 Web VNC 或 Serial Console,能看到 dd 阶段的真实终端输出。卡住不动时,这是唯一能”看到机器在干什么”的方式。

五、dd 后的验证#

dd 完成后机器会自动 reboot 到新系统。给它至少 5 分钟(首次启动可能慢),然后:

Terminal window
1
# 用新端口 + 新密码 ssh
2
ssh root@<VPS_IP>
3
# 或者改了端口
4
ssh -p <新端口> root@<VPS_IP>
5
6
# 确认系统
7
cat /etc/os-release
8
uname -r

接下来就是新系统的标准配置——SSH 密钥、ufw、fail2ban、BBR,参考 VPS 基础配置那篇。

六、踩坑清单#

6.1 dd 后连不上#

按这个顺序排查:

检查命令 / 动作
IP 没变?在厂商面板确认
端口对不对?dd 默认 22;如果原系统是 64400,新系统不会继承
密码对不对?用你 dd 时输入的,不是原系统的
等够 5 分钟没?首次启动慢
防火墙挡了?厂商有「安全组」概念的(阿里/腾讯/AWS),去面板看入站规则

实在不行,用厂商 VNC 进去。

6.2 阿里云 / 腾讯云轻量服务器 dd 后被挂起#

部分云厂商的轻量实例有系统盘校验机制,dd 之后可能直接被判定为”系统损坏”挂起。dd 之前先看看自己 VPS 的 review / 帖子有没有人成功 dd 过。

6.3 dd 失败回不去原系统#

⚠️ dd 是一个不可逆操作。脚本失败后原系统也回不去了,只能:

  1. 用厂商面板”重装系统”功能回滚到原镜像
  2. 或者再次 dd 到你想要的系统

所以 dd 前必须先备份重要数据!

6.4 网卡名 / 磁盘名变了#

dd 后网卡可能从 eth0 变成 ens18 / enp0s3 等。如果你之前的服务里硬编码了网卡名(比如自建 BBR、流量监控),都要更新。

6.5 内核版本和模块#

某些云厂商的 VPS 用了定制内核,dd 后用社区内核可能缺驱动(比如 virtio 模块)。一般 reinstall 脚本会处理,但极端情况下可能导致网卡不工作——这时只能 VNC 进去手动装内核模块。

七、Windows VPS 特殊事项#

dd 成 Windows 后:

  • 默认 RDP 端口 3389(不是 22)
  • 默认管理员账户 Administrator
  • 密码就是你 dd 时输入的
  • 首次启动需要 5-15 分钟(要跑 sysprep、初始化、激活流程)

连接:

Terminal window
1
# Windows 用自带 RDP
2
mstsc
3
# 输入: <VPS_IP>
4
5
# Mac / Linux 用 Microsoft Remote Desktop / FreeRDP

💡 内存 < 1G 的 VPS 不建议跑 Windows,会卡到怀疑人生。

八、备份镜像 / 还原#

reinstall 脚本支持 dd 任意镜像文件,可以用来:

Terminal window
1
# dd 自定义镜像(先把镜像放到一个 HTTP 可访问的地方)
2
bash reinstall.sh dd --img https://example.com/your.img.gz

这个能力 + 一个自己的对象存储 = 个人 VPS 镜像备份/恢复链路。

九、几条实用经验#

  • dd 前先把 SSH 公钥、订阅链接、配置文件这些重要数据备份到本地或对象存储。
  • 务必开 --web-port,浏览器看日志比 SSH 香太多。
  • 第一次 dd 选择熟悉的系统(Ubuntu/Debian),不要拿 NixOS / Arch 这种学习曲线陡的练手。
  • 小内存 VPS(< 512M)dd 时容易爆内存,可以加 swap 后再 dd。
  • 国内 VPS dd 国外镜像 优先用国内 cnb 镜像源拉脚本,能省不少时间。

dd 是 VPS 玩家的核心技能之一,跑通一次之后你会发现:商家给你什么系统已经不重要了——你想跑什么就跑什么。

VPS 到手第一件事:基础配置 + 安全加固 + BBR 一条龙
SSH 安全登录终极配置:从密钥生成到 fail2ban
本博客所有文章除特别声明外,均遵循 CC BY-NC-SA 4.0 协议,转载请注明出处。
博客框架 Astro & Fuwari
冀ICP备20260167号
1
一、dd 系统能做什么
2
二、整体流程
3
三、操作步骤
3.1 下载脚本
3.2 开放日志端口(强烈推荐)
3.3 执行 dd
3.4 看最后的总结信息
3.5 触发重启(脚本自动)
4
四、查看 dd 进度的 3 种方式
方式 1:SSH 看日志
方式 2:浏览器看日志
方式 3:厂商 VNC / Serial Console
5
五、dd 后的验证
6
六、踩坑清单
6.1 dd 后连不上
6.2 阿里云 / 腾讯云轻量服务器 dd 后被挂起
6.3 dd 失败回不去原系统
6.4 网卡名 / 磁盘名变了
6.5 内核版本和模块
7
七、Windows VPS 特殊事项
8
八、备份镜像 / 还原
9
九、几条实用经验