VirtualBox虛擬機壓縮磁盤以回收未使用的空間


VMware 可以在軟件上圖形化窗口直接操作 “壓縮磁盤以回收未使用的空間”(方法:編輯虛擬機設置 -> 選取 “硬盤” -> 點擊右側 “壓縮” 即可)。

VirtualBox 6(目前的最新版本)不支持軟件窗口操作縮小虛擬機磁盤空間或者壓縮虛擬機磁盤空間(不因虛擬機中刪除文件釋放空間),但提供 VBoxManage 命令進行清理。


一、Windows 環境

1、在虛擬機中,從微軟官網下載SDelete (https://technet.microsoft.com/en-us/sysinternals/bb897443),下載完成后解壓,然后 cmd 進入到剛剛存放的目錄下(如 直接放在c盤根目錄下),打開 cmd 執行:

-- 把整個 c 盤下的未使用的磁盤空間標記為 0,執行完后把虛擬機關機
------------------------------------------------------
C:\sdelete -z c:\
------------------------------------------------------

舉例:

2、然后進入宿主機 VBoxManage.exe 目錄(通常為 VirtualBox 安裝目錄),然后執行 BoxManage 命令壓縮 VDI 虛擬機磁盤文件即可。
------------------------------------------------------
D:
cd D:\Program Files\Oracle\VirtualBox
VBoxManage modifyhd F:\VMs\windows_xp_professional_sp3_x86.vdi –compact
------------------------------------------------------

舉例:(我是桌面環境是Ubuntu18.04下安裝的Virtualbox命令執行過程與Windows略有不同“Win7\ ASP\ Config\ -disk001.vdi”是呀回收空間的磁盤)
------------------------------------------------------
pipci@HP:~/vsd/Virtualbox/Win7 ASP work$ vboxmanage modifyhd Win7\ ASP\ Config\ -disk001.vdi -compact
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
pipci@HP:~/vsd/Virtualbox/Win7 ASP work$
------------------------------------------------------

 

二、Linux環境

1、在虛擬機中,打開終端執行:

-- 依次執行,執行完后把虛擬機關機
------------------------------------------------------
sudo dd if=/dev/zero of=/empty

sudo rm -f /empty
------------------------------------------------------

2、然后進入宿主機 VBoxManage.exe 目錄(通常為 VirtualBox 安裝目錄),然后執行 BoxManage 命令壓縮 VDI 虛擬機磁盤文件即可。

------------------------------------------------------

VBoxManage.exe modifyhd "E:\VMs\rhel_erver_6.8_x64.vdi" --compact

------------------------------------------------------

 

參考:https://blog.csdn.net/JohnnySun2015/article/details/105181139

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM