MacBook AirにWindows10いれた

MacBook Air 13-inch Mid2011でmacOSのサポートが切れたため、Windows10を入れて使い続ける事を考えた。

2006年にIntel Macが登場してから、MacにWindowsを入れることは造作もないことだ。問題と言えば、ビデオ、サウンド、NICをはじめ、キーボード、カメラ、Bluetoothなどあらゆるハードのドライバを準備できるかだけだ。

Apple純正ドライバはBoot Campで提供されているが、2011年までのMacはBoot Camp5までの対応となりWindows10をサポートしない。

一番楽なのは、Windows10を正式サポートするBoot Camp6を他の新しいMacで手に入れて使うことだ。Boot Camp6のWindowsドライバを、DOS/V機と同じようにWindows10に入れてしまえばよい。気を付けたいのは、Optionキーを押しながら起動してUEFI Bootすることだ。WindowsのインストーラはUEFI起動を認識しないとGPTディスクにインストールさせてくれず、MBRでHDD/SSDをフォーマットしてしまう。

しかし、Boot Camp6を手に入れることを思いつかずに作業を始めてしまった私は、Boot Camp5でWindows7を一旦インストールしてWindows10にアップグレードする道を選んでしまった。これがいけなかった。MacのUEFIはBIOS互換機能であるCSMがデフォルトでオンになっているようで、インストーラはMBRでWindowsをインストールしてしまい、折角のWindows10 64bitがUEFIブート出来なくなってしまった。

真っ当にやり直すとしたら、改めてOptionキーによるUEFI BootでWindows10インストールディスクを起動する必要がある。UEFIには、起動が速くなるとか、IntelのCPUであれば有効化される機能があるなど利点がある。失敗した。

まあMBRからGPTにするのは難しくはない。パーティションツールで既存のパーティションを少し後ろに移動し、先頭に100MBほど空き領域を作り、ESPをこしらえ、Windows10の復旧ディスクから起動してMBR2GTPでパーティションテーブルを変換、修復ウィザードを動かせば…多分EFIブートになる。MBR→GTPへの変換は、gtpgenというツールを使う方法もある。

今回はUEFI、CSM、GPTについて大変調べる羽目になった。

ついで、数年前に自作したデスクトップPCは純粋にUEFIブートしていると思い込んでいたが、実はそうではないことに気づくことになってしまった。ASUSのマザーボードのUEFI画面からCSMの設定を見てみると、デフォルトでONになっていたのだ。とはいえGPTディスクから起動しているので、WindowsはUEFIブートされている。そこでCSMをOFFにすると、起動できなくなってしまった。その代り「ビデオカードがGOPに対応してないからCSMをONにしろ」と画面に表示された。なるほど、Radeon HD6870はUEFIに対応していないのだ。

UEFIがMacの世界で登場したのは2006年。DOS/Vの世界でもASUSは早い段階から搭載していた(完全にBIOSとしての実装だが)。このビデオカードは2010年ごろの製品だから、当然対応しているだろうと思っていたが…。どうやら、デバイスのUEFI対応はWindows10の登場から本格化したようで、2016年以降の製品で固めないとダメみたいだ。このマザーボードは2014年頃の品で、デフォルトCSMオンでないと多くのデバイスが動かないから気を利かせてCSMを部分的に有効化できるようになっていたようだ。

ここで、別の問題が判明する。

ASUSのUEFI画面にある、FastBoot機能とSecureBoot機能は、CSMとの併用をしてはいけないということ。もし併用すると動作が不安定になる。どうして同時にON設定できるのかは分からないが、併用可能になっていた。

今まで突如再起動したり、スリープにしくじったり、ビデオカードがエラーしたりと不安定だったが、これの可能性が非常に高い。Radeon HD6870は、VGA BIOSを書き換えてUEFIに無理やり対応させることもできるが、この際だから使うのをやめることにした。

90年代後半はPCの性能が劇的に変化していたが、ここ10年ほどは大きな性能変化が無くパーツ交換する気が起きなかった。しかし規格や仕組みは大きな変化タイミングが数年ごとにあるため、古いハードのまま最新OSの恩恵をあずかるには無理があるのだろう。

MacBook AirにWindows10いれた2 に続く(UEFIは諦めた方が幸せになる話)