しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

MacBook Pro (Retina, 13-inch, Late 2013) でも Hyper-V を利用するための方法

タイトルは半分ぐらい釣りです。でも、嘘は書いていません。

MacBook Pro (Retina, 13-inch, Late 2013) に Windows 8.1 Pro をインストールしたので - しばやん雑記 ではファームウェアでの仮想化が有効になっていないため、Hyper-V をそのままでは使えないということを書きましたが、ちょっと OS X 側で作業してから Windows に戻ってくると有効になっていました。

f:id:shiba-yan:20140613220203p:plain

これで Hyper-V を動かすために必要な機能が全て有効になったので、Windows の機能の有効化画面から Hyper-V を選択して、インストールすることが出来るようになりました。

f:id:shiba-yan:20140613214820p:plain

とりあえずこれで Hyper-V は使えるようになったわけですが、何で急にファームウェアでの仮想化が有効になったのかを考えました。

といってもほぼ原因は確定していますね。OS X で一度起動して、Windows に切り替えるという手順を踏むと、ファームウェアでの仮想化つまり VT-x が有効になったままになります。そして Windows 側で再起動してしまうと VT-x は無効に戻ってしまいます。

f:id:shiba-yan:20140613215324p:plain

まとめると以下のような感じです。

  • Windows では VT-x が無効
  • OS X では VT-x が有効
  • OS X -> Windows でも有効のまま
  • Windows -> Windows では無効になる

いつも通り Apple がファームウェアレベルでブロックしているか、それともバグでこのような挙動になっているかだと思います。

Early 2011 の MacBook Pro では Hyper-V が普通に使えていたので、ファームウェアアップデートでこっそり修正を入れてくるようなことがあるのを祈ります。