首頁  >  文章  >  系統教程  >  磁碟空間不足?從您的 Linux VirtualBox 虛擬機器回收它

磁碟空間不足?從您的 Linux VirtualBox 虛擬機器回收它

WBOY
WBOY原創
2024-08-14 12:41:49543瀏覽

VirtualBox 讓您在虛擬機器中運行 Linux,您經常會發現虛擬磁碟的大小不斷增長,即使您已經清除了其中的檔案。我將向您展示如何將這些磁碟區縮小到原來的大小、壓縮它們並節省磁碟空間。

為什麼您的VirtualBox Linux 用戶端不會自動縮小

如果您將VirtualBox 與Windows 用戶端一起使用(在虛擬機器術語中,「客戶機」是在虛擬機器中執行的作業系統) ,您可能已經習慣了VirtualBox 磁碟區在刪除檔案時會縮小,這樣它們只會佔用實體磁碟上包含檔案所需的空間。

這是 VirtualBox 動態分配功能的預期目的,但它不適用於 Linux 來賓。當使用 Linux 來賓時,許多用戶發現磁碟成長到其完整大小,然後隨著檔案從中刪除而永遠不會縮小。

這是由於 Linux 管理其檔案系統以及與 VirtualBox 主機互動的方式所造成的。當出於效能原因刪除文件時,Linux 不會「清除零」(用空資料覆蓋)文件,因此 VirtualBox 無法判斷虛擬磁碟上的哪些資料是活動資料以及哪些資料被刪除。

您可以透過自行將資料歸零並告訴 VirtualBox 壓縮卷,使其恢復到實際大小來解決此問題。這是如何完成的。

如何從 VirtualBox 中的 Linux 虛擬機回收磁碟空間

要從 Linux 來賓虛擬磁碟回收磁碟空間,您需要做的第一件事是確保啟用動態分配。如果不是,您需要將磁碟轉換為動態指派的磁碟。

Running Out of Disk Space? Reclaim It From Your Linux VirtualBox VM

接下來,備份您的虛擬磁碟。如果出現問題(例如輸入錯誤的命令,或過程中途斷電),您將面臨丟失 Linux 用戶端中所有資料的風險。

接下來,在Linux 用戶端上的終端機中執行以下指令:

sudo dd if=/dev/zero of=/var/deleteme

此指令會將清除(空白)資料寫入檔案/var /deleteme 直到磁碟完全滿。這將覆蓋您之前刪除的所有文件,解決 Linux 不會自動覆蓋已刪除資料的問題。

請小心使用 dd 指令,因為它會在沒有警告的情況下覆蓋資料!運行命令和路徑之前請仔細檢查它們。

此過程可能需要一些時間,具體取決於卷的大小,因此請耐心等待,不要中斷它。一旦完成,該程序將退出(可能會出現空間不足的錯誤)。一旦發生這種情況,您可以刪除清零檔案並關閉Linux 虛擬機器:

sudo rm -rf /var/deleteme <p> sudo shutdown now -h</p>

現在,虛擬磁碟上未使用的空間已清除,VirtualBox 將被清零。能夠透過縮小主機上的空間來回收它。最後一步是使用 vboxmanage 指令壓縮虛擬磁碟映像。透過執行以下命令來執行此操作:

<code class="hljs ">vboxmanage modifymedium disk /path/to/image.vdi -compact</code> 

您必須將 /path/to/image.vdi 變更為要壓縮的虛擬磁碟的路徑。如果您使用的是Windows,則需要像這樣使用VBoxManage.exe:

VBoxManage.exe modifymedium disk /path/to/image.vdi -compact

如果VBoxManage.exe 在Windows 系統上的命令列中不可用,請繼續閱讀有關如何啟用它的說明。

dd Linux 指令做了什麼?

這種壓縮 VirtualBox Linux guest 虛擬機器的方法利用 dd 指令將空檔案寫入磁碟,以便 VirtualBox 可以辨識空空間。

dd(資料複製器)指令可以轉換和複製文件,也可以用來寫入資料。傳遞給它的“if”選項提供輸入檔(在本例中/dev/zero 提供零值資料或空資料的恆定流)。 “of”選項指定輸出文件,並將此零資料流寫入其中。這將持續到磁碟已滿,因為 /dev/zero 永遠不會停止提供空資料。

在 Windows 中使用 VboxManage.exe

預設情況下,VBoxManage.exe 在 Windows 命令列上不可用。您可以透過更新Windows 系統路徑以包含VirtualBox 安裝目錄來新增它,或在使用它時呼叫可執行檔的完整路徑:

& "C:/Path/To/VBoxManage.exe" modifymedium disk /path/to/image.vdi -compact

“&”符號,稱為呼叫操作符,執行引用的命令。這允許您在可執行檔的路徑中使用空格。

有關管理 VirtualBox 來賓的更多資訊

隨著來賓的成長,您可以增加或減少其虛擬磁碟的大小。快照可讓您取得虛擬機器在某個時間點的狀態並儲存;如果您稍後想要回到當時的情況(例如在測試配置變更後),您可以簡單地回滾,一切都會保持原樣。

VirtualBox 是一款功能強大的虛擬化工具,開發人員可以專業使用它來建立和測試軟體,家庭用戶也可以使用它在現代電腦上運行舊軟體和遊戲,或運行其他作業系統,而無需購買第二台機器。您可以在 MacOS、Windows 和 Linux 主機上執行 Windows、Linux、ChromeOS、Android 和其他作業系統。

您的變更已儲存

電子郵件已傳送

電子郵件已傳送

請驗證您的電子郵件地址。

發送確認電子郵件

您已達到帳戶中關注主題的上限。

以上是磁碟空間不足?從您的 Linux VirtualBox 虛擬機器回收它的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn