云服务器定制化 Debian 12 镜像 DD 安装与救援模式操作指南

云服务器(VPS)定制化 Debian 12 镜像 DD 安装与救援模式操作指南

起因是越来越多的云服务器厂商现在不直接提供debian12的镜像,了解到可以使用DD方式安装自己需要的操作系统。

而官方提供的 Debian 12 镜像无法直接通过 DD 方式使用 root 账户登录时,需要预先对镜像进行定制。

本文以狐蒂云为例,详细演示了在辅助 Linux 机器上下载官方镜像、使用 virt-customize 注入密码并开启 SSH 密码登录、通过 HTTP 服务分发,最终在目标机器的紧急救援系统中完成 DD 安装的完整步骤。同时提供了安装后若无法登录,如何再次进入救援模式挂载系统并修改密码的解决方案。

0.环境说明

首先确定你能进入紧急救援系统,阿里/腾讯/狐蒂云等厂家的ECS服务器,都提供了这项服务,这里不再赘述:

CPUAMD 7J13 x4(虚拟化)
RAM8G
磁盘250G
其它要求可访问外部网路,能够进入紧急救援系统,另外一台LINUX
另一台LINUXdebian 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 密码登录。

发表回复

Your email address will not be published.