はじめに
私と同じように旧型の MacBook を使っているなら、内部の SSD を換装したことがあるかもしれません。それはもう快適そのものでした。私は OpenCore Legacy Patcher を使って Ventura をインストールした 1TB NVMe SSD 搭載の MacBook Air 2015 を使っていました。その方法を知りたい方はこちらの記事をご覧ください。
それはもう最高でしたが、突然状況が変わってしまいました。
問題
数か月順調に動いていたある日、MacBook がランダムにフリーズしたりクラッシュしたりするようになりました。あまりにひどくなり、ログイン直後にマシンがクラッシュするようになりました。レポートボタンをクリックしてクラッシュレポートを読むと、次のように書かれていました。
panic(cpu 0 caller 0xffffff8016542836): nvme: "3rd party NVMe controller. Loss of MMIOspace. Write. fBuiltIn=1 MODEL=Kingston FW=S5Z42105 CSTS=0xffffffff US[1]=0x0US[0]=0x5a VID=0x1987 DID=0x5012 CRITICAL_WARNING=0x0.\n"@IONVMeController.cpp:6053このレポートを読んで、NVMe コントローラーに関係していることがわかりました。
解決策を探す
「システム設定からインストールしたアップデートのせいかもしれない」と自分に言い聞かせました。とにかく OpenCore をアップデートして再パッチし、ドライバーの問題かどうか確かめてみましたが、効果はありませんでした。そこで Google に頼ることにしました。
まったく同じ問題を抱えている人はたくさんいて、共通しているのは、私たち全員がサードパーティ製の NVMe SSD/M.2 ドライブを MacBook に換装したということです。そのためにはアダプター(理想的には Sintech)を使ったり、特定のモデルの SSD を使ったりします。人々がそう言うので、私たちはすべてそれに従いましたが、それでも解決しませんでした。
Apple のサポートフォーラムや他のウェブサイトも確認しました。インターネットリカバリを使って MacBook を Monterey の工場出荷状態に再インストールまでしましたが、まったく同じ理由でクラッシュし続けました。つまり、これはソフトウェアの問題ではないと結論づけられます。
他の人に効いた方法
SSD のファームウェアを更新する
SSD のファームウェアを更新して直ったという人もいました。私もそれをやりました。モデルはクラッシュレポートからわかります。上で見たとおり、私が使っているモデルは Kingston で、ファームウェア番号は S5Z42105 です。Kingston の公式サイトで、私の A2000 SSD の最新ファームウェアは S5Z42109 だとわかりました。
難しいのは、Windows 用のインストーラーしか提供されていないことです。サードパーティ製 SSD は macOS にインストールされることを想定していないと思うので、それは納得できます。もしあなたのドライブが macOS 上でのドライバー更新に対応していないなら、技術に詳しくない方でも次の方法があります。
- MacBook に Windows をインストールし、Windows 内でドライバーアップデートをダウンロードして実行する。その後、インターネットリカバリツールか macOS の USB を使って、お手持ちのディスクまたはバックアップ(Time Machine)から macOS を復元します。Windows をダウンロードしてインストールする必要があるので時間がかかり、一連の作業には少なくとも数時間かかります。さらに Apple のインターネットリカバリは途方もなく時間がかかり、リカバリが完了するまで丸一日かかると思ってください。
- お好みのライブ起動可能な Linux を作成し、ライブモードで起動します。その後、次のように
nvmeコマンドを使ってインストールします。
クレジット: 手順はこの GitHub リポジトリで見つけました。その方に感謝します。ただし、ファイルではなく手順だけを使ってください。あなたと私は異なるブランドの異なるドライブを使っているからです。
完了したら、何事もなかったかのように macOS に再起動できます。ただし、起動可能なライブ Linux USB を作る知識が必要です。それほど難しくなく、時間もかからず、macOS を消去する必要もありません。このようなチュートリアルに従えばできます。
つまり手順は次のとおりです。
ライブ Linux USB を作成 > Linux をライブモードで起動 > 最新の SSD ドライバーを見つけてダウンロード > 上記の手順に従う > シャットダウンして Linux USB を抜く > macOS に再起動。
筐体を開ける
- SSD を差し直す - 私が見つけたあるコメント投稿者は、SSD を差し直す(物理的に取り外してしっかりと差し込み直す)ことで問題が解決したと言っていました。ただし、筐体を開けるには MacBook 専用のあの奇妙なドライバーが必要です。
- SSD とマザーボードを掃除する - Apple サポートフォーラムの別のコメント投稿者は、SSD の近くにゼリー状のものがあり、それを取り除くだけでクラッシュが直ったと言っていました。
新しい SSD とアダプターを買う
これは最後の手段です。この古い MacBook のためだけに、もう一度お金を出して別の SSD を買う人がいるでしょうか?
また、あるコメント投稿者は、元の SSD に戻すと問題が解決したものの、新しい SSD を戻すと問題が再発したと言っていました。
人々は SSD を問題なく使っていましたが、数か月または一年後にこの問題に直面しています。新しいものを買っても、数か月後にまた同じ問題に直面したらどうするのでしょうか?
私を直した方法
さて、あなたがここに来た理由です。これは百万ドルの価値があります。
私が見つけたこと
筐体を開けずに可能な限りのことを必死に試した後 — たとえば macOS をあきらめて Linux を使うことも試しましたが、なんと Linux も同じようにフリーズしました!SMC と NVRAM のリセットも試しました。つまり、ハードウェアに関係しているということです。
ソフトウェアの問題ではない、本当に!
インターネットの人々が私に言っていることとはかなり意見が分かれます。
差し直しで直ったという人もいれば、一日使ったらまた問題が起きたと戻ってきた人もいます。つまり、実際に問題は直ったものの、一時的なものだったのです。何かは正しく行われたけれど、すべてではないということです。
やり方はこうです:
MacBook の電源を切りました。
右手で拳を作り、左手で閉じた MacBook を逆さに持ちます。
そして、MacBook の背面を均等に叩きました。壊そうとしているのではなく、直そうとする程度の力で、私の言いたいことがわかるほど賢い方ならわかるでしょう。
起動すると、見事に直りました。
その後二日間、クラッシュは一度もありません。
私は古き良き「テレビを叩いて電波を良くする」方式で MacBook の技術的な問題を直しました。
年長者の知恵は素晴らしい。
私は頭がおかしいわけではない
説明すると、私がやったことは単純で、MacBook の内部にあるいくつかの接続が不安定だったのです。
どこで、なぜ、どうやってなのかはわかりませんが、そこにあったのです。
つまり、ある人にとっては SSD の差し直しであり、別の人にとってはゼリーやパンくずが原因かもしれません。知る術はありません。そして私にはあのドライバーもありませんでした。
叩くことで — パンくずがあれば動いて離れます。軽微な接続の問題なら元の位置に戻るかもしれません(リセットのように)。
最終的なレシピ
つまり、適切なドライバーもなく、振動で小さなゴミを取り除けるという考えと、私が受け継いできた古い知恵、そしてせっかちな怒りを組み合わせて、やけくそでやってみたのです。
この厄介な「3rd freaking party NVMe controller」問題を直せたことを誇りに思います、本当に!やっと仕事に戻れます。
その時、背面を叩く直前に iPhone で新しい MacBook を探していました。「これで直らなければ新しいのを買おう。直れば最高だ」と自分に言い聞かせていました。
失うものは何もありません。
コメントをお待ちしています。
(コメント欄が表示されない場合は、AdBlock をオフにしてページを更新してください)
これで問題が解決したなら、ぜひ下にメッセージを残して共有してください。
そうすれば、これが本物で本当に効くということがみんなにわかります!
MacBook を叩くのを楽しんでください!
Apple フォーラムの参考情報:
-
Google 検索で「3rd party NVMe controller」に関するもの。