默認(rèn)情況下,VirtualBox會(huì)創(chuàng)建動(dòng)態(tài)磁盤,隨著數(shù)據(jù)的增加而增長(zhǎng)。 但是,如果你稍后從虛擬機(jī)刪除數(shù)據(jù),你將注意到磁盤不會(huì)自動(dòng)收縮。 但是,你可以使用隱藏命令手動(dòng)收縮動(dòng)態(tài)磁盤。
相關(guān)文章:如何創(chuàng)建和使用虛擬機(jī)。記住,如果這個(gè)磁盤大小大小和你已經(jīng)經(jīng)刪除了數(shù)據(jù),這將只收縮磁盤。 因此,如果你剛剛創(chuàng)建了一個(gè)動(dòng)態(tài)磁盤,這將不會(huì)。 但是,如果創(chuàng)建了動(dòng)態(tài)磁盤,下載了 10 GB數(shù)據(jù),然后刪除了 10 GB的數(shù)據(jù),那么應(yīng)該可以將磁盤收縮約2 GB 。
這個(gè)過(guò)程只適用于動(dòng)態(tài)磁盤,它可以在大小上增長(zhǎng)和縮小。 動(dòng)態(tài)磁盤可以能最大達(dá)到 size-50 GB,但它們只在包含大量數(shù)據(jù)時(shí)實(shí)際增長(zhǎng)到最大值。 固定大小磁盤始終是它的最大大小。
相關(guān)文章如何在固定的和動(dòng)態(tài)的磁盤之間轉(zhuǎn)換在 VirtualBox如果有固定大小的磁盤,你可以先將它的轉(zhuǎn)換為動(dòng)態(tài)磁盤,然后按照以下說(shuō)明進(jìn)行操作。 例如如果有固定磁盤大小為 50 GB且只有 10 GB的數(shù)據(jù),將它的轉(zhuǎn)換為動(dòng)態(tài)磁盤,則應(yīng)該能夠?qū)⑺氖湛s為僅占用4 GB空間。
要檢查磁盤中是否有動(dòng)態(tài)或者固定大小的磁盤,請(qǐng)右擊使用該磁盤的虛擬機(jī)并選擇"設(shè)置"。 單擊"存儲(chǔ)器"選項(xiàng)卡并選擇磁盤。 你將看到在"詳情"旁邊顯示什么類型的磁盤。 例如在下面的截圖中,"動(dòng)態(tài)分配的存儲(chǔ)"表示這是一個(gè)動(dòng)態(tài)磁盤。
確保刪除虛擬機(jī)中不再需要的任何數(shù)據(jù),以便在繼續(xù)操作之前釋放空間空間。 刪除不需要的文件,卸載不再使用的程序,清空回收站。 然后,你需要用零覆蓋該空空間。
如果在虛擬機(jī)中安裝了 Windows,那么現(xiàn)在應(yīng)該啟動(dòng)虛擬機(jī)并整理磁盤碎片。 在虛擬機(jī)內(nèi)部,搜索 開(kāi)始菜單的"碎片整理"并啟動(dòng)"磁盤碎片整理程序"或者"碎片整理和優(yōu)化驅(qū)動(dòng)器"工具。 選擇要 compact的磁盤并單擊"磁盤碎片整理磁盤碎片整理"。
完成碎片整理過(guò)程后,你將需要將零寫入虛擬機(jī)內(nèi)的空白空間。 刪除文件時(shí),的刪除數(shù)據(jù)仍然存儲(chǔ)在磁盤上,因此VirtualBox不能自動(dòng)收縮驅(qū)動(dòng)器。 但是,當(dāng)你在刪除的文件上寫零時(shí),to會(huì)看到大量零空空格,換句話說(shuō),可以以 compact 。
為此,從微軟下載 SDelete命令行實(shí)用程序。 將 sdelete.exe
文件解壓縮到計(jì)算機(jī)上的文件夾。
打開(kāi)一個(gè)命令提示符窗口。 為此,打開(kāi) 開(kāi)始菜單,搜索"命令提示符"并啟動(dòng)快捷方式。
通過(guò)鍵入 cd
,按空格鍵入目錄,然后按Enter鍵,更改為包含 sdelete.exe
文件的目錄。 如果路徑包含空格字符,請(qǐng)確保將該路徑括在引號(hào)中。 它應(yīng)該是這樣的:
cd"C:pathtofolder"
例如如果你將 sdelete.exe
文件解壓縮到用戶的帳戶文件夾,并且你的Windows 用戶名是 Bob,則運(yùn)行以下命令:
cd"C:UsersbobDownloads"
要快速填入目錄路徑,只需將 cd
鍵入命令提示窗口,按空格,然后從管理員欄中拖放文件夾 icon 。
運(yùn)行以下命令:
sdelete.exe c: -z
這將為驅(qū)動(dòng)器C 上的所有可用磁盤空間寫入零:。 如果要縮小位于虛擬機(jī)中不同驅(qū)動(dòng)器號(hào)的輔助驅(qū)動(dòng)器,請(qǐng)鍵入它的驅(qū)動(dòng)器號(hào),而不是c: 。 這就是設(shè)計(jì)工具的目的。 作為微軟注釋網(wǎng)站上的SDelete頁(yè)面,-z選項(xiàng)是"適用于虛擬磁盤優(yōu)化"。
你將被要求在繼續(xù)之前同意許可協(xié)議的許可。 只需單擊"一致"。
等待進(jìn)程完成。 完成后,使用 開(kāi)始菜單 中的"關(guān)閉"選項(xiàng)關(guān)閉你的虛擬機(jī)。 你現(xiàn)在已經(jīng)準(zhǔn)備好 compact 了。
如果你在虛擬機(jī)中安裝 Linux,而不是 Windows 客戶操作系統(tǒng),則可以以跳過(guò)碎片整理程序。 我們將使用Ubuntu作為示例,但是這個(gè)過(guò)程在其他Linux發(fā)行版中是相似的。
為此,你首先需要在虛擬機(jī)內(nèi)安裝 zerofree
實(shí)用程序。 它應(yīng)該在你的發(fā)行版軟件的Linux軟件中可用。 例如你可以在虛擬機(jī)中運(yùn)行以下命令,在你的虛擬機(jī)中運(yùn)行以下命令:
sudo apt install zerofree
你不能在引導(dǎo)到標(biāo)準(zhǔn)Linux環(huán)境時(shí)在/分區(qū)上使用 zerofree
。 相反,你需要引導(dǎo)到一個(gè)特殊的恢復(fù)模式,你的正常 root 分區(qū)沒(méi)有安裝。 在Ubuntu上,重新啟動(dòng)虛擬機(jī),然后重復(fù)按"esc"鍵,在它啟動(dòng)時(shí)訪問(wèn)Grub菜單。 當(dāng)Grub菜單出現(xiàn)時(shí),選擇"。*advanced的選項(xiàng)"并按Enter鍵。
選擇與最近的Linux內(nèi)核關(guān)聯(lián)的"( 恢復(fù)模式) 選項(xiàng),即在列表頂部有最高版本號(hào)的選項(xiàng),然后按Enter鍵。
在恢復(fù)菜單中選擇"root"以引導(dǎo)到 root shell 提示符。
當(dāng)"按Enter鍵進(jìn)行維護(hù)"出現(xiàn)在屏幕上時(shí),按"輸入"鍵。 你會(huì)得到一個(gè)終端提示。
在 命令行 中,通過(guò)運(yùn)行以下命令確定要為零的虛擬磁盤:
df
在下面的輸出中,我們可以看到 /dev/sda1
是我們唯一的磁盤設(shè)備。 我們知道,因?yàn)樗俏ㄒ灰粋€(gè)在最左邊的列中有 /dev/
的磁盤。
假設(shè)虛擬機(jī)使用默認(rèn)設(shè)置創(chuàng)建,它將只有 /dev/sda1
,這是第一個(gè)硬盤驅(qū)動(dòng)器上的第一個(gè)分區(qū)。 如果你使用多個(gè)磁盤或者多個(gè)分區(qū)設(shè)置了不同的設(shè)置,則可能需要零個(gè)分區(qū)或者零個(gè)分區(qū)。
現(xiàn)在已經(jīng)準(zhǔn)備好零磁盤。 使用下面的命令,將 /dev/sda1
替換為要寫入零的分區(qū)的設(shè)備名。 大多數(shù)人都會(huì)有一個(gè) /dev/sda1
設(shè)備。
zerofree -v/dev/sda1
完成零進(jìn)程后,運(yùn)行以下命令以關(guān)閉虛擬機(jī):
halt
在屏幕上看到"系統(tǒng)已經(jīng)停止"消息時(shí),系統(tǒng)已經(jīng)停止,你現(xiàn)在可以關(guān)閉你的虛擬機(jī)。 關(guān)閉機(jī)器的虛擬窗口并選擇"關(guān)閉虛擬機(jī)電源"。
它的余的進(jìn)程將在虛擬機(jī)的外部執(zhí)行,在你的主機(jī)操作系統(tǒng)上。 例如,如果在虛擬機(jī)上運(yùn)行 Windows 10,在虛擬機(jī)上運(yùn)行 Windows 7,則會(huì)在 Windows 10中執(zhí)行它的余進(jìn)程。
這里選項(xiàng)不在virtualbox界面的圖形中公開(kāi)。 相反,你必須使用 VBoxManage.exe
命令。
查找這里命令以繼續(xù)。 在 Windows 上,你將在VirtualBox程序目錄中找到它,默認(rèn)情況下是 C:Program FilesOracleVirtualBox
。 如果你將VirtualBox安裝到另一個(gè)目錄,請(qǐng)查看。
打開(kāi)一個(gè)命令提示符窗口。 為此,打開(kāi) 開(kāi)始菜單,鍵入 cmd
并按Enter鍵。
在命令提示符中鍵入 cd
,然后鍵入VBoxManage命令所在的文件夾的路徑。 你將需要用引號(hào)括起來(lái)。
在命令提示窗口中鍵入 cd
,然后從管理欄的文件地址中將文件夾 icon 拖放到命令提示符中,可以快速完成這個(gè)操作。
如果使用默認(rèn)路徑,則應(yīng)如下所示:
cd"C:Program FilesOracleVirtualBox"
注:這些說(shuō)明假定你在 Windows 上使用 VirtualBox 。 如果在 macOS 或者Linux上使用 VirtualBox,你可以打開(kāi)終端窗口并正常運(yùn)行 vboxmanage
命令,如你所做的任何其他命令一樣。
在命令提示符窗口中運(yùn)行以下命令以查看計(jì)算機(jī)上所有虛擬硬盤的列表:
VBoxManage.exe list hdds
查看列表并標(biāo)識(shí)你想要 compact的虛擬磁盤的文件路徑。 假設(shè)我們想修改與名為"Windows 7"的虛擬機(jī)關(guān)聯(lián)的虛擬磁盤。 可以看到,在下面的輸出中,我們系統(tǒng)上的虛擬磁盤的路徑是 C:UserschrisVirtualBox VMsWindows 7Windows 7.vdi
要 compact 磁盤,你需要使用正確的命令來(lái)使用 VBoxManage.exe
。 運(yùn)行以下命令,用上面的命令替換使用你系統(tǒng)上的磁盤路徑的磁盤文件路徑。 如果文件路徑中包含空格,請(qǐng)確保將該文件的路徑括在引號(hào)中。
它應(yīng)該是這樣的:
VBoxManage.exe modifymedium disk"C:pathtodisk.vdi" --compact
例如由于文件的路徑是 C:UserschrisVirtualBox VMsWindows 7Windows 7.vdi
在我們的示例中,我們運(yùn)行以下命令:
VBoxManage.exe modifymedium disk"C:UserschrisVirtualBox VMsWindows 7Windows 7.vdi" --compact
,將會(huì) compact,然后你可以以立即啟動(dòng)虛擬機(jī),如果你喜歡的話。 節(jié)省多少空間取決于要恢復(fù)多少空白空間。
VirtualBox允許你為每個(gè)虛擬機(jī)創(chuàng)建快照插件。 當(dāng)你創(chuàng)建快照時(shí),這些包含虛擬機(jī)的完整映像,允許你將它的恢復(fù)到以前的狀態(tài)。 這些可能需要很多空間。
釋放更多的空間,刪除不使用的快照。 要查看為虛擬機(jī)保存的快照,請(qǐng)?jiān)谥鱫n窗口中選擇它并單擊工具欄右側(cè)的"快照"按鈕。 如果不再需要快照,請(qǐng)?jiān)诹斜碇袉螕羲?,然后選擇"刪除快照"釋放空間。
聯(lián)系客服