MacBookProでCatalinaが動くようなので,実験が楽しそうなので買ってみたが届いたものはMacBookPro 3,1でCatalina Pactherのサポート外の機種だった。
残念な気持ちで一杯だったがSSDに交換してEl CaptainまではアップグレードできるのでiTunes兼ファイルサーバとしてセットアップしてスノレパをアップデートしてLionをインストールして長い時間をかけてEl Captainまでアップグレードした。
そして外付けのFireWireのHDDを接続したら認識していたので,SMCのリセットをして再起動したら起動しなくなった。
以前経験した起動しないiMac G4のような悪夢の始まりだった。
macOS起動のプログレスバー100%で止まったままで,何時間経っても起動しない。
スノレパの再インストールしたあとでLionにアップグレードするが同じ症状…
このタイプのMacBookProはNvidiaのGPUに欠陥があることが分かったので,分解してリフローを行う,都合2回はリフローを行なったしGPUの品番を確認すると対策品だったので問題ないようだ。
よく考えてみるとスノレパのセーフブートでは起動するが,通常ブートでの起動は不可能でセーフブートで起動したらグラフィック関係も問題ないし,トラックパッドも認識されるし,キーボードのバックライトも点灯する。
何日もかけて情報をサーベイランスしたら違う機種だがiFixitに同じ症状があった。
スノレパで通常ブートするとブルースクリーンになる症状が全く同じで,FireWireポートの物理的な故障のようだ。VerboseブートでFireWireのリンク速度がs100になっているので変だなとは思っていた。
そこでIOFireWire関係のkextを/System/Library/Extensionsからデスクトップに移動させるとスノレパでは通常起動出来た。FireWireが使えないだけで普通に作動するしHDDに2GBのメモリなので遅いが十分に使える。
しかし人間は欲な生き物で,この機種の最終サポートmacOSを動かしたくなった。
El CaptainからはSIPが有効でkextを移動していると再起動時にカーネルエクステンションの再構築が始まりプログレスバー100%で止まったまま永遠に起動しない。
ほぼ打つ手が無い状態になってしまったがさらにHackintosh系の調査していくとMacRumorsのOS X El Capitan on Unsupported Macsを参考にしてSIPを無効にして(正常なMacBookProに外付けのHDDからリカバリーモードで起動させる必要がある,ハードウエアが故障しているとリカバリーモードでの起動は出来ない)
/System/Library/ExtensionsからIOFireWire*をどこかに移動してkextunloadもしておく(kextunloadしても物理ポートが壊れているので意味がなかった)
❯ sudo vim /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
を変更する
<key>Kernel Flags</key>
<string>-no_compat_check kext-dev-mode=1 mbasd=1 -v</string>
これで再起動時のカーネルエクステンションのチェックが回避される。
しかし再起動やシャットダウン時にkextdをkill出来ないので(何度でもリスポーンする)手動で電源ボタンの長押しをする必要がある。 遅いが正常に再起動されるみたい。
ボロボロに使い古されたMacBookProだけどFireWireの故障だけで,起動しなくなって捨てられてしまうのは残念な気持ちで一杯になったから…