サイトアイコン Boot macOS

ThinkPad T460s (6300U) にOpenCoreでCatalinaを導入

Skylake 6300Uを搭載したThinkPad T460sにOpenCore (OC) でmacOS Catalinaをインストールしました。手順と必要ファイルが揃っているGitHubページがあったので、苦労なしで完成度の高いmacOSマシンが出来上がりました。

動作状況

最初に動作状況をまとめておきます。完成度はかなり高いです。

動くこと

動かないこと

未確認なこと

ThinkPad T460sについて

以前、X220にmacOSをインストールしました。今回は少し大きめのT460sにmacOSをインストールします。

ThinkPad X220にmacOSをインストールした過去記事のまとめです。定評のある昔ながらのキーボードとトラックポイントを採用した最終モデルThinkPadでmacOSを動かします。Sandy BridgeなのでMojave非対応です。ハードウェア 本体は Lenovo ThinkPad X220 (パッチ済みBIOSに変更) CPUは Intel(R) Core(TM) i7-2620M CPU @ 2.70GHz (Mojave非対応) グラフィックスは インテル® HD グラフィックス 3000 (Metal非対応) Bluetoothaは本体内蔵(BCM92070MD0-LENO) (OOB。Continuity非対応) WiFiはDW1510に交換(OOBで動作)AliExpress.com ...
Lenovo ThinkPad X220, 2620M - Boot macOS

X220は昔ながらの作りの良いキーボードを採用した最後のモデルです。でも第2世代Sandy Bridge CPUなのでCatalinaは公式サポートされてません。次にノートPCでhackintoshするなら、現行macOSが動く第3世代 (IvyBridge) 以降のCPUで試したいと思っていました。また、先日、HPのHP EliteDesk 800 G2 DMがとても簡単に動いて、気に入っていました。

HP社の小型デスクトップPC、HP EliteDesk 800 G2 DM (Core i3-6100T)にmacOSをインストールしました。まずはiGPUとLANが動きました。第5~6世代のメーカー製中古デスクトップPCは1万円前後で入手できます。この値段ですぐに動くmacOSマシンが手に入るのでお得です。追記:その後、スリープ復帰後にiGPUの信号が出ないブラックスクリーン状態が発生していることに気づきました。最近のmacOSで発生しているようで解決策は無いようです。スリープさせない設定にしても長時間放置するとブラックスクリーンになることもありました。画面共有...
HPの小型デスクトップEliteDesk (1: macOS導入) - Boot macOS

第6世代 (Skylake)はmacOSとの相性が良さそうな気がします。またSkylakeならCatalinaで動くだけでなく、Sidecarにもギリギリ対応しています。Kaby Lake, Coffee Lakeならばさらに新しくて良いのですが、遊ぶ目的としてはまだ高価です。Lakeシリーズ初代のSkylake搭載製品ならば、5-6年前の製品なので、リース終了後の法人物件が出回っていて、値段が手ごろです。8GBメモリ、256GB SSD程度の構成で、デスクトップなら1万円代、ノートPCでも2万円代で中古品が購入可能です。

Skylake搭載ThinkPadで中古品を探すと、X260とT460sが目につきました。ThinkPadは型番3桁部分の、100の位がディスプレイの大きさ(12インチなら2, 14インチなら4)で、10の位がCPUの世代数を表しています。例えばX260は第6世代の12インチモデルで、T460sは第6世代の14インチです。X260とT460sはほぼ同じくらいの中古価格で取引されています。どちらにするか大いに迷いました。でも、macOSのインストール状況を検索した限りでは、X260では多くの人が困難に遭遇しているのに対して、T460sではインストール手順情報が充実していて成功率が高い様子でした。構造はほとんど変わらないと思うので、単にユーザ数の違いかもしれません。それでも成功例報告の多いT460sにしました。後述のように、T460sの到着前に、さらに親切なGitHubページを発見できてラッキーでした。

到着して開封した時、予想以上に薄いので驚きました。実は、T460とT460sは販路が違うだけで同じものだと思い込んでいました。ネットにあったT460の分解動画をいくつか見ていて、その厚さだと思ってました。sが付くだけで全然違うモデルなのですね。T460は、2.5 inch SSD, 取り外し可能バッテリーなのに対して、T460sは、M.2 SSD, 内蔵バッテリーのみになり、薄くなっています。他にもいくつか変更されています。メモリーソケットが2個から1個に減っています。これは少し残念ですが、マザーボードに8GB搭載されていたので十分です。T460sになって一番嬉しいことは、裏蓋を止めている爪が簡単に外れるようになったことです。T460の分解動画では裏蓋の隙間にヘラを入れてベキベキと外していた様子だったのが、なんの苦労もなく裏蓋が外れます。裏蓋を止めているネジも8個から5個に減りました。

