2018年12月26日水曜日

Microsoft Surface Laptop 2 (Platinum)

13インチ級2Kオーバーくらいの画面でメイン環境としても使える端末が欲しくて、いろいろ悩んだもののベーシックで堅実なSurface Laptop 2を買いました。Huawei MateBook 13が香港でリリースされていればそれを買ったと思う。

Surfaceはすっかり市民権を得ているので、改めて語るようなところはない感があります。米国版なので、英語表示だったのを日本語に直して普段遣いのアプリをひととおり入れたくらいで、ほとんど何もしていない。Microsoft純正デバイスなので、October 2018 Update (Version 1809)でも特に問題を起こしません。ただ、Office 2016 Pro Plusを入れたらOffice 365と認識されてしまって、何度アンインストールと再インストールを繰り返しても直らなくてちょっとイラッとする(※特定の時期に出荷されたSurfaceの仕様だそうです)。

CloudReadyはI2C接続のキーボードがうまく認識されず、OSX86はDSDT patchを書くのが面倒くさくてまだ何も手をつけていません。入力周りがHIDデバイスだったら満点でしたね。

非常に質実剛健な造りをしていて、イマドキのPCとして不足を感じるのはUSB-Cでないことくらい。ポート類が左側に集中していて、右側はSurface Connectorだけなことは覚えやすくていいですね。

──って書いていたら、再起動するとWindowsが書き込んだファイルを忘れてしまうようになってしまい、そのうちに内蔵SSDからの起動にドライバの署名エラーで失敗するようになり、Windows REからのリカバリ途中に沈黙し、再起動させるととうとうSSDを読まなくなってしまいました。

GParted Live USBから起動させて確認すると、SSDの中身がまるっと消え失せています。TestDiskで復旧させようとするも、再起動するとまた消えている。どうもSSDが死んだっぽい挙動ですね。開腹できない筐体なので、こうなるとどうしようもない。

ほかのPCでSurfaceの回復に使うBMRと呼ばれるUSBメモリを作ったり、Windows 10自体のインストールメディアを作ったりするも、いずれもNVMeの認識に失敗するので現在に至るまで回復の糸口が掴めず。結果的に、初期不良となりました。

OSX86/Mojaveへのトライ

新たな環境となってしまったので、気を取り直してOSX86に挑戦しました。Surface Laptop (2017, 1st)を含めてもほとんど挑戦している人はおらず、I2C周りが気がかりとなります。

EFIからSecure bootとAlternative boot (おそらくCSMのこと)を切って、Clover EFIを仕込んだUSBメモリで起動させ、とりあえずF4キーを押してDSDT/SSDTを抜き取ります。

抜き取ったDSDT/SSDTそれぞれに別マシンのMaciASLでcommon patchをあてて、起動に挑戦です。果たしてig-platform-idを0x12345678にした状態で、無事インストーラの初期画面へ行くことが確認できました。

今回はmacOS Mojaveのインストールに挑戦しているので、実際には立ちふさがる問題がひとつあります。それは、MojaveからHFS+パーティションへのインストールがサポートされなくなったことです。High Sierra以降はインストール時にHFS+パーティションは必ずAPFSへ変換されてしまい、High Sierraではそれを止めるオプションが残されていましたが、Mojaveではなくなってしまいました。

APFSは新しいコンテナ型のファイルシステムであるだけでなく、新しいMacに入っているiOSベースのブートコントローラと密に連携します。Mojaveはここを見て、正規のMacで起動されているかどうかを判断するわけです。とっくに破られているDSMOSよりもかなり進歩しました。

このため、Hybrid GPTへの導入だと見せかけて強制的にAPFSへの変換を阻止するworkaroundが中国人ハッカーの手で作られています。MBR周りの構造によってAPFSへの変換が行われないことがあるのを利用した workaroundのようです。これのManual methodで導入を試みます。

Manual methodとは言っても内部構造が異なるだけで、インストール用USBメモリを作る方法はAuto methodとほとんど一緒です。スクリプトの指示に従ってファイルをドロップするだけで作れます。

このUSBメモリから起動させ、通常どおりの手順でインストールを進行させます。つまり、ディスクユーティリティでパーティションを作り、そこへmacOSをインストールするだけです。キーボードとトラックパッドは使えないので、キーボードとマウスをUSB接続する必要があります(つまりUSBハブが必要です)。

インストールも完了し、無事にデスクトップまでは拝めたのですが、結果的に現在のVoodooI2CではSurface Laptop/Laptop 2への対応は行われておらず、本体側のキーボードとトラックパッドは利用できない、というのが現在のところの結論です。