942 字
5 分钟
Debian 13 Cloud 镜像模板制作指南
本文介绍如何在 PVE 环境中使用 Debian 13 官方 Generic Cloud 镜像制作虚拟机模板。采用 q35 机型、UEFI 引导、串口无头显示、VirtIO RNG 硬件随机数生成器,并通过 Cloud-Init 实现自动化初始配置。
阶段一:在 PVE 宿主机解压镜像
从官方下载镜像 https://cloud.debian.org/images/cloud/
将官方 debian-13-genericcloud-amd64-...tar.xz 上传至 PVE 宿主机(如 /root),执行解压:
cd /root
# 解压归档包tar -xvf debian-13-genericcloud-amd64-*.tar.xz
# 确认解压出 disk.raw 镜像文件ls -lh disk.raw阶段二:命令行构建标准硬件并导入磁盘
在 PVE Shell 运行以下命令,完成硬件装配与配置(以 VM ID 9000、存储池 local-lvm 为例):
# 1. 创建 VM 基础架构:q35 机型、UEFI 引导、Host CPU、串口显示 (无头)、开启 Agentqm create 9000 \ --name "debian13-cloud-template" \ --memory 2048 \ --cores 2 \ --cpu host \ --machine q35 \ --bios ovmf \ --vga serial0 \ --serial0 socket \ --net0 virtio,bridge=vmbr0 \ --agent enabled=1
# 2. 选用单盘性能最佳的 VirtIO SCSI Single 控制器qm set 9000 --scsihw virtio-scsi-single
# 3. 添加 UEFI 所需的 EFI 磁盘(带安全启动密钥兼容)qm set 9000 --efidisk0 local-lvm:0,efitype=4m,pre-enrolled-keys=1
# 4. 添加硬件随机数生成器(VirtIO RNG,解决开机熵池阻塞)qm set 9000 --rng0 source=/dev/urandom
# 5. 导入 disk.raw 到存储池qm importdisk 9000 disk.raw local-lvm
# 6. 挂载为系统盘 scsi0,开启 IOThread 与 Discardqm set 9000 --scsi0 local-lvm:vm-9000-disk-0,discard=on,iothread=1
# 7. 添加 Cloud-Init 驱动器qm set 9000 --ide2 local-lvm:cloudinit
# 8. 锁定第一引导项为 scsi0qm set 9000 --boot order=scsi0
# 9. 按需扩容系统盘(如增加 20G,总容量约 23G)qm disk resize 9000 scsi0 +20G阶段三:Web 控制台配置 Cloud-Init 初始化
进入 PVE 网页控制台 → 点击 9000 (debian13-cloud-template) → 选择 Cloud-Init:
- User:输入你常用的管理用户名(如
debian或ksqeib) - Password:输入用户登录密码(用于 sudo 提权)
- SSH Public Key:粘贴你的客户端 SSH 公钥
- IP Config (net0):按网络规划选择
DHCP或配置静态 IP - 点击上方
Regenerate Image保存
阶段四:启动系统并补装 Guest Agent
1. 启动虚拟机
qm start 90002. 登录系统
在 PVE 网页端打开控制台 (Console)(通过串口终端 xterm.js 直接显示登录界面),或者直接通过局域网使用前面设置的用户进行 SSH 登录:
ssh <你设置的用户名>@<虚拟机IP>3. 安装 qemu-guest-agent 并清理缓存
在 Debian 13 中,该服务由 udev 规则自动管理,只需安装,无需(也不能)执行 systemctl enable:
# 更新源并安装 agentsudo apt update && sudo apt install -y qemu-guest-agent
# 确保当前会话已启动sudo systemctl start qemu-guest-agent
# 清理 APT 缓存,减少模板占用空间sudo apt cleansudo rm -rf /var/lib/apt/lists/*此时回到 PVE 网页控制台的”概要”页面,等待几秒即可看到虚拟机的内网 IP 正常抓取。
阶段五:固化为模板
在虚拟机内执行优雅关机:
sudo poweroff在 PVE 宿主机执行模板化(或在 PVE Web 界面右键虚拟机选择”转换为模板”):
qm template 9000日常克隆与使用
后续需要建立新机器时:
- 右键该模板 → 克隆 (Clone) → 模式选 链接克隆 (Linked Clone)
- 进入新虚拟机的 Cloud-Init 页面,仅需按需改动 IP Config 或 主机名
- 点击启动,几秒内即可自动扩盘并上线运行
总结
通过使用 Debian 官方的 Generic Cloud 镜像配合 Cloud-Init,可以快速构建标准化的虚拟机模板。相比传统的完整安装流程,这种方案具有以下优势:
- 镜像小巧精简,启动迅速
- Cloud-Init 自动化配置,无需手动初始化
- 支持链接克隆,节省存储空间
- VirtIO RNG 解决熵池阻塞,提升启动性能
- 串口控制台支持,适合无头服务器环境
Debian 13 Cloud 镜像模板制作指南
https://iiii.fun/posts/linux/debian13-cloud-template-guide/