入手したT460sの液晶はfull HDのIPS液晶でした。国内販売品は全部FHDのようです。タッチ入力対応のモデルもありますが、macOSでは不要でしょう。

キーボードは相当にテカってます。プラスチック表面のシボ加工が取れて、ツルツルの面になってます。汚れているわけではないですが、触るとペタペタした感触があります。さらにはA, H, Nなどのキーは文字も消えかけています。前のユーザのお役に立って活躍していたようです。AliExpressに行けばバックライト付きのUS配列キーボードが税送料込み3,000円で売ってますので、交換したいと考えています。同じ世代のThinkPadでもX260はキーボード交換がかなり面倒なのですが、T460シリーズはThinkPadの伝統を引き継いでいて、交換が楽です。

裏蓋は5個のネジで外れます。ネジは蓋から外れない方式なので、行方不明になる心配がありません。分解動画で比較すると、T460に比べてT460sは爪がすぐに外れるように作られているようで、分解が楽です。裏蓋を開けた中は以下のようです。

内蔵バッテリーが写真の上下に2個あります。全体にかなり薄型なのですが、まだまだいろいろいじれる部品構成です。中央右のヒートパイプの端あたりにCPUがあります。その下に、DDR4 SODIMMの空ソケットが一つあります。マザーボードにメモリーが既に搭載されていて(今回入手したモデルは8GB)、これに加えて増設できます。CPU左側の黒い絶縁シートが貼られた大きなエリアは、空き地です。Nvidia GeForce 930MというGPUを搭載するモデルがあり、そのGPUの接点がある場所です。macOSではサポートされていないGPUですので、GPU搭載モデルを選ぶ必要はありません。

左の部分には3種類のM.2のソケットがあります。それぞれ、WLAN, WWAN, SSD用です。WLANはインテルのM.2モジュールが取り付けられています。無線LANとBluetoothが搭載されています。インテルの無線LANはmacOSでは使えません。Bluetoothはどういうわけかシステム環境設定に現れますが、これも使用不可能です。BroadcomのM.2モジュールに交換する予定です。参考にしたGitHubページでは、M.2用アダプタを使って純正のBroadcomモジュール、BCM94360CS2を取り付ける様子が紹介されています。厚みが増えるため裏蓋が少し浮くようですが、この方式ならmacOSとの互換性は完璧です。

WWAN用のM.2ソケットは空です。でもアンテナは配線されています。国内の一般販路ではWWANモデルは流通していないらしいです。

M.2 SSDソケットには切り欠きが2箇所あるSSDが装着されていました。型番から東芝のSATAタイプの256GB M.2 SSDだと判明しました。これだけ容量があれば、macOSの動作には問題ありません。手元のSSDで試したところ、NVMe方式のM.2 SSD(切り欠きが1箇所のタイプ)も使えました。

OpenCoreで導入を試みる

今回のmacOS導入は、全く努力してなくて、落ちていたESPファイル類を拾ってコピーしただけのヘタレなハッキングです。こちらのサイトのおかげです。本当に感謝したいです。

Bootloader configuration for macOS on T460s and possibly others 6th gen ThinkPads - GitHub - simprecicchiani/ThinkPad-T460s-macOS-OpenCore: Bootloader configuration for macOS on T460s and possibly ...
GitHub - simprecicchiani/ThinkPad-T460s-macOS-OpenCore: Bootloader configurat... - GitHub

実はこのGitHubページは、先月末にできたばかりのようです。このページを使ってT460sでmacOSを動かせたことが、T460sの到着前日にRedditで紹介されていて知りました。デスクトップに比べてノートPCのhackintoshは複雑なので、tonymacx86やredditで実績のある機種を選んだ後で、実際に調達するという手順が良いように思います。

BIOSを設定する

上記のサイトにはBIOS設定も書いてあります。以下の設定が必要とのことです。

これ以外も趣味に合わせて設定しました。例えば、WiFi, Bluetooth, 指紋センサー、SDカード読み取り機などはmacOSで動きませんので、節電になるかと思いdisabledに設定しました。

macOS導入用USBメモリを作成する

まずは通常のhackintoshの手順に従って、まずはインストール用のUSBメモリーを作成しました。Appleのサイトに書いてあるようにcreateinstallmediaコマンドを使います。こうして作成したUSBメモリのESP (EFI System Partition) をマウントします(diskutil listコマンドでUSBメモリのESPが例えばdisk5s1だとわかったら、sudo diskutil mount disk5s1とタイプします)。次に、上記のサイトからダウンロードしたESPの内容を、ごっそりとUSBメモリのESPにコピーします。ファインダーのドラッグ&ドロップで可能です。

こうして設定されるkext類は以下です。VoodooPS2Controllerなどは、キーボードやトラックポイントを動かすためのkextだと思います。

efiドライバーは以下です。Cloverに比べると少ないですね。

SSDT類は大量にあります。バッテリー、電力制御、PS2関係など色々用意されているようです。これらを自分で作るのは大変なので、ありがたいです。

config.plistをカスタマイズする

配布されているconfig.plistでは、機種がMacBookPro13,1に設定されていました。この機種はCPUとして6360U, 6600Uを搭載しているので、6300Uで使用するには適切な選択です。ただMacBookPro13,1のiGPUはIntel Iris Graphgics 540なので、6300UのIntel HD Graphics 520とは違います。でもこれで問題なく動きました。ただ、このconfig.plistには個別のマシンの情報が入っていないので、それだけは編集します。

CloverとOCでは個別マシン情報の項目名が異なります。Cloverのconfig.plistでSerialNumberとBoardSerialNumberは、OCのconfig.plistでは、それぞれPlatformInfo, Genericの中のSystemSerialNumberとMLBに相当します。Cloverの時と同様にClover Configuratorなどで生成して、シリアル番号が使えるかどうかをAppleのサイトで確認して、その値を記入します。SystemUUIDも、ターミナルのuuidgenコマンドを使って生成して設定します。

また、PlatformInfo, Generic, ROMの値も独自の値を入力します。これは6バイトの数値です。サンプルでは0x112233440000というような値が入っています。世界に存在しない独自の値を入れれば良いようで、通常はEthernetのMACアドレスを使います。これは、システム環境設定、ネットワーク、Ethernet、詳細、ハードウェアと辿ると分かります。例えばこれがc0:7e:bf:c3:af:ffでしたら、

echo -en "\xc0\x7e\xbf\xc3\xaf\xff" | base64
wH6/w6//

とするとbase64値、この場合wH6/w6//が得られます。これをチェックするには、

echo -n wH6/w6// | base64 -d | hexdump 
0000000 c0 7e bf c3 af ff 

とすれば確認できます。この値を、PlatformInfo, Generic, ROMのところに

<key>ROM</key>
<data>wH6/w6//</data>

として書き込みます。

USBメモリで起動してmacOS導入

これでOCから問題なくmacOSのインストーラが起動しました。まずは東芝のM.2 SATA SSDをAPFSででフォーマットしてインストールを試みました。するとmacOSのインストール先にAPFSドライブを選択できません。「APFSのボリュームにインストールするためにはMacのfirmwareアップデートが必要だからHFS+を選べ」と言っているようです。MacBookPro13,1はSierraの時代のマシンですので、firmwareがAPFS起動に対応していないです。なのでmacOSインストールの時についでにfirmwareアップデートも行われます。この場面では、firmwareアップデート前の状態と判断されたので、APFSが選べなくなっているのだと思います。

Your Mac needs a firmware update in order to install to this volume. Please select a Mac OS Extended (Journaled) volume instead.

仕方なくHFS+に戻しました。いったんAPFSにすると、DiskUtility.appのGUI画面からはHFS+に戻せなくなってました。ターミナルから

diskutil eraseDisk JHFS+ "Macintosh HD" disk0

などすればHFS+に戻せます(対象がdisk0だった場合の例です)。

これでインストール先として選択できるようになるのですが、インストールを少し進めると、以下のようなエラーメッセージで止まってしまいました。firmwareを検証中にエラーが出るようです。

An error occurred while verifying firmware.

hackintoshなのでfiramwareのバージョン等情報がおかしいのは当然です。Cloverはそれを自動的に偽装してくれます。また、config.plistのBiosReleaseDateやBiosVersionの項目で偽装用の情報を指定することもできます。同じようなfirmwareバージョン偽装設定をOCのconfig.plistでやろうとしたのですが、方法がわかりませんでした。Cloverの項目名では判別できないというエラーが出ました。

Cloverで導入を試みる

この状況に対処するために、M.2 SSDをmacOSマシンに接続してmacOSをインストールすることも可能だったと思います。でも今回は、手元にM.2 SATA SSDをUSB変換するアダプタがなかったので、Cloverで起動することに方針変換しました。kextとSSDTはこのGitHubページのものをそのまま使いました。UEFIドライバは、Cloverでいつも使っている内容です。

config.plistも、Cloverで使っているシンプルなものを使いました。ただDevicesの場所は、OCのconfig.plistを参考にして以下の設定にしました。

