日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

VirtualBox VM 空间瘦身记(vmdk)

發布時間:2023/12/4 综合教程 28 生活家
生活随笔 收集整理的這篇文章主要介紹了 VirtualBox VM 空间瘦身记(vmdk) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文地址:https://www.ebpf.top/post/shrink_vbox_vmdk_size

在使用 VirtualBox( VMDK 模式)管理虛擬機的時候,我們經常會遇到一些編譯安裝場景(比如編譯 Linux 內核),會導致磁盤空間急劇膨脹,但是在編譯完成后即使我們刪除了相關的文件,在 VM 虛擬機占用主機的空間卻并沒有減少,這時候為了騰出磁盤空間或者更方便與他人分享,我們需要給 VM 的磁盤進行瘦身操作。

1.1 虛擬磁盤格式介紹

VirtualBox 主要支持下列虛擬磁盤格式為 VMDK 和 VDI:

  • VMDK(Virtual Machine Disk) 最初是由 VMware 為其產品研發的格式。該格式技術設計文檔最初是閉源的,而現在已經開源,在 VirtualBox 里完全可用。這種格式有個功能是:把一個虛擬機的鏡像分割成多個 2GB 大小的文件。如果你要把虛擬機鏡像放在不支持大文件的文件系統(例如 FAT32)上,那么這個功能就非常有用。在其他的虛擬磁盤格式里,能做到同樣功能的只有 Parallels 的 HDD。
  • VDI(Virtual Disk Image) 格式是 VirtualBox 新建虛擬機時默認選用的格式。也是 VirtualBox 的自有開放格式。

VirtualBox 支持的虛擬磁盤格式還有 VHDXHDD 等多種格式,詳細信息請參考 VirtualBox 簡體中文 。

1.2 用零字節填充空閑空間

VirtualBox 只有在空間被設置為零的情況下才知道這是磁盤中真正的空閑空間,這與我們在一般機器上通過標準的 rm 命令刪除即可釋放空間有很大不同。

為了實現這個效果,我們需要登錄到 VM 主機中登錄到虛擬機中,使用零字節空間填充掉空閑空間,然后再把填充的文件進行刪除,即可達到效果。

$ cat /dev/zero > zero.fill; sync; sleep 1; sync; rm -f zero.fill
cat: write error: No space left on device

在命令執行完成后,會出先一個 “cat: write error: No space left on device” 的錯誤,這個錯誤恰恰表明我們使用零字節填充了所有的空閑空間。

至此,我們已經在 VM 虛擬機中成功地將空閑的空間進行了零字節填充,是時候進行真正的 “ 減肥 ” 操作了。

1.3 定位 VM 虛擬磁盤文件

在 VirtualBox 運行的主界面上,我們可以通過在虛擬機上點擊右鍵,在彈出的菜單上選擇 “Setting“ 選項,會彈出本虛擬相關的設置,切換到 ”Storage“ 選項卡。

圖 1-1 進入 VM 的設置頁面

在 ”Storage“ 選項卡的主界面中我們可以看到 VM 掛載的虛擬磁盤,點擊虛擬磁盤選項,在右側的 ”Attributes“ 信息欄中就可以在 ”Location“ 項中查詢到選擇虛擬磁盤所在的目錄和文件名。

目錄默認保存位置為 ~/VirtualBox VMs/ 目錄下以 VM 名稱命名的子目錄下,如本例中的 ~/VirtualBox VMs/ubuntu_21_04_default_1632463892989_42055,其中 ubuntu_21_04_default_1632463892989_42055 為 VM 主機名。

圖 1-2 進入 VM 的設置頁面中的存儲項詳情

確定 VM 的虛擬磁盤所在目錄后,我們通過終端進入到對應的目錄,進行查看:

$ cd ~/VirtualBox\ VMs/ubuntu_21_04_default_1632463892989_42055/
$ ls -lh
-rw-------  1 dwh0403  staff    35G Sep 28 13:37 ubuntu-hirsute-21.04-cloudimg.vmdk
...

