webplatform
html5doctorW3C
2012年10月11日 星期四
2012年10月1日 星期一
在mac中,用 Virtualbox boot 外部實體裝置的問題
問題一(已解決):vmdk建好了,卻無法加入VM?
如何用 VBoxManage 建立一個指向實體裝置的 vmdk 檔,google一下就會有很多資料。
要注意的是,在mac下這個指令必須以sudo執行。
然後在Virtualbox GUI畫面,建立新的VM、「加入現有硬碟」這一步就卡住了。
(注意,在加入硬碟時必須把該硬碟「Eject(退出)」。OSX會自動加載,請把它退出。否則Virtualbox會告訴你「resource busy」。)
http://ubuntuforums.org/showthread.php?t=1914382
https://forums.virtualbox.org/viewtopic.php?f=8&t=50326
上面兩篇討論串指出,The medium <filename> can't be used as the requested device type 錯誤是使用者權限的問題。
我試過對該vmdk檔以 chown 把擁有者改回自己、以 chmod 把權限改成777,即使如此還是無法加入硬碟。
猜想,應該是由於該檔案指向/dev/disk2,而/dev底下的裝置只有root權限才能存取所致。
故解法變成,`sudo Virtualbox`:以root權限啟動Virtualbox。
這方法work,不過要注意開起來的Virtualbox會與你平常用的分開。在這裡創建的東西會存在 /var/root/VirtualBox VMs/ 底下。
雖然每次用都要以root權限較麻煩,但至少可以work。
[2012/10/2 下午11:05 更新]
找到mac的解法了,網址如下:http://www.garrettbartley.com/2010/06/12/running-bootcamp-using-virtualbox/
linux的解法是讓user加入disk群組,以取得磁碟存取權限;然而mac無法這樣做。上述網頁是將/dev/disk1用chmod改變權限;然而重開機即失效,故令寫一支applescript並存為應用程式。
問題二:無法以EFI開機
我目前遇到第二個還沒能解決的問題是,當外部裝置以EFI開機會失敗。
日前製作了一份小白整顆硬碟的拷貝,OSX已經安裝rEFInd。照理說這顆硬碟開機會進入rEFInd的選單畫面,但VirtualBox只是閃了一下就結束程式了。
問題三(已解決) :eject flash USB,/dev/disk2卻不見了?
在Finder「退出」,對不同USB裝置的意義也不同。退出外接硬碟,/dev/disk2還會留著;退出flash USB,/dev/disk2會一起消失。
解法是,在終端機下指令`diskutil unmountDisk /dev/disk2`.
這樣Finder上的圖示會消失,而/dev/disk2卻會留下來。
參考:http://apple.stackexchange.com/questions/40112/how-do-i-mount-ejected-external-usb-flash-storage
問題四:用實體裝置的vmdk當做硬碟,會無法透過光碟開機
其實還有一種可能,即root權限下的VirtualBox不能做這件事。這想法不太合理,但我還沒測試過所以還是不將他排除。
如何用 VBoxManage 建立一個指向實體裝置的 vmdk 檔,google一下就會有很多資料。
要注意的是,在mac下這個指令必須以sudo執行。
然後在Virtualbox GUI畫面,建立新的VM、「加入現有硬碟」這一步就卡住了。
(注意,在加入硬碟時必須把該硬碟「Eject(退出)」。OSX會自動加載,請把它退出。否則Virtualbox會告訴你「resource busy」。)
http://ubuntuforums.org/showthread.php?t=1914382
https://forums.virtualbox.org/viewtopic.php?f=8&t=50326
上面兩篇討論串指出,The medium <filename> can't be used as the requested device type 錯誤是使用者權限的問題。
我試過對該vmdk檔以 chown 把擁有者改回自己、以 chmod 把權限改成777,即使如此還是無法加入硬碟。
猜想,應該是由於該檔案指向/dev/disk2,而/dev底下的裝置只有root權限才能存取所致。
故解法變成,`sudo Virtualbox`:以root權限啟動Virtualbox。
這方法work,不過要注意開起來的Virtualbox會與你平常用的分開。在這裡創建的東西會存在 /var/root/VirtualBox VMs/ 底下。
雖然每次用都要以root權限較麻煩,但至少可以work。
[2012/10/2 下午11:05 更新]
找到mac的解法了,網址如下:http://www.garrettbartley.com/2010/06/12/running-bootcamp-using-virtualbox/
linux的解法是讓user加入disk群組,以取得磁碟存取權限;然而mac無法這樣做。上述網頁是將/dev/disk1用chmod改變權限;然而重開機即失效,故令寫一支applescript並存為應用程式。
問題二:無法以EFI開機
我目前遇到第二個還沒能解決的問題是,當外部裝置以EFI開機會失敗。
日前製作了一份小白整顆硬碟的拷貝,OSX已經安裝rEFInd。照理說這顆硬碟開機會進入rEFInd的選單畫面,但VirtualBox只是閃了一下就結束程式了。
問題三(已解決) :eject flash USB,/dev/disk2卻不見了?
在Finder「退出」,對不同USB裝置的意義也不同。退出外接硬碟,/dev/disk2還會留著;退出flash USB,/dev/disk2會一起消失。
解法是,在終端機下指令`diskutil unmountDisk /dev/disk2`.
這樣Finder上的圖示會消失,而/dev/disk2卻會留下來。
參考:http://apple.stackexchange.com/questions/40112/how-do-i-mount-ejected-external-usb-flash-storage
問題四:用實體裝置的vmdk當做硬碟,會無法透過光碟開機
其實還有一種可能,即root權限下的VirtualBox不能做這件事。這想法不太合理,但我還沒測試過所以還是不將他排除。
訂閱:
文章 (Atom)