qemu 磁盘显示大小错误

qemu 磁盘显示大小错误

我正在尝试在 Windows 上运行的 qemu 中安装 debian (debian-9.9.0-amd64-netinst.iso)。我通过执行以下操作创建了磁盘qemu-img create -f qcow2 virtualdebian.img 30Gqemu-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

相关内容