為什麼運行 Linux 最終會導致我的 ThinkPad T430 拒絕啟動或進入診斷程式?

為什麼運行 Linux 最終會導致我的 ThinkPad T430 拒絕啟動或進入診斷程式?

我有一台 Thinkpad T430。每次我在其上安裝 Linux(最新的 CentOS)時,一段時間後,電腦拒絕啟動、進入 BIOS 或啟動/診斷選單。我已經在上面運行了 Windows,直到我決定切換到雙啟動 CentOS 時才會發生這種情況。

到目前為止,三塊主機板都發生過這種情況,我不得不更換它們。現在我已經是第四個了,我正在爭論我是否只是一個不幸的人,總是以有缺陷的硬體告終,或者 Linux 是否以某種方式損壞了主機板的韌體。

你們有什麼感想?

從技術角度來看這有意義嗎?也許 T430 與 Linux 不相容?請隨意猜測。

答案1

由於這是一款相對較新的設備,因此它沒有舊版 BIOS,而是 UEFI 韌體。不幸的是,UEFI 極其複雜且容易出現最奇怪的錯誤。

例如,幾年前,三星推出了一些筆記型電腦,這些筆記型電腦可能會因為向 NVRAM 變數寫入過多資料而變磚,看這裡這裡:

[...] 核心中有一些程式碼可以讓這在 UEFI 系統上變得更容易。每當遇到嚴重錯誤時,核心都會將最近的訊息複製到 UEFI 變數儲存空間。然後,它們在重新啟動後可供用戶空間使用,從而可以更準確地診斷導致崩潰的原因。

此故障轉儲佔用了約 10K 的 UEFI 儲存空間。微軟要求Windows 8系統至少要有64K可用的儲存空間。我們只保留一個故障轉儲 - 如果系統再次崩潰,它只會覆蓋現有的故障轉儲,而不是創建另一個故障轉儲。這一切都完全相容於 UEFI 規範,蘋果實際上在他們的硬體上做了一些非常相似的事情。不幸的是,事實證明,如果使用過多的可變儲存空間,一些三星筆記型電腦將無法啟動。我們還不知道什麼是“太多”,但是從 Windows 中編寫一堆變數就足以觸發它。我在這裡放置了一些範例程式碼 - 它寫出 36 個變量,每個變數包含 1 KB 的隨機資料。我在 Windows 下以管理員身份執行此命令,然後重新啟動系統。它再也沒有回來。

聯想犯類似的錯誤當然也不是不可能。

當然,您應該確保安裝了最新的韌體更新。

答案2

如果您使用特定軟體刷新 BIOS,則可以,但如果不使用它們,則不會發生。

稍微搜尋了一下,其他人似乎沒有遇到這個問題。檢查一下你是否把鑰匙弄壞了。如果您使用的是 EFI,則應使用 Windows 中的進階選項前往韌體選項。

相關內容