USB-HDD に入ったOSを起動したい
VMWare Fusion を持ってたんですが。ライセンスどっか行った。仕方ないのでVirtualBoxで出来ないか調べてみた。
調べたらできることがわかったFusionいらんやん。
USBメモリのDeibanの起動を試す。
コマンドから、仮想マシンを作ればいける。と分かった。
まずは、ディスクの確認
殆どの場合 /dev/disk0 がCoreStorage で SSD /dev/disk1 がCoreStorage経由で見えるドライブのようですね。
なので、USBドライブを使うとdisk2からになるのでしょうか。
takuya@~$ diskutil list /dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *15.4 GB disk2 1: Bios Boot Partition 1.0 MB disk2s1 2: EFI NO NAME 209.7 MB disk2s2 3: Linux Filesystem 536.9 MB disk2s3 4: Linux Swap 536.9 MB disk2s4 5: Linux Filesystem 14.1 GB disk2s5
コマンドから仮想マシンのディスクの作成。
ディスクの確認が出来たら、仮想ディスク作成
$ VBoxManage internalcommands createrawvmdk -filename ~/VirtualBox\ VMs/usbdrive.vmdk -rawdisk /dev/disk2 RAW host disk access VMDK file /Users/takuya/VirtualBox VMs/usbdrive.vmdk created successfully.
コマンドがややこしいので一つ一つ見ておくことにする。
VBoxManage \ internalcommands createrawvmdk \ #新規VM作成サブコマンド -filename ~/VirtualBox\ VMs/usbdrive.vmdk \ # 新規VMのディスク・ファイル -rawdisk /dev/disk2 # 接続するドライブ(ディスク)
これで、UBSストレージに直結したVirtualBoxドライブが作成された。
注意点。
仮想ドライブが直結したUSBドライブを利用するユーザーが、一般ユーザーの場合に、権限エラーで堕ちるので、Permissionには注意する必要があった。
Permissionに注意する
takuya@VirtualBox VMs$ ls /dev/disk2 -l brw-r----- 1 root operator 1, 5 2016-10-25 17:47 /dev/disk2 takuya@VirtualBox VMs$ sudo chmod 770 /dev/disk2 takuya@VirtualBox VMs$ ls /dev/disk2 -l brwxrwx--- 1 root operator 1, 5 2016-10-25 17:47 /dev/disk2
適当な権限設計だけど権限を付けておいたら上手く行った
最後に仮想マシン作成
ここまで準備できたら、最後にこの仮想ディスクを接続した仮想マシンを作成する。
新規仮想マシンの画面で、USBドライブ接続設定したvmdk を選んで新規作成し、あとは起動
動作確認
Ubuntu LTS 16.04で正しく起動することを確認した。
個人的感想ですが、VmWare Fusionに比べてパフォーマンスはイマイチだよねVirtualbox
/dev/disk に直結するので
/dev に直結することを考えれば、なんでも起動できるんじゃないかな。
ソコから想像するにBootCampのWindowsなども起動できるんじゃないかな。
ただしBootCampのwindowsは、起動するのにEFIで起動するため、EFIパーティションも必要になるとおもう。EFIパーティションを用意したりするのは、ちょっと設定は面倒かもしれない。
LinuxのVirtualBoxでやるなら、/dev/sdX に繋げばいいか。WindowsのVirtualBoxだとどうやるんだろうか。
参考資料
http://www.sysprobs.com/mac-os-x-host-boot-virtual-machine-from-usb-in-virtualbox