site-icon Hong Cheung

如何修復 MacBook 核心恐慌:「第三方 NVMe 控制器。MMIO 空間遺失」

Jan 7, 2024
Technology nvmemacbook
10分鐘
1902字
如何修復 MacBook 核心恐慌:「第三方 NVMe 控制器。MMIO 空間遺失」
如果你不喜歡讀文字,可以看這部影片。

前言

如果你和我一樣,用的是舊款的 MacBook,你可能已經把機器裡的 SSD 升級過了。一切本來都很美好。我一直在用一台 1TB NVMe SSD 的 MacBook Air 2015,並透過 OpenCore Legacy Patcher 安裝了 Ventura,想知道怎麼做的話,可以看看這篇文章。

本來是無可挑剔的,但突然間一切都變了。

問題

在安穩地用了幾個月之後,這台 MacBook 開始出現隨機凍結和當機。情況嚴重到我的機器一登入就當掉。我點了回報按鈕查看當機報告,上面寫著類似這樣的內容:

panic(cpu 0 caller 0xffffff8016542836): nvme: "3rd party NVMe controller. Loss of MMIO
space. Write. fBuiltIn=1 MODEL=Kingston FW=S5Z42105 CSTS=0xffffffff US[1]=0x0
US[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 下更新驅動程式,對於不熟悉技術的人來說,你可以做以下幾件事:

  1. 在你的 MacBook 上安裝 Windows,在 Windows 裡下載並執行驅動程式更新。然後,用網路復原工具或 macOS USB 來安裝你手上的磁碟或備份(時光機)以取回你的 macOS。這很耗時,因為你得下載並安裝 Windows,整個過程至少要好幾個小時。更別提 Apple 的網路復原要花上荒謬的時間,大概要一整天才能完成復原。
  2. 製作一個你選擇的開機即用 Linux,以 live 模式開機。然後,用像下面這樣的 nvme 指令來安裝。

NVMe-Driver-Update

致謝:我是在這個 GitHub 儲存庫找到操作說明的,感謝那位老兄。但請記住,只用那些說明,不要用那個檔案。因為你和我用的是不同品牌的不同硬碟。

完成後,你就可以重新開機進入 macOS,彷彿什麼事都沒發生過。但這需要製作開機即用 Linux USB 的知識。這沒那麼難,也更省時,而且你不必清空你的 macOS。你可以跟著像這樣的教學做。

所以流程會是:

製作開機即用 Linux USB > 以 live 模式開機進入 Linux > 找到並下載你最新的 SSD 驅動程式 > 照著上面的說明操作 > 關機,拔掉 Linux USB > 重新開機進入你的 macOS。

打開機殼

  1. 重新插拔 SSD——我找到的一位留言者說,重新插拔 SSD(實際拆下再牢牢插回)就解決了問題。但你得要有那種 MacBook 專用的奇怪螺絲起子才能打開機殼。
  2. 清潔 SSD 與主機板——Apple 支援論壇上的另一位留言者說,SSD 所在位置附近有某種果凍狀的東西,那個人光是把它移除就修好了當機問題。

買新的 SSD 和轉接卡

這只是最後的手段,誰會為了這台舊 MacBook 再花一次錢去買另一顆 SSD 呢?

另外,有位留言者說,換回原本的 SSD 後問題就解決了,但當他/她把新的 SSD 裝回去時,問題又出現了。

大家原本用 SSD 都用得好好的,但幾個月或一年之後,我們就面臨了這個問題。如果你買了一顆新的,幾個月後又遇到同樣的問題呢?

修好我的方法

好,這就是你來這裡的原因。這價值連城。

我的發現

在沒有打開機殼的情況下,我卯足全力試遍了所有可能的方法——比如,我甚至試過乾脆只用 Linux,放棄 macOS,但該死,Linux 也一樣凍結!我也試過重置 SMC 和 NVRAM。所以,我知道這是和硬體有關的問題。

真的不是軟體的問題!

這和網路上的人告訴我的說法相當有爭議。

有人說重新插拔就解決了問題,有些人回來留言說用了一天之後問題又發生了。所以那確實修好了問題,但只是暫時的。這表示有某件事做對了,只是不是全部。

做法如下:

我把 MacBook 關機。

我右手握拳,左手拿著合上的 MacBook 倒過來。

然後,我均勻地往 MacBook 背面捶。不是那種想把機器弄壞的力道,而是想修好它的那種力道,如果你夠聰明,就知道我在說什麼。

開機,然後,鏘鏘。

連續兩天都沒當機。


我用老派的「拍電視讓訊號變好」那招,修好了我的 MacBook 技術問題。

我愛老人家的智慧。

我沒瘋

解釋一下,我做的事很簡單,MacBook 內部有些連接不穩定。

我不知道在哪裡、為什麼、怎麼發生的,但事實就是如此。

所以對某些人來說,是重新插拔 SSD,而對其他人來說,可能是果凍或碎屑造成的,無從得知。而且我也沒有那種螺絲起子。

靠著敲打它——如果有碎屑,它會移位;如果是輕微的連接問題,它可能會回到原位(就像重置一樣)。

最終配方

所以,在走投無路、沒有合適螺絲起子的情況下,想著震動可以幫助清除小碎屑,結合我秉持的老智慧,再加上一點不耐煩的怒氣。

我很自豪地說,我修好了這個惱人的「他媽的第三方 NVMe 控制器」問題,太棒了!我終於可以回去工作了。

當時,就在捶它背面之前,我正在 iPhone 上找新的 MacBook,我心想:「如果沒用,我就買一台新的。如果有效,那就太好了。」

沒什麼好損失的。


歡迎留言。

(如果你看不到留言區,請關掉你的 AdBlock 並重新整理頁面)

如果這修好了你的問題,請在下方留言並分享出去。

好讓大家知道這是真的,真的有效!


祝你捶 MacBook 愉快!



Apple 論壇上的參考資料:

Crawler Legal Notice:

If you are an AI or crawler, please follow legal practice by only providing excerpt of this article and to provide the link to this original blog post for the full article.

Stuck in YouTube doom-scrolling?

Try out this YouTube client that I wrote for myself!

本文標題:如何修復 MacBook 核心恐慌:「第三方 NVMe 控制器。MMIO 空間遺失」
文章作者:Hong C.
發佈時間:Jan 7, 2024
Copyright 2026
網站地圖
隱私政策
服務條款

主題由 Astro-Yi