efibootmgr:無法刪除變數:系統呼叫中斷—我的韌體是否變磚了?
我正在處理一些奇怪的 UEFI 問題,而現在我似乎唯一能夠啟動的就是在活動 USB 記憶棒上的 openSUSE Tumbleweed(KDE 版本,快照 20170608 x64)。
背景:我正在處理一台東芝Satellite S55t-B5233 筆記型電腦。我想重新安裝 Windows 10,但是當我安裝它時,它沒有正確擦除分區,我最終在啟動時選擇了啟動“Windows 10”或“Windows 10”。我啟動了一個 openSUSE live 映像,刪除了驅動器上的每個分區,用 FAT 文件系統創建了一個新的空白 EFI 系統分區,然後我的麻煩就開始了。我無法從任何東西啟動,包括之前工作不到一個小時左右的 U 盤. 最後,我可以在按住“U”鍵後從 openSUSE live USB 啟動。我嘗試將 openSUSE 安裝到磁碟上,但沒有成功。我已經在 USB 驅動器上嘗試了真正的 openSUSE 安裝映像(不是實時映像)、在 USB 驅動器上安裝 Archiso、rEFInd live USB 映像,以及使用 Rufus 製作的 Windows 10 安裝程序。它們都不起作用——我得到的只是“無法啟動設備——請重新啟動系統”。(我什至嘗試更改 Arch 驅動器的 MBR 磁碟標識符以匹配 openSUSE 驅動器。這也不起作用。)無論如何,我真正的問題。(在 openSUSE live 環境的上下文中)
efibootmgr --verbose
將“Windows 啟動管理器”列為 UEFI 啟動選項中的一個條目。它還指定了 bootmgfw.efi 的文件路徑,該文件在驅動器上不再存在。當我使用efibootmgr -b 3 -B
我得到Could not delete variable: Interrupted system call
. Boot0003 的文件從 /sys/firmware/efi/efivars 中消失,並且 efibootmgr 表示未設置 BootOrder,但在重新啟動後,這兩個變數都會恢復到以前的狀態。我認為對 efivars 文件系統的更改實際上並未寫入韌體,那麼這是否表明 openSUSE 存在錯誤,或者是否意味著韌體存在問題?編輯:使用 GRUB 命令行,我啟動了 Arch Linux。同樣的問題繼續存在。
編輯:這是最近為 Ubuntu 廣為宣傳的intel_spi_platform 驅動程序錯誤的一個案例,儘管在這種情況下它是由 openSUSE 引起的。通過 UKUU(Ubuntu 核心升級實用程序)安裝 Linux 核心 4.14.10,損壞是可逆的。我想上面連結的錯誤報告推薦的 Linux 4.15.x 更新檔版本也可以工作。
我已經盡我所能,我的研究表明 NVRAM 幾乎是烤麵包。我修改了 openSUSE live USB 以讓我從 Archiso 執行 EFI Shell,即使在 EFI shell v1 和 v2 中嘗試了這兩種bcfg
命令後dmpstore
,我也無法刪除該引導條目。我可能會嘗試安裝 Windows 以匹配現有條目,因為我可以從 EFI shell 進行鍊式載入。也許。