1. 程式人生 > >在 Ubuntu 裡直接掛載 VirtualBox/VMware 分割槽(vdi/vmdk) 檔案

在 Ubuntu 裡直接掛載 VirtualBox/VMware 分割槽(vdi/vmdk) 檔案

轉載自:好記性不如爛筆頭─Ubuntu Note, 不同的是我mount的是vmware的vmdk檔案, 當然virtualbox也支援這個格式。

  • sudo apt-get install virtualbox-fuse
  • mkdir -p ~/vmdisk
  • sudo vdfuse -t VMDK -f ~/VirtualBox\ VMs/ubuntu/work.vmdk ~/vmdisk/

進入~/vmdisk/,發現只有一個EntireDisk,

根據下面說的,然後對EntireDisk進行mount:

  • mkdir -p vmdisk-1/
  • mount ~/vmdisk/EntireDisk  vmdisk-1/

至此OK,進入 vmdisk-1/即可看到所有mdisk上的東西了。

原文如下:

翻譯得比較匆忙,有點不太像中國話。本文最後有操作例項。

想在 Ubuntu 12.04/12.10 掛載 VirtualBox 的 VDI 分割槽檔案? 用 vdfuse 就可以了。這個使用者空間檔案系統(FUSE)模組通過 VirtualBox 訪問庫開啟 VirtualBox 支援的虛擬盤映象檔案,並且把它作為一個FUSE檔案系統掛載。掛載點裡是一個平面檔案目錄,包括整盤、分割槽1、分割槽2........。一直到最後一個分割槽。      (注,沒看懂的直接看最後的例項。)


在 12.10/12.04 中安裝 vdfuse 

開啟終端,輸入:

sudo apt-get install virtualbox-fuse

vdfuse 的使用:

vdfuse 命令的語法規則:

vdfuse [options] -f image-file mountpoint

    -h 幫助

-r 只讀

-t 型別 (VDI, VMDK, VHD, or raw; default: auto)

-f 映象檔案

-a 允許所有使用者讀取

-w 允許所有使用者都寫

-g 前臺執行

-v 輸出反饋

-d debug模式

注意:必須編輯一下 /etc/fuse.confand ,去掉 "user_allow_other" 前面的註釋符號,否則不能正確執行。

示例:

使用如下如下語句掛載 .vdi 檔案

sudo vdfuse -f /path/to/file.vdi /path/to/mountpoint

/path/to/mountpoint 應該包含如下檔案 ‘EntireDisk', ‘Partition1′, 等。 如果只有一個檔案,你可能需要這樣掛載:

mount /path/to/mountpoint/Partition1 /path/to/someother/mountpoint

檔案系統就掛載到 /path/to/someother/mountpoint 了。 

【譯文 over】

 如果你使用低版本,比如我的工作機用的Ubuntu 10.04。那麼這樣安裝:

$ sudo add-apt-repository ppa:debfx/virtualbox

$ sudo apt-get update

$ sudo apt-get install virtualbox-fuse

 然後: sudo gedit  /etc/fuse.confand 。去掉 user_allow_other 前面的 #。

然後:

$cd /media

$sudo mkdir vdisk

$sudo vdfuse -f /home/ray/VirtualBox\ VMs/HardDisks/E-Port.vdi /media/vdisk -w

開啟資料夾,裡面倆檔案,如圖:


然後:

$cd /media

$sudo mkdir Partition1

$sudo mount /media/vdisk/Partition1 /media/Partition1

執行結果如下


我是個懶人,要是有個圖形化的工具就好了。