2013-04-05

Ubuntu 掛載 VirtualBox VDI 磁碟

如果你有個檔案放在 VirtualBox 的 VDI 磁碟裡,然後,你又不想為了要拿那個檔案而新增一個虛擬機器,或是,你想要「共用」某一個虛擬機器的硬碟,但是,又不想去把那台虛擬機器給啟動的話,那麼就可以考慮用阿舍要介紹的這個方法,就是如何把 VDI 檔案裡的磁碟拿來掛載在 Host 上用哩 !

FUSE 運作方式 (Credit Synology)
在 Ubuntu 上要能夠掛載 VirtualBox 的 VDI 磁碟的方法,就是要安裝一個叫做「virtualBox-fuse」的套件,但是,這個套件不是 VirtualBox 官方的,所以,如果是從 VirtualBox 官網下載檔案來安裝的話,是不會有 virtualbox-fuse 這個套件的,因此,需要用下面的指令來從 Ubuntu 的 PPA 安裝,但是,這樣子的話,VirtualBox 會整個重新安裝成舊版的 VirtualBox 哩 !

sudo apt-get install virtualbox-fuse

阿舍有研究了一下,想找看看有沒有只安裝 virtualbox-fuse 來用而不需跟著安裝 Virtulabox 的方法,但是,很不幸的,阿舍是沒有找到不去重裝 VirtualBox 就能安裝用 virtualbox-fuse 的方法,所以,如果有想要用阿舍介紹的這個方式來掛載 VirtualBox 的 VDI 檔案的話,那就請先確定你有重裝 VirtualBox 的打算哩 ! (請不用測試用新版蓋舊版來留下 virtualbox-fuse 檔案的方式,因為要移除舊版才能安裝新版哩 ! ==! )

有確定並且安裝好 virtualbox-fuse 之後,接下來,就可以開始來掛載 VDI 檔案了,整個載 VDI 的動作有二段,首先,要先用下面的指令來把整 VDI 給掛起來,以阿舍要把 arthurtoday.vdi 檔案掛到 /media/vdi 資料夾為例,操作指令如下。( /media/vdi 資料夾是要事先建好的)

sudo vdfuse -f /home/arthuryu/arthurtoday.vdi  /media/vdi

掛載好 VDI 檔案後,用 ls 指令來看掛載點的話,會出現「EntireDisk」、「Partition1」和「Partition5」等的項目,這個時候是還不能夠直接存取 VDI 檔案的磁碟的,還需要再透過 Mount 指令來掛載才行,所以,請用下面的指令來掛載 Partition1,這樣,在掛載成功後,就可以正常的來讀寫了哩 ! ( /media/vm 資料夾也是事先建好的)

sudo mount /media/vdi/Partition1 /media/vm

如果不想安裝舊版的 VirtualBox 的話,還有一個方式好像也可以達到上面的效果,那就要透過 guestmount 這支程式,不過,因為 guestmount 是來自 Qemu-KVM 套件,所以,一安裝這支程式就幾乎會把整 Qemu-KVM 給安裝起來了,阿舍試到一半就裝了一堆軟體,然後,又有錯誤訊息,所以,阿舍就放棄了哩 ! 有興趣的話,請參考這篇這篇來試試囉 !

參考資料


[+] Ubuntu 指令新手會用到的35個技法 - 這是以阿舍的使用經驗編寫出來的電子書,三天內應該就看的完,學的起來哩 ! 有空就參考一下囉 ! ... ^^=

關於阿舍

好文不藏私,請多分享囉!! ^^=



沒有留言 :

張貼留言

如果留言後,發現留言不見了,這通常是因為 Goolge 把它認為是垃圾留言了,請用信件通知阿舍調整 ( ayubiz@gmail.com )。謝謝 !