2019年9月13日 星期五

Mac上以VirtualBox啟動USB上的系統

手上有個Ubuntu 16.04系統安裝在USB隨身碟上,Host系統是macOS Mojave。欲使用VirtualBox,透過USB來啟動隨身碟上Ubuntu。做這件事情的流程是,先讓host system可以辨識USB為硬碟,之後再使用VirtualBox開啟這個系統。另外,由於我的USB隨身碟上面有兩個分割區,故會與一般的做法又有點不同。我的步驟如下

步驟一:找到插入的USB隨身碟的編號,並將其卸載。因為掛載的磁區沒辦法被VirtualBox所使用,必須要卸載;但在macOS上面直接從圖示做eject的話,系統會把整個USB device從/dev/裡面拿掉,故只能夠用指令的方式做卸載
  • diskutil list
    在這邊我的USB隨身碟的編號是/dev/disk3,下面有兩個分割區
    /dev/disk3s1  <= 這邊放一個FAT32的磁區
    /dev/disk3s2  <= 這邊才是Ubuntu 16.04的系統放置區
  • diskutil unmountdisk /dev/disk3
    Unmount of all volumes on disk3 was successful

步驟二:修改這個USB device在 /dev下面的設備檔案權限。預設這些設備的使用者都是root,這樣會造成VirtualBox在使用的時候因為權限不足而無法製作虛擬硬碟。修
  • sudo chown $(whoami) /dev/disk3*


步驟三:製作VMDK虛擬硬碟檔案,要注意此指令的虛擬硬碟檔案要用絕對路徑
  • VBoxManage internalcommands createrawvmdk -filename /Users/your-username-here/Documents/usbdrive.vmdk -rawdisk /dev/disk3
    RAW host disk access VMDK file /Users/your-username-here/Documents/usbdrive.vmdk created successfully

步驟四:再次卸載USB device。改完權限之後,macOS又會雞婆的把USB device重新掛載一次,故必須要再次卸載之後才能夠使用
  • diskutil unmountdisk /dev/disk3

步驟五:設定步驟三的VMDK檔案為VirtualBox的開機硬碟。開啟VirtualBox,弄出一個新的虛擬機器,在Hard disk選擇的時找到下面選項
  • Use an existing virtual hard disk file

參考資料

_EOF_

沒有留言:

張貼留言