18.04 更新破壞了 grub 並阻止啟動

18.04 更新破壞了 grub 並阻止啟動

今天我遇到了一個問題,導致我的系統無法啟動。這個系統是全新安裝的,因為我最近透過 live USB 和官方 Ubuntu ISO 重新安裝了 Ubuntu 18.04.3。

這是我的第三或第四次嘗試,我遇到了同樣的問題:

  • 使用預設參數安裝系統

  • 安裝後立即重啟,沒有問題。

  • 更新我的系統。現在它壞了,所以我不再擁有它,但我只是在安裝系統後立即運行了常規更新。

  • 再次重新啟動後,我的系統似乎已損壞。我無法再啟動至 Ubuntu。系統繼續顯示 grub 選單,然後如果我選擇任何選項就會失敗。
  • 每次發生這種情況時,我都會重新安裝 Ubuntu 18.04.3 並遇到相同的問題(更新並陷入啟動循環)。
  • dmesg 顯示錯誤:
EDAC amd64: Error: F0 not found, device 0x1460 (broken BIOS?)
EDAC amd64: Error: Errorprobing instamce: 0

我們在另一台電腦(編輯:另外 3 台電腦)上安裝了一周後重現了此錯誤,並遇到了完全相同的問題。其他電腦具有類似的最新硬體(最新的 AMD CPU、AMD Epyc 7302p)。

一位同事進行了更新,也遇到了這個問題。他必須將核心版本從 5.0.0-36-generic 恢復到 5.0.0-35-generic 才能恢復正常運作的系統。

更新:顯然,該錯誤來自套件升級。因為我從頭開始安裝了Ubuntu 18.04,從核心版本為5.0.0-23-generic 的即時USB 安裝,當讓安裝程式在安裝過程中下載更新時,它將核心升級到版本5.0.0-36-generic ,而不會中斷幼蟲。然而,當我嘗試升級其他軟體包(使用 apt Upgrade)時,grub 再次崩潰。

在升級過程中,我看到一個軟體包正在修改 /boot 分區中的一些文件,但不幸的是,我沒有時間查看是哪一個。

有其他人遇到這個問題嗎?有沒有人有辦法解決嗎?

答案1

對兩台 Dell Precision 5820 進行一系列可信更新後出現相同的問題。第一個在單獨的 2 TB 硬碟上有兩個作業系統:

  • sda=Ubuntu18.04
  • sdb=Windows10

第二個在單獨的 2 TB 硬碟上有三個作業系統:

  • sda=Ubuntu18.04
  • sdb=Fedora31
  • sdc=Debian9

首先我運行了以下命令:

  1. sudo apt update
  2. 我呼叫了軟體更新程式。
  3. 我允許它更新所有內容。
  4. 當談到更新 GRUB 時,它詢問我是否要替換我的,保留本地的,或者比較兩者。我選擇比較本地和新的,這聽起來很簡單控制台讀數說明設定 shim 簽名 (1.37~18.04.3+15+1533136590.3beb971-0ubuntu1) ...當進行一些更新時(儘管我拒絕這樣做!)並且需要重新啟動以釋放系統。
  5. 回來後,我打開一個終端並運行sudo update-grub
  6. 我又重新啟動並進去了。

第二個系統(從昨天的戴爾恢復閃存安裝開始同步運行,克服了由於AMD在戴爾凍結系統版本之前未獲取驅動程序而導致的“登錄循環”,2100X顯卡無休止地等待無法讀取的登錄輸入在16.04 程式碼/核心中)是不同的,因為我說(在關於GRUB 更新的同一查詢中)我想保留本地作業系統,它允許我選擇/運行我的三個作業系統。重新啟動後,這三個錯誤都出現了,這告訴我 GRUB 已損壞(軟體安裝程式碼也是如此)

  • Ubuntu:我曾經F12繞過GRUB菜單,選擇Ubuntu,但失敗了。

    0.3294701 Kernel offset: ...
    0.3294911 --- [ end Kernel panic - not synching: VFS: 
    Unable to mount fs on unknown-block(0,0)
    

    所以我重新啟動。

  • Debian:我曾經F12繞過GRUB菜單,選擇Debian,但失敗了。它進入系統測試器窗口,我點擊該窗口Esc離開,然後重新啟動。

  • Fedora:我曾經F12繞過 GRUB 選單,選擇了 Fedora。起初,看起來不錯。我進去了,它自動更新了。
    然後,它進入 EFI 選單,我再次選擇 Fedora。到了紫色的 Ubuntu低解析度螢幕並掛在那裡。

這很累。應該有非編碼員發布過程的品質保證和完整的回歸(以及建置、驗收和發布)測試,尤其是。在受修改程式碼影響的所有區域,為新程式碼新增測試!這開始看起來像微軟和蘋果發布的模式,一旦它起作用,我就不敢點擊[好的]更新查詢是為了有充分理由擔心出現無法追踪和致命(沒有解決方法)的高優先級/高嚴重性“問題”,浪費我更多的時間,其中我必須進行質量檢查並測試其他人跳過的內容。

ACM、IEEE、ISO、SQA 等並不是這樣定義發布的。等人。我必須替換無法登入的系統上未儲存的文件,即清零後重新安裝。

答案2

我在使用 AMD EPYC 7452 32 核心處理器時也遇到過這個問題:

Aug 28 13:57:40 server01 kernel: [    8.196170] MCE: In-kernel MCE decoding enabled.
Aug 28 13:57:40 server01 kernel: [    8.201319] EDAC amd64: Node 0: DRAM ECC enabled.
Aug 28 13:57:40 server01 kernel: [    8.201320] EDAC amd64: F17h detected (node 0).
Aug 28 13:57:40 server01 kernel: [    8.201375] EDAC amd64: Error: F0 not found, device 0x1460 (broken BIOS?)
Aug 28 13:57:40 server01 kernel: [    8.201378] EDAC amd64: Error: Error probing instance: 0
Aug 28 13:57:40 server01 kernel: [    8.320565] EDAC amd64: Node 0: DRAM ECC enabled.

修復方法是安裝 LTS Enablement Stacks(也稱為 HWE 或硬體啟用)核心:

apt install --install-recommends linux-generic-hwe-18.04

現在,系統以此啟動,不會拋出錯誤:

Aug 28 14:07:39 server01 kernel: [  117.977960] MCE: In-kernel MCE decoding enabled.
Aug 28 14:07:39 server01 kernel: [  117.985049] EDAC amd64: Node 0: DRAM ECC enabled.
Aug 28 14:07:39 server01 kernel: [  117.985051] EDAC amd64: F17h_M30h detected (node 0).
Aug 28 14:07:39 server01 kernel: [  117.985283] EDAC MC: UMC0 chip selects:
Aug 28 14:07:39 server01 kernel: [  117.985285] EDAC amd64: MC: 0: 65536MB 1: 65536MB
Aug 28 14:07:39 server01 kernel: [  117.985286] EDAC amd64: MC: 2: 65536MB 3: 65536MB

相關內容