KVM虚拟机配置虚拟磁盘需分宿主机和虚拟机两步:宿主机用qemu-img创建qcow2磁盘并virsh edit或attach-disk绑定;虚拟机内用lsblk识别、fdisk分区、mkfs.ext4格式化、mount挂载,并通过fstab实现开机自动挂载。

在 KVM 虚拟机中配置虚拟磁盘,核心是两步:先在宿主机上创建并关联磁盘镜像,再在虚拟机内部完成识别、分区、格式化和挂载。整个过程分宿主机操作和虚拟机内操作,缺一不可。
宿主机侧:创建磁盘并绑定到虚拟机
推荐使用 qcow2 格式(支持快照、稀疏分配),命令如下:
- 创建 10GB 的虚拟磁盘:
qemu-img create -f qcow2 /var/lib/libvirt/images/vm-disk2.qcow2 10G - 永久添加到虚拟机(需关机):
用virsh edit vm-name编辑 XML 配置,在<devices>区域末尾插入一段磁盘定义,例如:
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/vm-disk2.qcow2'/>
<target dev='vdb' bus='virtio'/>
</disk>
保存退出后,启动虚拟机即可识别新设备。
若需临时挂载(重启失效),可用:virsh attach-disk vm-name /var/lib/libvirt/images/vm-disk2.qcow2 vdb --driver qemu --subdriver qcow2
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
虚拟机内:识别、分区与格式化
登录虚拟机后,先确认新磁盘是否可见:
- 运行
lsblk或fdisk -l,新盘通常显示为/dev/vdb(或/dev/sdb,取决于总线类型) - 若无分区,用
fdisk /dev/vdb创建 MBR 分区(适合 ≤2TB)或gdisk /dev/vdb创建 GPT 分区(支持大容量和更多分区) - 常见交互流程(以 fdisk 创建一个主分区为例):
输入n→p→ 回车(默认分区号)→ 回车(默认起始扇区)→+5G(指定大小)→w保存 - 格式化分区:
mkfs.ext4 /dev/vdb1(推荐 ext4,兼顾兼容性与功能)
挂载并持久化
挂载是让磁盘内容可访问的关键步骤:
- 创建挂载点:
mkdir -p /data - 临时挂载:
mount /dev/vdb1 /data - 要开机自动挂载,编辑
/etc/fstab,追加一行:/dev/vdb1 /data ext4 defaults 0 2
建议用 UUID 替代设备名(更稳定):
先查 UUID:blkid /dev/vdb1,再写入 fstab:UUID=xxxx-xxxx /data ext4 defaults 0 2
验证与写入测试
最后确认一切正常:
- 执行
df -h查看/data是否出现在输出中,且空间正确 - 尝试写入文件:
echo "test" > /data/test.txt && cat /data/test.txt - 重启虚拟机,检查挂载点是否仍有效(验证 fstab 配置)

















