我正在尝试在 Windows 上运行的 qemu 中安装 debian (debian-9.9.0-amd64-netinst.iso)。我通过执行以下操作创建了磁盘qemu-img create -f qcow2 virtualdebian.img 30G
并qemu-img info virtualdebian.img
返回:
image: virtualdebian.img
file format: qcow2
virtual size: 30G (32212254720 bytes)
disk size: 193K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false7k
refcount bits: 16
corrupt: false
但是,当我运行 qemu 时
qemu-system-x86_64 -accel hax
-drive file=virtualdebian.img,index=0,media=disk,format=raw
-cdrom debian-9.9.0-amd64-netinst.iso -m 2G
Debian 安装程序只显示磁盘大小为 197kB,它拒绝安装 Debian。197kB 是从哪里来的?
答案1
您以 QCOW2 按需增长格式创建了虚拟磁盘。(虚拟机始终将其视为全尺寸,但主机磁盘上的实际文件一开始很小,并会随着虚拟机向其写入数据而自动增长。)由于映像是新制作的并且尚未包含任何数据(仅包含 QCOW2 标头),因此其文件目前处于最小大小。
但在附加它时,出于某种原因,您指定了“原始”格式。这告诉 Qemu 忽略 QCOW2 标头并将整个文件视为固定大小。(也就是说,如果您有一个 30GB 的文件,它将充当 30GB 的磁盘。)
不要混合这两种模式 – 如果您有一个动态 QCOW2 图像,请使用type=qcow2
。