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 发挥了一些魔力并使其正常工作。

相关内容