Virtual-Machine
如何在不保留磁碟大小的情況下在 qcow2 映像上創建分區
我想在 UEFI 模式下安裝 archlinux,所以我從 virt-manager 創建了大小為 20GB 的映像。
然後在啟動到 VM 後,我創建了 2 個名為 fdisk 的分區,其大小為
/dev/vda1
512MB/dev/vda2
,剩下的部分 (19.5~GB)我將 /dev/vda1 的類型從 fdisk 更改為 EFI,然後使用
mkfs.fat -F32 /dev/vda1
然後我將 /dev/vda2 格式化為 ext4 使用
mkfs.ext4 /dev/vda2
然後我成功地在上面安裝了拱門。的輸出
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 映像上創建分區?
感謝電報上的@siduck76,我找到了答案。
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