procfs 和 sysfs 中缺少 efivars 數據

procfs 和 sysfs 中缺少 efivars 數據

我正在嘗試在 Tab-X 10.1 Intel WinPad 上安裝 ubuntu。

UEFI 載入程式僅允許從 32 位元 efi 映像啟動。 Ubuntu 僅支援 64 位元版本的 UEFI。

我正在嘗試讓 64 位元版本的 Ubuntu 生成 32 位元 EFI 映像 - 我安裝了grub-efi-ia32替換grub-efi-amd64.

重新安裝 grub-efi 時,它抱怨:

Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.

我檢查了一下,efivars 模組已載入。/sys/firmware/efi/efivars存在且為空。/sys/firmware/efi/vars不存在。

我無法安裝 efivarfs,因為它似乎沒有安裝。

我有點卡住了 - 有什麼想法嗎?

答案1

大多數情況下,發生這種情況Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.是因為您沒有使用 UEFI 啟動。這些變數僅在執行系統使用 UEFI 啟動時顯示,使用 CSM 時它們未啟用...所以這是先有雞還是先有蛋的問題,對於您設定 UEFI,您需要使用 UEFI 啟動! :)

因此,請嘗試盡可能多地進行設置,然後獲取 rEFInd USB 或 CD 映像並使用它來首次啟動系統。之後就可以順利完成設定了。

答案2

我設法從支援 32 位元 EFI (Clonezilla) 的 Live CD 中竊取 32 位元 efi 映像,並修改 grub.cfg 以指向正確的 HDD,從而使系統啟動。

由於未知原因,我必須手動進入 EFI shell,並從那裡啟動 grubia32.efi。

啟動後,我安裝了grub-efi-ia32boot-repair.

運行 boot-repair 發揮了一些魔力並使其正常工作。

相關內容