.qcow2
我为我的虚拟机创建了 20 GiB映像。接下来我在上面安装了 Ubuntu 20.04。系统使用 ~8 GiB,因此我决定使用以下命令将映像缩小到 10 GiB:
# qemu-img resize --shrink ubuntu20.04.qcow2 10241M
10241M的值是使用收缩的分区的最后一个扇区计算出来的gparted
(使用虚拟机内的Ubuntu live系统)。最后一个扇区是20973567
((20973567+1)×512)/1024/1024 = 10241 MiB。
该命令的结果是qemu-img resize --shrink
我得到了以下图像:
# ls -al ubuntu20.04.qcow2
-rw------- 1 root root 10740432896 2020-08-04 20:26:46 ubuntu20.04.qcow2
这里的大小 ( 10740432896
) 是 10242.875 MiB,它比虚拟大小更大(+1920000 字节),可以通过以下方式检查:
# qemu-img info ubuntu20.04.qcow2
image: ubuntu20.04.qcow2
file format: qcow2
virtual size: 10 GiB (10738466816 bytes)
disk size: 9.19 GiB
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: true
refcount bits: 16
corrupt: false
所以这里 10738466816 字节正好是 10241 MiB。
那么这1920000字节从哪里来呢?