Surface ProでWindowsがブートしなくなったのでChrome OSを入れた話
Surface Proはファームウェア(UEFI/EC)の更新がWindows Update経由で降ってきます。Windows Updateだから品質も安心だろうと、そう思っているとそうでもないようです。
Surface Proの今回のファームウェア更新で、なんとUEFIがWindowsのbootmgfw.efi“だけ”読めなくなり、Windowsが起動しなくなってしまいました。いろいろ手を尽くしたのですが、結論としてはbootx64.efiからbootmgfw.efiを呼び出すことができなくなっている模様です。このため、Windowsのインストールも行えないなど、とにかくWindowsを嫌う体質になってしまいました。Microsoft製品ですよこれ。
具体的な症状としては、VolDown長押し起動やUEFI画面のBoot設定からWindowsのUSBインストーラやSurfaceの回復ドライブで起動しようとするとUEFI画面に戻ってしまう、Windowsをブートしようとすると『Boot Error - Couldn't find bootable operating system. Check the Boot configuration to try to fix this. For more info, visit https://aka.ms/SurfaceBootError.』というダイアログが表示されてブートできない、というものです。
あ、Windows 10X RTMだけはブートしたので記念写真を貼っておきます。それじゃ困るんだよ。
Microsoftのサポート担当者とも長時間やり取りをしたのですが、結論としては有償交換しかないという話になり、有償交換は結構値段が行く(5万円代半ば)ので、それなら中古を買えばいいよなあという気持ちになって判断を保留しました。
これ、困るのが今後Surfaceのファームウェアがアップデートされたとして、この問題が解決できたとしてもWindowsがブートしないのでWindows Updateに入れないわけで、更新のしようがないんですよね。それともファームウェアを更新するUSBインストーライメージなどを公開してくれるんでしょうか。
CloverやOpenCoreなどのOSX86系ブートローダやgrub2のようなLinuxブートローダは正しく読むことができ、Live USBからSSDへOSを書き込んでも使えるので、どちらかで生きていかなければなりません。OSX86は内蔵Wi-Fiが使えないなど、結構クリティカルな部分で息をできないので、Linux系OSで生きていくことを決めました。
Debian/Ubuntuは使い慣れた環境で比較的呼吸がしやすいのですが、使うアプリがAdobe Creative CloudやMicrosoft 365に依存しているので、ちょっと選択肢としては厳しいです。特に(Debianのそれよりサポートしているコマンドが多い) UbuntuのLive USBは今回の問題の切り分けに非常に役立ったのですが。
と、いうことでふだんどおりChrome OSがもっとも差し支えないのではないかという結論に至りました。Chrome OSはPWAアプリとAndroidアプリ、そしてLinuxアプリが動くわけなので、いろいろなことに対応しやすいのです。
過去に何度も述べていますが、Brunch Frameworkの brunch と Brunch Toolkitの brunch-toolkit を使うと、モダンな形でインストールできます。CPUが第8世代Coreなので、ベースキットとしては rammus のR.89のリカバリイメージを使いました。
UbuntuのLive USB上で、microSDスロットに挿したカード側に必要ファイルをダウンロードして(~/Downloads はmicroSD上のフォルダにシンボリックリンクさせて)、/dev/nvme0n1 に向けてToolkitからインストーラを走らせるのがもっとも手っ取り早かったです。
Chrome OSの基本的なところはすべて動きますが、タッチパネルが効かないこととまれにスリープ復帰後Wi-Fiが外向けのアクセスをいっさいできなくなる(sudo rebootで直る)ことだけは若干の支障があります。それ以外は実機と変わらないです。