云服务器(VPS)定制化 Debian 12 镜像 DD 安装与救援模式操作指南
起因是越来越多的云服务器厂商现在不直接提供debian12的镜像,了解到可以使用DD方式安装自己需要的操作系统。
而官方提供的 Debian 12 镜像无法直接通过 DD 方式使用 root 账户登录时,需要预先对镜像进行定制。
本文以狐蒂云为例,详细演示了在辅助 Linux 机器上下载官方镜像、使用 virt-customize 注入密码并开启 SSH 密码登录、通过 HTTP 服务分发,最终在目标机器的紧急救援系统中完成 DD 安装的完整步骤。同时提供了安装后若无法登录,如何再次进入救援模式挂载系统并修改密码的解决方案。
0.环境说明
首先确定你能进入紧急救援系统,阿里/腾讯/狐蒂云等厂家的ECS服务器,都提供了这项服务,这里不再赘述:
| CPU | AMD 7J13 x4(虚拟化) |
| RAM | 8G |
| 磁盘2 | 50G |
| 其它要求 | 可访问外部网路,能够进入紧急救援系统,另外一台LINUX |
| 另一台LINUX | debian 12,可以使用http发布网站,这里简称机器B |
说明:由于我在狐蒂云使用debian12官方的DD系统使用debian用户进不去,所以需要先在另一台linux下载镜像配置密码。下文中实际需要DD安装系统的机器简称为机器A,辅助机器简称为机器B
1.从官方下载镜像
这里以debian12为例:
登录机器B,下载DD镜像:
wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-genericcloud-amd64.raw
或者
curl -L https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-genericcloud-amd64.raw
2.修改镜像,配置密码
①安装 virt-customize
su -
apt-get update
apt-get install libguestfs-tools -y
②给root用户配置密码
# 注入 root 密码和 SSH 配置 virt-customize -a debian-12-genericcloud-amd64.raw \ --root-password password:你的密码 \ --append-line '/etc/ssh/sshd_config.d/99-rootlogin.conf:PermitRootLogin yes' \ --append-line '/etc/ssh/sshd_config.d/99-rootlogin.conf:PasswordAuthentication yes'
③将修改后的镜像发布到HTTP
在B机器上启动一个临时 HTTP 服务
python3 -m http.server 8000
需确认防火墙放行8000端口,这里可以参考
3.在紧急救援系统中安装DD定制系统
进入A机器救援系统,这里以狐蒂云为例:

从机器B下载预处理后的镜像
curl -L http://B机器IP:8000/debian-12-genericcloud-amd64.raw | dd of=/dev/vda bs=4M status=progress
这里的/dev/vda要看你实际的系统盘
可以输入:
fdisk -l #查看实际磁盘情况

我这里实际是vdb,假设我的B机器地址是https://x.wolfmark.org,这时输入:
curl -L https://x.wolfmark.org/debian-12-genericcloud-amd64.raw | dd of=/dev/vdb bs=4M status=progress
等待命令完成(显示 records in/out 后结束)。完成后输入 sync 确保数据落盘:
sync
然后退出紧急救援系统,应当就可以正常登录DD后的操作系统了。
4.其它
①通过紧急救援系统修改密码
1. 再次进入救援模式
2. 查看分区并挂载根分区
在 ECS 控制台,停止实例(如果处于运行状态),然后选择 “进入救援模式”。
mkdir /mnt/root
mount /dev/vdb1 /mnt/root
3. 挂载必要的虚拟文件系统(便于 chroot 后正常操作)
mount --bind /dev /mnt/root/dev mount --bind /proc /mnt/root/proc mount --bind /sys /mnt/root/sys
4. chroot 进入已安装的系统
chroot /mnt/root /bin/bash source /etc/profile
5. 修改 root 密码
passwd root
输入新密码两次。
6. 允许 SSH 密码登录(可选但建议)
检查或创建 SSH 配置:
bash
# 查看已有的配置 ls /etc/ssh/sshd_config.d/ # 如果 99-rootlogin.conf 不存在或内容不对,手动创建 echo "PermitRootLogin yes" > /etc/ssh/sshd_config.d/99-rootlogin.conf echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config.d/99-rootlogin.conf
也可以直接编辑 /etc/ssh/sshd_config,确保:
PermitRootLogin yes PasswordAuthentication yes
7. 退出 chroot 并清理
bash
exit umount /mnt/root/dev umount /mnt/root/proc umount /mnt/root/sys umount /mnt/root
8. 退出救援模式并重启
- 在控制台点击 “退出救援模式”。
- 启动实例,通过 VNC 或 SSH 用新设置的 root 密码登录。
近期评论