bootcampを使ってWindowsを使っていたが、bootcampを使うと以下の弊害がある。
- bootcampのレガシーOSサポート機能により、今どきのUEFIではなく、MBRを使った起動をする
- そのせいで、intel-VTが有効にならず、boot2dockerやAndroidエミュレータ、VirtualBoxが動作しない
最近のPCはBIOSではなく、UEFIという仕組みで起動するらしい。
いろいろ試した結果、Macだけでパーティション作ってもダメ、Windowsだけでパーティションを作ってもダメで、Macto最終的にOSXとWindowsのデュアルブート環境の構築に成功した。
やりかた
当方の環境は以下の通り。
- MacBookPro 13-inch Late2011
- Core i5
- メモリ 8G x2
- SSD256G(光ディスクドライブを換装)
- HDD1T(HDD500Gを換装)
今回、以下ようなパーティションを作成する。
- SSD256G
- HDD1T
まず、Windowsの回復ディスクのUSBメモリを用意しておく。Windowsのインストールディスクでも良いが、Windows8のインストールディスクがUEFIで起動できなかったりしたので、USBメモリのほうが良さそうである。
- Windows7→http://www.atmarkit.co.jp/ait/articles/1204/06/news126.html
- Windows8、8.1→ http://windows.microsoft.com/ja-jp/windows-8/create-usb-recovery-drive
- Windows10→https://www2.mouse-jp.co.jp/ssl/user_support2/sc_faq_documents.asp?FaqID=20376
- 筆者はWindows10で実施
MacPCに、Windows回復ディスクUSBと、Windows10のインストールディスク(USB接続)を接続し、optionキーを押しながら起動する。すると、USBメモリの"EFI boot"メニューが表示されるので、選択する。
回復ディスクで、コマンドプロンプトを開くことができるので、開く。 DiskPartコマンドを使って以下を行う。
>DiskPart lisk disk //ここで容量から、disk0とdisk1のどちらがSSD、HDDであるか判定した。 //当方環境は、HDDがdisk0、SSDがディスク1であった。 //まず、disk0の内容を消去し、GPTというフォーマットに変更する select disk 0 clean convert gdt //次にEFIパーティションを作成する。 //上記のみでWindowsのインストールを開始すると、EFIパーティションは作られないため、 //ここでEFIパーティションのみ作成する。 create partition EFI size=200 format quick fs=fat32 label="EFI" //次にdisk1もフォーマットする //Macが起動できる状態では、うまくいかなかったので、Macも削除する select disk 1 clean convert gpt //終了 exit
Windowsのインストールディスクを挿入し、Windowsのインストーラをコマンドプロンプトから起動する。
>d: >dir //setup.exeがあることを確認。なければ、e:、f:、、、と確認する。 >setup.exe
インストール先を選ぶ画面まで進み、HDDに"新規"でパーティションを追加する。この時、Macでも容量の半分を使いたい場合は、容量を設定する。この時、Macで使うパーティションは作成しないこと! この時、追加のパーティションを作るように聞かれるが、「はい」と答える。
そのまま、Windowsのインストールを完了させる。この時点ではOSXを削除しているため、再起動してもWindowsのみが立ち上がるはずである。
Windowsのインストール後、Bootcampドライバをサイトからダウンロードし、インストールする。
https://support.apple.com/ja_JP/downloads/macoscomponents
これで、Windowsは完了。 一度電源を落とし、Command+Pを押しながら起動する。すると、インターネットからユーティリティを自動でダウンロードして起動する。
ここで、ディスクユーティリティの前に、上部メニューから"ターミナル"を起動する。ターミナルでは、以下を行う。
//まず、マウントを解除する #diskutil unmountDisk disk0 #diskutil unmountDisk disk1 //どちらがWindowsのインストールしたディスクであるか、"GPT part"の数で判定する。 //私の環境では、disk0に3つあった。 #gpt show disk0 #gpt show disk1 //ここに、430GBのパーティションを追加する。残り全部与えても良さそうだが、私は行わなかった。 #gpt add disk0 -s 430000
これで、ターミナルを終了し、メニューからディスクユーティリティを開いて、以下を行った。詳細は省略する。
その後、メニューからOSXのインストールを行った。私の環境では、これでOSXが自動で立ち上がる環境になった。
Windowsに切り替える場合は、再起動や電源オンした時にoptionボタンを押して起動し、"EFI boot"と書かれたドライブを選択すると、Windowsが起動する。MacからはWindowsのドライブが見え、Windowsからもbootcampドライバをインストールすれば、Macのドライブが見えるようになった。
Windowsでintel-vtが有効であるかは、以下のVirtualCheckerを入れると確認できる。
http://openlibsys.org/index-ja.html
あとは、遭遇した問題について、記述する。
問題1 bootcampで使ってたWindows10を使うと、ライセンス認証が通らない
bootcampを使っていた時に、Windows8.1からWindows10に無償バージョンアップし、プロダクトキーを調べるツールを使ってWindows10のプロダクトキーを入れ、Windows10をクリーンインストールした。UEFIに変更後、インストール時にはこのプロダクトキーは使えたが、起動後ライセンス認証ができないと表示された。
Microsoftのライセンス認証窓口に電話して、事情を説明したところ、テクニカルサポート窓口に電話するよう言われた。テクニカルサポート窓口で以下のことを説明したところ、新しいプロダクトキーを発行してもらえた。
- Windows10はWindows8.1から無償アップグレードしたものか?→したものである。
- Windows10のクリーンインストールの目的はなにか?→bootcampではintel-vtが使えないため。
- アップデート前のWindows8.1は別のところで使っていないか→使っていない
- Windows10のプロダクトキー
- Windows8.1のプロダクトキー(口頭で伝えるのは大変だった)
- クリーンインストール後、ハードウェアは変わっていないか?→変わっていない。
やったね!
問題2 OSXでパーティションを作ると、Windowsでインストールできない
OSXでパーティションを作ると、擬似MBRとなるらしいパーティションができてしまうらしい。Windowsインストール時には、MBRレコードがあると認識されるため、UEFIでインストール出来なくなってしまう。
よって、Windowsのインストール完了までは、一切Mac側でパーティションを作成しないようにする。これからOSXも一度削除する必要があった。
問題3 Windowsでパーティションを作ると、OSXでフォーマットできない
Windowsで作ったパーティションを、OSXで使うためにOSXのディスクユーティリティでフォーマットをしようとしたところ、MediaKitではサイズが小さいと認識されていると、表示されフォーマットできなかった。
OSXで作成したパーティションをWindowsで見てみると、パーティション間に未使用領域があると表示された。どうやらOSXでパーティションを作るときには、余分なディスク容量が必要なようである。
よって、Windowsでパーティションを作るときにはOSX用の容量を残しておき、Windowsインストール完了後にOSXのパーティションを作成した。
問題4 Windowsを普通にインストールすると、EFIパーティションを作らないため、OSXインストール後起動できなくなる。
普通にWindowsをインストールすると、EFIパーティションを作らないため、目的のUEFIでの起動がOSXインストール後はできなくなってしまう。
Windowsのインストーラを使う前に、コマンドプロンプトからDiskPartを使って、EFIパーティションだけ用意する必要があった。
問題5 よくわからないがWindowsのインストールディスクが起動できない
Windowsの回復ディスクを使い、そこからWindowsのインストーラを起動することで、解決した。
問題6 OSXが起動できる状態になっていると、Windowsがインストール出来ない
Windowsのインストーラで、再起動後Windowsを起動させることができないので、インストールできないと表示されることがあった。そのため、OSXを削除した状態で、Windowsをインストールしたところ、成功した。
結果
OSXとWindowsの両方のパーティションを持つディスクドライブの作成方法が見つかるまで、なかなか大変だったが、Dockerが思う存分使えるWindowsマシンが手に入ったので、マシンをもう一台買うよりはかなりお得に環境を作成できた!