如何在 qcow2 映像上创建分区而不保留磁盘大小

如何在 qcow2 映像上创建分区而不保留磁盘大小

我想在 UEFI 模式下安装 archlinux,因此我从 virt-manager 创建了大小为 20GB 的映像。

然后启动虚拟机后,我创建了 2 个名为 fdisk 的分区/dev/vda1/dev/vda2大小为 512MB,剩下的为 (19.5~GB)

我将 /dev/vda1 的类型从 fdisk 更改为 EFI,然后使用

mkfs.fat -F32 /dev/vda1

然后我使用以下命令将 /dev/vda2 格式化为 ext4

mkfs.ext4 /dev/vda2

然后我就成功安装了 arch 。的输出

du -h -d 0 /

对客人给予5.2GB。但主机上映像的实际磁盘大小为 20GB,与虚拟大小相同

sudo qemu-img info archlinux.qcow2
image: archlinux.qcow2
file format: qcow2
virtual size: 20 GiB (21474836480 bytes)
disk size: 20 GiB
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: true
    refcount bits: 16
    corrupt: false

我还在 qcow2 映像上安装了 Windows 10,它仅显示预期的 9.73 磁盘大小。我在 Windows 安装过程中没有创建任何额外的 esp 分区,因为我在 BIOS 模式下安装了它并且它使用 seabios 启动

sudo qemu-img info win10.qcow2
[sudo] password for root: 
image: win10.qcow2
file format: qcow2
virtual size: 100 GiB (107374182400 bytes)
disk size: 9.73 GiB
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: true
    refcount bits: 16
    corrupt: false

那么我在这里做错了什么?如何在 qcow2 映像上创建分区而不在磁盘上保留分区大小?

答案1

感谢@siduck76 在 telegram 上的帮助,我找到了答案。

sudo qemu-img convert -O qcow2 archlinux.qcow2 archlinuxComped.qcow2

参考:-https://www.jamescoyle.net/how-to/323-reclaim-disk-space-from-a-sparse-image-file-qcow2-vmdk

相关内容