VPS 一键 DD 系统教程:Windows & Linux 重装指南
本教程旨在为广大VPS用户提供一份详尽的服务器操作系统“DD”指南。通过使用社区开发者提供的强大一键脚本,您可以轻松地将您的VPS重装为纯净版的 Windows 或各类 Linux 发行版(如 Ubuntu, Debian, CentOS 等)。
适用服务商范围
本教程中提到的方法理论上适用于绝大多数基于 KVM 或 XEN 虚拟化技术的VPS。以下是已记录或测试过的部分服务商:
- 国际云巨头: AWS EC2, AWS Lightsail, Google Cloud, Azure, Oracle Cloud (AMD/ARM), OVH
- 国内云厂商: 腾讯云 CVM/轻量, 阿里云 ECS/轻量, 华为云, 天翼云, 百度智能云
- 热门海外主机商: DigitalOcean, Linode, Vultr, Hetzner, Scaleway, BuyVM, RackNerd, DMIT, CloudCone 等。
- 其他服务商: 本文后续示例中包含了更多服务商的详细操作记录。
一、重要:操作前必读
⚠️ 高风险操作警告!
- 数据将完全丢失:DD 操作会彻底擦除您服务器硬盘上的所有数据,且无法恢复。在执行任何命令前,请务必备份好所有重要数据!
- 可能导致服务器失联:如果网络信息(IP、网关、子网掩码)填写错误,或DD镜像缺少对应服务商的网卡驱动,您的服务器在重启后将无法连接网络。届时您可能需要通过服务商的VNC或救援模式来修复。
- 遵守服务商条款 (TOS):部分服务商明确禁止用户自行DD Windows 系统。操作前请仔细阅读其服务条款,以免造成删机或封号的风险。
二、准备工作与核心步骤
在开始之前,请确保满足以下前提条件:
- 当前系统: 您的VPS当前必须是 Debian 或 Ubuntu 系统。大多数一键脚本不支持在 CentOS 上执行。
- 硬件要求:
- 内存: 建议至少2GB。如果内存仅有1GB,推荐安装 Windows 7 或精简版系统。
- 硬盘: 硬盘空间必须大于您选择的系统镜像解压后的大小。
- 虚拟化: 必须是 KVM 或 XEN 架构,不支持 OpenVZ。
核心操作流程
第1步:获取服务器网络信息
这是整个过程中最关键的一步。您需要准确获取服务器的公网IP、子网掩码 (Netmask) 和网关 (Gateway)。
通常可以通过以下命令查看:
ip addr show
# 或
ip route show
# 或
ifconfig
*在后续的实践案例中,将展示如何在不同服务商的机器上找到这些信息。*
第2步:检查服务器启动方式
不同的系统镜像(DD包)对应不同的启动方式。执行以下命令来判断您的VPS是传统的 BIOS
启动还是新式的 UEFI
启动。
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
根据回显结果,选择与之匹配的系统镜像。
第3步:执行一键DD脚本
下面是 1keydd
脚本的通用执行命令格式。您需要将网络信息和镜像地址替换为您自己的。
# 命令模板
wget -qO- 1keydd.com/inst.sh | bash -s - -n [您的IP],[您的子网掩码],[您的网关] -t [系统镜像URL]
-n
: 用于传入您的网络参数,三者用逗号隔开,顺序不能错。-t
: 指定您想要DD的系统镜像的URL地址。
执行后如何监控?
脚本成功执行后,会进入一个临时的PE环境中进行DD操作。您可以通过以下方式监控进度:
- VNC 实时查看:
http://<您的IP>:80
- 查看DD日志:
http://<您的IP>:8000
整个过程通常需要10到30分钟。当VNC界面显示系统安装完成并重启后,您就可以用新系统的账号密码进行远程登录了。
三、系统镜像 (DD包) 资源库
选择一个稳定、纯净的系统镜像是成功的关键。以下是一些由社区开发者制作和分享的常用DD镜像源:
- 1keydd 作者镜像: 提供 Win10 二合一(BIOS+UEFI)镜像。
- cxthhhhh 大佬的镜像库: https://odc.cxthhhhh.com/SyStem/Windows_DD_Disks
- natee 大佬的镜像库 (网友备份): https://dd.591592.xyz/
- cosmiccat 大佬的镜像库: https://od1.cosmiccat.net/DD/
- 秋水逸冰大佬的镜像库: https://dl.lamp.sh/vhd/
注意: 部分镜像源可能对某些服务商的IP进行了屏蔽。如果遇到无法下载的情况,可以尝试使用下表中由原作者备份的镜像。
常用系统镜像参数表 (备份)
以下镜像均经过作者亲测有效。
系统 | 作者 | 所需硬盘 | 启动方式 | 网卡注入 | 备份直链 |
---|---|---|---|---|---|
Alpine 3.7 | cosmiccat | 1.1 GB | BIOS | 下载链接 | |
CentOS 7 | cxthhhhh | 5.0 GB | BIOS | 否 | 下载链接 |
Win 7 企业版 | natee | 5.1 GB | BIOS | 是 | 下载链接 |
Win 10 精简版 | cxthhhhh | 5.0 GB | BIOS | 是 | 下载链接 |
Win 10 LTSC | 1keydd | 20.0 GB | BIOS+UEFI | 是 | 下载链接 |
Win 11 22H2 | teddysun | 16.0 GB | BIOS | 是 | 下载链接 |
Win Srv 2022 | teddysun | 16.0 GB | BIOS | 是 | 下载链接 |
Win 11 22H2 (UEFI) | teddysun | 16.0 GB | UEFI | 下载链接 | |
Win Srv 2022 (UEFI) | teddysun | 16.0 GB | UEFI | 下载链接 |
四、常见DD脚本工具
1. 1keydd 脚本 (推荐用于DD Windows)
- 项目地址: https://github.com/minlearn/1keydd
- 特点:
- DD过程中自带VNC和日志监控,排错方便。
- 能自动注入网卡信息,非常适合没有VNC面板的VPS。
- 由于需要进入系统修改配置,DD后的Windows密码会自动变更为
1keydd
。 - 支持DHCP、静态及不规则网络配置。
- 用法:
wget -qO- 1keydd.com/inst.sh | bash -s - -n [IP],[子网掩码],[网关] -t [镜像URL]
2. leitbogioro 脚本 (推荐用于DD Linux)
- 项目地址: https://github.com/leitbogioro/Tools
- 特点:
- 支持从官方源重装为非常全面的Linux系统 (Debian, Ubuntu, CentOS, Fedora等)。
- 支持同时配置IPv4和IPv6网络。
- DD Windows时无法自动注入网卡,不适合无VNC的非DHCP机器。
- 用法:
# 下载脚本 wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh # 从源安装 CentOS 7 (密码默认为 LeitboGi0ro) bash InstallNET.sh -centos 7 --ip-addr [IP] --ip-mask [子网掩码] --ip-gate [网关]
3. 萌咖脚本 (经典之作)
- 项目地址: https://github.com/veip007/dd (网友备份)
- 简介: 许多DD脚本的“鼻祖”,功能强大稳定,但用法稍显复杂。
- 用法:
wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/veip007/dd/master/InstallNET.sh' && chmod +x InstallNET.sh bash InstallNET.sh --ip-addr [IP] --ip-gate [网关] --ip-mask [子网掩码] -dd [镜像URL]
五、常见问题与解决方案 (FAQ)
Q: DD成功后,远程登录的账号密码是什么?
A: Windows 默认账号为 Administrator
。密码通常是镜像制作者的域名,如 1keydd
, cxthhhhh.com
, nat.ee
, Teddysun.com
等,建议逐一尝试。
Q: 监控页面 (http://ip:80) 显示 “Something went wrong” 或空白页?
A: 前者可能是防火墙未放行5900端口;后者可能是浏览器插件干扰,建议使用无痕模式或更换浏览器访问。
Q: VNC里看到DD成功了,但一直无法远程连接 (3389端口不通)?
A: 很可能是网络配置注入失败。对于没有VNC的机器,请务必选择支持注入网卡的DD包和脚本。如果有VNC,可以登录系统手动配置IP地址。
Q: 启动后VNC显示 “No bootable device” 错误?
A: 启动方式不匹配。您可能用UEFI的镜像去DD一台BIOS启动的机器,反之亦然。请返回第二步检查启动方式并选择正确的镜像。
Q: 脚本执行后没有任何输出或报错证书错误?
A: 可能是网络问题或证书验证失败。尝试在wget
命令后添加 --no-check-certificate
参数忽略证书检查。
Q: 日志显示 dd: failed to open '/dev/sda': Read-only file system
?
A: 文件系统被只读保护。在某些服务商(如 ExtraVM)上,需要用 -p vda
来手动指定正确的系统盘符。
六、各服务商DD实践案例
提醒:以下所有案例均默认在 Debian/Ubuntu 系统下执行。操作前请务必仔细核对您的网络信息!
AWS EC2 / Lightsail
- 启动方式: BIOS
- 注意: 需要在AWS控制台的安全组/防火墙中放行远程桌面端口 (3389)。Lightsail 可能需要用 Ubuntu 系统执行脚本。
- 命令示例 (Lightsail):
wget -qO- 1keydd.com/inst.sh | bash -s - -n 172.26.13.168,255.255.240.0,172.26.0.1 -t https://file.1323123.xyz/dd/windows/1keydd/win10ltsc_password_1keydd.gz
Google Cloud (GCP)
- 启动方式: UEFI
- 注意: 同样需要在GCP防火墙规则中放行3389端口。
- 命令示例:
wget -qO- 1keydd.com/inst.sh | bash -s - -n 10.128.0.4,255.255.255.255,10.128.0.1 -t https://file.1323123.xyz/dd/windows/1keydd/win10ltsc_password_1keydd.gz
Oracle Cloud (甲骨文 AMD)
- 启动方式: UEFI
- 注意: 需要在Oracle Cloud的“虚拟云网络” -> “安全列表”中为对应子网添加入站规则,允许所有来源的TCP 3389端口流量。
- 命令示例:
wget -qO- 1keydd.com/inst.sh | bash -s - -n 10.0.0.83,255.255.255.0,10.0.0.1 -t https://file.1323123.xyz/dd/windows/cxthhhhh/Disk_Windows_Server_2022_DataCenter_CN_v2.12_UEFI.vhd.gz
Hetzner
- 启动方式: BIOS
- 注意: Hetzner 的网络配置较为特殊,网关 (Gateway) 是
172.31.1.1
,子网掩码 (Netmask) 是255.255.255.255
。 - 命令示例:
wget -qO- 1keydd.com/inst.sh | bash -s - -n 5.78.73.181,255.255.255.255,172.31.1.1 -t https://file.1323123.xyz/dd/windows/1keydd/win10ltsc_password_1keydd.gz
Linode
- 启动方式: BIOS
- 注意: DD 成功后,必须登录 Linode 后台,在实例的
Configurations
选项卡中,将Boot Settings
的Select a Kernel
修改为Direct Disk
才能正常启动。 - 命令示例:
wget -qO- 1keydd.com/inst.sh | bash -s - -n 139.162.120.20,255.255.255.0,139.162.120.1 -t https://file.1323123.xyz/dd/windows/1keydd/win10ltsc_password_1keydd.gz
纯 IPv6 服务器 (以 hosmatic 为例)
- 启动方式: BIOS
- 注意:
- 为了能下载位于IPv4网络的镜像文件,需要先配置 NAT64/DNS64。
1keydd
脚本可能会导致IPv6网卡丢失,DD成功后需要通过VNC手动添加回来。
- 命令示例:
wget -qO- 1keydd.com/inst.sh | bash -s - -n 2a0f:5707:aaef:292::1,ffff:ffff:0000:0000:0000:0000:0000:0000,2a0f:5707:aae0::1 -t https://file.1323123.xyz/dd/windows/cxthhhhh/Disk_Windows_7_Vienna_Ultimate_CN_v2.0.vhd.gz
(更多其他服务商的案例,请参照原文中的具体命令)