這里我們可以看到該該虛擬磁盤占用了 35G 的磁盤大小。我們可以通過 vboxmanage showhdinfo 命令查看 vmdk 文件的詳情(如果后續需要繼續使用 vmdk 格式需要):

$ vboxmanage showhdinfo ubuntu-hirsute-21.04-cloudimg.vmdk
UUID:           6a00f1e1-a53f-4a48-9f41-4f2a96248286
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /Users/dwh0403/VirtualBox VMs/ubuntu_21_04_default_1632463892989_42055/ubuntu-hirsute-21.04-cloudimg.vmdk
Storage format: VMDK
Format variant: dynamic default
Capacity:       40960 MBytes
Size on disk:   35717 MBytes
Encryption:     disabled

為了壓縮虛擬磁盤的空間,我們需要將 vmdk 格式轉換成 vdi 格式。如果本機安裝了 Vmware 產品,可以直接使用其提供的工具直接進行瘦身,參見 Vmware 磁盤管理樣例 。

$ vboxmanage clonehd --format vdi ubuntu-hirsute-21.04-cloudimg.vmdk  ubuntu-hirsute-21.04-cloudimg.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'vdi'. UUID: 46de9fce-0055-472b-aee2-128509e3685$ ls -hl 
-rw-------  1 dwh0403  staff    11G Sep 28 13:41 ubuntu-hirsute-21.04-cloudimg.vdi
...$ vboxmanage modifyhd ubuntu-hirsute-21.04-cloudimg.vdi --compact
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

待轉換完成后,我們可以在當前目錄進行查看可以發現 vdi 的文件大小已經降低至 11G(原始 vmdk 文件為 35G 大小),表明在轉換過程中已經完成了磁盤空間的縮容。

1.4 將 VDI 格式的磁盤掛載(方案一,驗證,推薦)

在轉換 vdi 格式后,已經完成了空間的調整,如果我們并去強烈使用 vmdk 格式,我們可以直接將原來的 vmdk 格式虛擬磁盤從 VM 中卸載,然后將 vdi 格式的磁盤掛載即可。同時記得刪除 vmdk 格式的虛擬磁盤。

在保持 VM 虛擬機關閉的情況下,進入到 VM 的存儲設置頁面,步驟與圖 1-2 一致。

首先,在移除老的 vmdk 格式的虛擬磁盤上點擊右鍵,在右鍵菜單屬性中選擇 ”Remove Attachment“:

然后鼠標選擇磁盤控制器,選擇添加磁盤按鈕:

]

在彈出的添加磁盤文件的窗口中選擇 ”Add“ 按鈕,進入到選擇文件窗口,選擇我們新的 vdi 格式文件即可。

然后將 VM 虛擬機啟動驗證,如果一切順利則完成了整個瘦身過程。

這里推薦使用 vdi 格式的虛擬磁盤格式,后續在磁盤空間吃緊的情況還可以使用下述命令調整大小:

$ VBoxManage modifyhd xxx.vdi --resize the_new_size

1.5 使用 VMDK 格式的磁盤掛載(方案二,未驗證)

如果由于特殊原因必須使用 vmdk 格式的虛擬磁盤,我們需要將瘦身后的 vdi 格式文件重新轉換為 vmdk 格式:

$ VBoxManage clonehd ubuntu-hirsute-21.04-cloudimg.vdi ubuntu-hirsute-21.04-cloudimg_new.vmdk --format vmdk

這里可以選擇如上述方案相同的方式,通過去除虛擬磁盤再添加新的磁盤,如果使用原有的文件名字覆蓋的話,由于轉換過程中生成了新的 UUID,則會導致 VirtualBox 不能夠識別新的虛擬磁盤,這里需要重新設置 UUID。

 $ vboxmanage internalcommands sethduuid ./ubuntu-hirsute-21.04-cloudimg <原 UUID 在此>

1.5.1 錯誤解決:

