Boot Camp でインストールした Windows10 を Virtual Box で動かす
Boot Camp でインストールした Windows10 を Virtual Box で動かす方法について、他のサイトなどにも近い内容のものがあったのですが、OSのバージョンなどが変わってそのままだとうまくいかなかったので、2017年4月現在でうまくいった方法を記載しておきます。
動機
そもそも何でこんなことをする必要があるの?って話
- 基本的に母艦は Mac なので、Mac でできる開発(スマホアプリ開発、サーバプログラム開発)は全て Mac でやる
- Windows でしかできない開発(Windows アプリとか) は Boot Camp で Windows 立ち上げて開発する
- 顧客が Windows を使っている場合が多々あるので、ドキュメント類送付する時は、Virtual Box でWindows 立ち上げて、資料が正常に見れることを確認する。(このためにBoot Camp で Windows 立ち上げるのはしんどい。)
上記の使い方をしますが、Windows 環境が2つあると管理が面倒なので、一つにしたい。
環境
- Mac Book Pro 2015
- macOS Sierra 10.12.4
- Boot Camp 6.1.0
- Virtual Box 5.1.20
- Windows10 Professional
ひとことで
SIPを無効化することと、仮想マシンイメージをIDEコントローラでつなぐところがポイントのようです。
注意点
- すべて自己責任でお願い致します。
- Boot Camp 用と仮想環境用の 2つの Windows ライセンスが必要です。
前提
- Windows は Boot Camp であらかじめインストールしておく
手順
- SIP無効化
- Boot Camp のパーティションを確認
- Boot Camp 領域のマウント解除
- パーミッション設定
- Boot Camp パーティションからVirtual Box 用仮想ディスクイメージ作成
- Virtual Box で仮想マシン作成・設定
- 起動
1. SIP無効化
SIP(System Integrity Protecton) はMac OS El Capitanから搭載された OS の保護機能の一つです。標準で有効になっていますが、今回は無効化しないと手順5. の仮想ディスクイメージの作成で、Virtual Box が正しく読み込みを行えず、エラーを吐きます。(ここで大分ハマりました)
無効化するやりかたはこちら を参考に。
やり方は簡単で、リカバリモードで起動して csrutil disable
実行すれば良いです。
2. Boot Camp のパーティションを確認
SIP無効化した状態で通常起動したら、diskutilを使って Boot Camp のパーティションの状態を確認します。
1 2 3 4 5 6 7 8 9 |
$ diskutil list /dev/disk0 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *500.3 GB disk0 1: EFI EFI 209.7 MB disk0s1 2: Apple_CoreStorage Macintosh HD 371.4 GB disk0s2 3: Apple_Boot Recovery HD 650.0 MB disk0s3 4: Microsoft Basic Data BOOTCAMP 128.1 GB disk0s4 |
NAME が EFI となっているものと、BOOTCAMP となっているものの、IDENTIFIER をメモしておきます。この場合だと disk0s1、disk0s4 ですね。
3. Boot Camp 領域のマウント解除
Boot Camp を使うと、Boot Camp 領域は Mac OS で自動的にマウントされていますが、これを一旦解除します。
1 2 |
$ diskutil umount /Volumes/BOOTCAMP |
大体上記コマンドでいけると思いますが、念のため確認するのであればMac に入っているアプリ「ディスクユーティリティ」(ユーティリティ内にある)で、Boot Camp パーティションのマウントポイントを調べることができます。
4. パーミッション設定
先程確認した EFI、BOOTCAMP パーティションのパーミッションを変更します。(フルアクセスまでは必要ないかも)
1 2 3 |
$ sudo chmod 777 /dev/disk0s1 $ sudo chmod 777 /dev/disk0s4 |
5. Boot Camp パーティションからVirtual Box 用仮想ディスクイメージ作成
Boot Camp パーティションからVirtual Box 用仮想ディスクイメージ作成します。
下記コマンドを実行します。
1 2 |
$ sudo VBoxManage internalcommands createrawvmdk -rawdisk /dev/disk0 -filename win10raw.vmdk -partitions 1,4 |
win10raw.vmdk
の部分は出力するファイル名ですので、お好きな名前でOKです。-partisions 1,4
は EFI、BOOTCAMPパーティションの IDENTIFIER の最後の数字です。ここではそれぞれ disk0s1、disk0s4 でしたので、 1,4
の指定となります。
加えて、作成したディスクイメージの所有者を自分に変更しておきます。
1 2 |
$ sudo chown `whoami` *.vmdk |
6. Virtual Box で仮想マシン作成・設定
後は Virtual Box の方の設定です。
まずは Virtual Box を立ち上げて、左上の「新規」より新しい仮想マシンを作成します。
仮想マシンの名前を設定し、OSを選択します。
割り当てるメモリ量を選択する画面になります。後でも変更できるので、ひとまず 4G 割り当てるようにしました。
ハードディスクを選択する画面に進みますが、ここでは「仮想ハードディスクを追加しない」を選択します。
警告がでますが、無視して進めます。
続いて、作成した仮想マシンの設定を行います。
まずは「システム」内の拡張機能「EFIを有効化(一部のOSのみ)」にチェックを入れます。
続いて、「ストレージ」内の下部にある「新しいストレージコントローラを追加」で「IDEコントローラを追加」を選択します。
追加した「コントローラ: IDE」にある「ハードディスクを追加」を選択します。
「既存のディスクを選択」を選択し、先程作成した win10raw.vmdk ファイルを指定します。下図のような状態になるかと思います。追加したハードディスクの「実際のサイズ」がBoot Camp で割り当てた Windows のパーティションのサイズと近い値になっていることを確認してください。
以上で設定は完了です。
7. 起動
仮想マシンを起動します。
初回起動時、起動ディスクが空みたいな警告がでる場合がありますが、無視して継続するようにします。(二回目以降は警告はでないと思います)
これで起動ができれば、完成です!
ただし、Mac を再起動した後は手順3、4は再度必要となります。下記コマンド実行後に Virtual Box 立ち上げてください。
1 2 3 4 |
$ diskutil umount /Volumes/BOOTCAMP $ sudo chmod 777 /dev/disk0s1 $ sudo chmod 777 /dev/disk0s4 |
さいごに
大分ハマりましたが、なんとか構築できました。どれくらい要望があるかわかりませんが、特にSIP導入以降の方法についての日本語記事が見つけられなかったので載せておきます。
繰り返しになりますが、あくまで自己責任でお願いしますね。
最後まで読んでいただきありがとうございます。 このブログを「いいな」と感じていただけましたら、Twiter にてフォローいただけるとうれしいです。ブログ更新情報などもお届けします。
Follow @ryuta461
この記事をシェアする