<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
	<dict>
		<key>AAPL,ig-platform-id</key>
		<data>AAAWGQ==</data>
		<key>enable-hdmi20</key>
		<data>AQAAAA==</data>
		<key>framebuffer-fbmem</key>
		<data>AACQAA==</data>
		<key>framebuffer-patch-enable</key>
		<data>AQAAAA==</data>
		<key>framebuffer-stolenmem</key>
		<data>AAAwAQ==</data>
		<key>framebuffer-unifiedmem</key>
		<data>AAAAgA==</data>
	</dict>

この接待によると、ig-platform-idは0x19160000です。こちらのサイトによると、Intel HD Graphics 510から580搭載laptopのための推奨値のようです。

この結果、Cloverでも無事起動して、しかも今回はfirmware関係のエラーメッセージも出ず、順調にmacOSインストールが可能でした。macOSをM.2 SATA SSDにインストールした後で、そのSSDのESPにも、インストール用USBメモリーと同じ内容をコピーしました。これでSSDからatalinaが起動します。

動作確認とベンチマーク

このMacについて、を見ると以下のようです。Thunderbolt 3のあるモデル番号なので、無いのに表示されてしまいました。

CPUの名前は、以下のコマンドで確認できます。

sysctl -n machdep.cpu.brand_string
Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz

正しく6300Uだと認識されています。Geekbench 5でスコアをとってみました。Haswell, Broadwell, Skylakeあたりはだいたい同じくらいのスコアですね。2コアなのでそれほどスコアが上がりません。

結局OpenCoreに移行する

Cloverでほぼ問題なく動いている様子でしたが、バッテリーの表示が正しく表示されないことに気づきました。GitHubからダウンロードしたそのままのOpenCoreのESP内容に置き換えて起動したところ、今度はバッテリー残量が表示されました。

Cloverでも、おそらくはちゃんと設定すれば、バッテリー残量の表示を可能にできたとは思います。でも、楽ですし、時代はOpenCoreに移行する方向らしいので、結局、最初のようにOCで使うことにしました。firmwareの確認は初めてAPFSを使うときにのみ現れる様子で、macOSアップデートなどでは問題ないようです。

以下に続きます

引き続き、WiFiを整備したり、キーボードを交換したりしたいと計画しています。以下もご覧ください。

ThinkPad T460sのBIOSを更新しました。通常はWindows用アプリケーションで更新するようですが、macOSでBIOS更新用USBメモリーを作りました。Windowsを使わずに更新できました。ThinkPadのBIOSThinkPad T460sで作ったhackintoshの続きです。BIOS設定画面で見ると、BIOSバージョンが古いことが気になっていました。2016年11月30日版の1.20です。Lenovoのサポートサイトで配布されているBIOSは2019年12月13日版の1.47です。BIOSが古くても動いていれば問題なしです。むしろ新しくすることでOSが動かなくなる可能性もあります。サポートサ...
ThinkPad T460sのBIOSを更新する - Boot macOS
M.2ソケット用のWiFi/BluetoothアダプターBCM94360NGは、OOBで使える唯一のM.2無線カードです。T460sに取り付けたところ、BIOSで拒絶されることも無く問題なく動作しました。BCM94360NGBCM94360NGは、M.2ソケット用のWiFi/Bluetooth無線アダプターカードです。macOSとの相性が良くて、Handoff, Airdrop, Apple Watchでのログイン, SidecarなどがOOBで動きます。M.2無線カードとしては、互換性の高い唯一のカードだと思います。おすすめです。今のところ日本のAmazonでは扱っていないですが、AliExpressでは複数の販売者から入手できま...
ThinkPad T460s にWiFi/BTカードBCM94360NGを取り付ける - Boot macOS
中古で入手したThinkPad T460sのテカっていたJISキーボードをUSキーボードに交換しました。T460のキーボード交換は簡単です。交換後は何事もなく起動し認識してくれました。キーボードのテカりキーボードは使い込むとテカりますよね。人の脂で汚れるわけではなくて、プラスチック表面のシボ加工が擦れて取れてしまい、プラスティック本来のツルツルな状態になってしまうのだと思います。なので、掃除しても元どおりにはなりません。擦れば擦るほどツルツルになるだけです。中古のノートPCはキーボードが大抵テカってます。今回入手した...
ThinkPad T460sのキーボード交換 - Boot macOS

まとめ

この機種用の情報を提供してくれたGitHubページのおかげで、完成度の高いmacOSノートPCが完成しました。実のところかなり気に入っています。無線カードなどを調達して、もう少し遊んでみたいと思います。

モバイルバージョンを終了