$ VBoxManage clonehd ubuntu_21_04_default_1632463892989_42055/ubuntu-hirsute-21.04-cloudimg.vdi  ubuntu-hirsute-21.04-cloudimg.vmdk --format vmdk
VBoxManage: error: UUID {6438d068-ae7b-467d-ab30-6e1228c30bd9} of the medium '/Users/dwh0403/VirtualBox VMs/ubuntu_21_04_default_1632463892989_42055/ubuntu-hirsute-21.04-cloudimg.vdi' does not match the value {46de9fce-0055-472b-aee2-128509e3685d} stored in the media registry ('/Users/dwh0403/Library/VirtualBox/VirtualBox.xml')
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MediumWrap, interface IMedium, callee nsISupports
VBoxManage: error: Context: "CloneTo(pDstMedium, ComSafeArrayAsInParam(l_variants), NULL, pProgress.asOutParam())" at line 1068 of file VBoxManageDisk.cpp

如果有上述報錯,建議修改 vmdk 生成的文件名重試。

1.6 總結

最后,我們可以已經成功完成了 VM 虛擬空間的瘦身,這對于我們在某些場景下進行功能測試還是非常有幫助。

1.7 參考

  • How to compact VirtualBox’s VDMK file size

  • VirtualBox ( 簡體中文 )

  • VM VirtualBox? User Manual

總結

以上是生活随笔為你收集整理的VirtualBox VM 空间瘦身记(vmdk)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线v | 欧美另类性 | 国产伦理吴梦梦伦理 | a级在线视频 | 欧日韩av | 一道本一区二区 | 欧美成人a视频 | 狠狠干精品 | 香蕉成人在线视频 | 免费精品视频一区二区三区 | 国产操视频 | 国产无码日韩精品 | 国产av无码专区亚洲av毛网站 | 毛片福利视频 | 中文字幕在线一区二区三区 | 黄色一级免费观看 | 国产影视av| 成年人免费小视频 | 国产午夜视频在线观看 | 女同另类之国产女同 | 999国产精品| 日韩经典av | 黄色一级视频免费 | 久久中字| 五月天丁香激情 | 久久久精品免费 | 精品视频国产 | av高清在线观看 | 操女人免费视频 | 九九视屏| 不卡av中文字幕 | 依人99| 久久艹这里只有精品 | 狠狠人妻久久久久久综合麻豆 | 91av日本 | 欧美自拍偷拍一区 | 成人在线观看亚洲 | 一级片特黄 | 日本中出视频 | 国产av精国产传媒 | 日本中文字幕影院 | 一区久久 | 国内精品视频在线播放 | 欧美影院久久 | 色盈盈影院 | 花房姑娘免费全集 | 成人在线免费网站 | 久久久久夜 | 国产一区精品在线观看 | av尤物| www.在线观看网站 | 国外成人在线视频 | 欧美人与动牲交a欧美精品 欧美三级在线看 | 久久99国产精品一区 | 高清欧美性猛交xxxx黑人猛交 | 免费极品av一视觉盛宴 | 今天最新中文字幕mv高清 | 久久免费播放视频 | 欧美在线免费观看视频 | 亚洲熟悉妇女xxx妇女av | 最近高清中文在线字幕在线观看 | 无码人妻少妇伦在线电影 | 国产白袜脚足j棉袜在线观看 | 久久黄色免费视频 | 国内精品第一页 | 天天干天天干天天干天天 | 老熟女高潮一区二区三区 | 国产免费资源 | 茄子爱啪啪 | 51精产品一区一区三区 | 国产麻豆一区二区 | 色乱码一区二区三在线看 | 精品亚洲永久免费 | 久久免费精品国产 | 国产美女无遮挡免费 | 日本老熟妇毛茸茸 | 国产成人精品123区免费视频 | 婷婷综合一区 | 伊人久久精品 | 美女福利影院 | 日韩免费看片 | 久久青青| 夜夜爽影院 | 欧美色性视频 | 色人阁五月 | 天天艹天天操 | 亚洲第八页 | 一区二区三区日韩欧美 | 中文字幕88页 | 免费在线国产视频 | 国内视频自拍 | 国产乱色精品成人免费视频 | 四虎永久在线精品 | 亚洲一区电影在线观看 | 成人激情视频在线播放 | 人妻妺妺窝人体色www聚色窝 | 操操日 | 成年人视频免费在线观看 | 亚洲欧美视频一区二区 |