VMware 可以在軟件上圖形化窗口直接操作 “壓縮磁盤以回收未使用的空間”(方法:編輯虛擬機設置 -> 選取 “硬盤” -> 點擊右側 “壓縮” 即可)。
VirtualBox 6(目前的最新版本)不支持軟件窗口操作縮小虛擬機磁盤空間或者壓縮虛擬機磁盤空間(不因虛擬機中刪除文件釋放空間),但提供 VBoxManage 命令進行清理。
Windows 環境
在虛擬機中,從微軟官網下載SDelete (https://technet.microsoft.com/en-us/sysinternals/bb897443),下載完成後解壓,然後 cmd 進入到剛剛存放的目錄下(如 直接放在c盤根目錄下),打開 cmd 執行:
-- 把整個 c 盤下的未使用的磁盤空間標記爲 0,執行完後把虛擬機關機
C:\sdelete -z c:\
然後進入宿主機 VBoxManage.exe 目錄(通常爲 VirtualBox 安裝目錄),然後執行 BoxManage 命令壓縮 VDI 虛擬機磁盤文件即可。
D:
cd D:\Program Files\Oracle\VirtualBox
VBoxManage modifyhd F:\VMs\windows_xp_professional_sp3_x86.vdi –compact
Linux環境
在虛擬機中,打開終端執行:
-- 依次執行,執行完後把虛擬機關機
sudo dd if=/dev/zero of=/empty
sudo rm -f /empty
然後進入宿主機 VBoxManage.exe 目錄(通常爲 VirtualBox 安裝目錄),然後執行 BoxManage 命令壓縮 VDI 虛擬機磁盤文件即可。
VBoxManage.exe modifyhd "E:\VMs\rhel_erver_6.8_x64.vdi" --compact