虛擬機(jī)刪除文件后,虛擬磁盤(pán)占用空間并不會(huì)縮小,甚至在外面手動(dòng)壓縮都無(wú)法縮小,這是因?yàn)樘摂M機(jī)并不能感知到客戶系統(tǒng)刪除了文件
實(shí)際上虛擬機(jī)虛擬磁盤(pán)壓縮需要兩步,需要首先在內(nèi)部填0,然后在外面壓縮才能縮小占用空間
下面是vmware和virtualbox下的虛擬機(jī)壓縮虛擬磁盤(pán)的方法
【vmware】
在linux虛擬機(jī)內(nèi)執(zhí)行下列命令:
sudo vmware-toolbox-cmd disk wipe /
sudo vmware-toolbox-cmd disk wipe /home
sudo vmware-toolbox-cmd disk wipe /boot
sudo vmware-toolbox-cmd disk shrinkonly
# sudo vmware-toolbox-cmd disk list : 列出可用<mountpoint>
# sudo vmware-toolbox-cmd disk wipe <mountpoint> : 擦除<mountpoint>未使用空間
# sudo vmware-toolbox-cmd disk shrinkonly : 壓縮磁盤(pán)
# sudo vmware-toolbox-cmd disk shrink <mountpoint> : 擦除<mountpoint>未使用空間并壓縮磁盤(pán)
在windows虛擬機(jī)內(nèi)執(zhí)行下列命令(需要管理員命令提示符):
"C:\Program Files\VMware\VMware Tools\VMwareToolboxCmd" disk shrink c:\
命令會(huì)首先對(duì)未使用空間填0,?然后會(huì)彈出vmware的壓縮虛擬磁盤(pán)進(jìn)度條,進(jìn)度條走完以后就壓縮成功了
?【virtualbox】
windows虛擬機(jī)首先需要在虛擬機(jī)內(nèi)下載sysinternals的sdelete(假設(shè)放到了c:\):
SDelete - Sysinternals | Microsoft Learn
然后在虛擬機(jī)內(nèi)執(zhí)行下列命令(需要管理員命令提示符),對(duì)未使用的空間填0:
c:\sdelete c: -z
linux虛擬機(jī)首先需要在虛擬機(jī)內(nèi)執(zhí)行下列命令,對(duì)未使用空間填0:
sudo su -c 'dd if=/dev/zero of=/zero bs=512; rm -v /empty'
sudo su -c 'dd if=/dev/zero of=/home/zero bs=512; rm -v /home/empty'
sudo su -c 'dd if=/dev/zero of=/boot/zero bs=512; rm -v /boot/empty'
# 寫(xiě)全0文件不會(huì)導(dǎo)致虛擬磁盤(pán)體積膨脹
# empty文件一定要顯示已刪除后再重啟,否則可能因?yàn)榇疟P(pán)空間不足而無(wú)法登錄
然后需要關(guān)閉虛擬機(jī),在windows主機(jī)命令行下執(zhí)行下面的命令壓縮虛擬磁盤(pán):文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-743742.html
"C:\Program Files\Oracle\VirtualBox\vboxmanage" modifyhd "%USERPROFILE%\VirtualBox VMs\ubuntu\ubuntu.vdi" --compact
linux主機(jī)的命令:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-743742.html
vboxmanage modifyhd ~/VirtualBox\ VMs/ubuntu/ubuntu.vdi --compact
到了這里,關(guān)于虛擬機(jī)壓縮虛擬磁盤(pán)的方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!