縮小virtualbox中ova檔案的大小

縮小virtualbox中ova檔案的大小

我有一個 Ubuntu 64 位元虛擬機,它源自於大約 1GB ova 文件,我在 VMware vSphere 下使用它來安裝更多軟體,並針對一些佔用 2-3GB 空間的資料集使用該系統,但現在我刪除了這些大文件,我原以為新生成的ova 文件也將佔用大約1.1GB 的空間,但實際上佔用了大約3GB。如果我查看 virtualbox 中 .vmdk 文件的詳細信息,我會看到以下內容:

Hart Disk: SATA Port 0
Type (Format): Normal (VMDK)
Virtual Size: 8.00 GB
Actual Size:  7.90 GB
Details: Dynamically allocated storage
Location: /somewhere/myVM-disk1.vmdk
Attached To: myVM.virtualbox

我導出這台機器時ova的大小是~3GB。

有什麼想法可以縮小它嗎?

答案1

當作業系統第一次寫入特定磁區時,.vmdk 中的空間被指派。一旦寫入,它就被永久分配。

因此,您需要在虛擬機器中新增第二個動態大小的虛擬 HDD,然後從 LiveCD 啟動 VM,使用 fdisk 建立分割區並複製所有檔案 (cp -R)。然後關閉虛擬機,交換虛擬硬碟,再次啟動並驗證一切正常,然後從虛擬機中分離原始虛擬硬碟並將其作為主機系統磁碟上的檔案刪除。

在VM中使用dd直接複製是行不通的,因為它會將每個磁區寫入目標.vmdk檔案中,因此它將擴展到其完整大小而不是縮小。

答案2

看文章如何縮小動態擴充的來賓虛擬機器映像

它描述瞭如何透過以下方式縮小磁碟:

  1. 將可用空間清零,使用零自由對於Ubuntu
  2. 使用以下命令縮小虛擬機
    VBoxManage modifyhd my.vdi –compact

相關內容