Ubuntu - 此系统不支持 EFI 变量

Ubuntu - 此系统不支持 EFI 变量

我正在尝试运行sudo mokutil --disable-validationsudo mokutil --import MOK.der但是,在命令行中收到此消息:

此系统不支持 EFI 变量

lsblk输出:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 232.9G  0 disk 
├─sda1   8:1    0   4.7G  0 part [SWAP]
├─sda2   8:2    0     1K  0 part 
├─sda5   8:5    0  82.9G  0 part /media/ali/8593EB75DEE9C7C1
└─sda6   8:6    0 145.4G  0 part /
sdb      8:16   0 465.8G  0 disk 
└─sdb1   8:17   0 465.8G  0 part /media/ali/Local Disk

那是什么?

这个问题该如何解决?

Ubuntu版本是16.04 LTS。

答案1

我在 Virtualbox 客户机(Ubuntu 16.04)中尝试编译内核模块时遇到了同样的问题。在这种情况下,CONFIG_MODULE_SIG内核配置选项要求对内核模块进行签名。但是,UEFI 和安全启动不可用,因此您无法实际对模块进行签名。正如您所注意到的,禁用验证也不起作用。

在这种情况下,对我而言唯一有效的解决方案是按照以下说明重新编译内核:Ubuntu 维基。这些说明对我来说很有用,唯一的例外是我还必须通过 aptlibncurses5安装。libncurses5-dev

使用 更改配置选项时fakeroot debian/rules editconfigs,请禁用部分Module signature verification中的选项Enable Loadable Module Support。我对每个 arch/flavor 都执行了此操作,这可能是必要的,也可能不是必要的。

这种方法对我来说很有效,如果你没有搞砸太多事情(就像我一样......),它应该在 30 分钟内完成(加上编译时间,这在很大程度上取决于你的系统)。但请注意,编译内核对我来说占用了大约 15 GB 的磁盘空间。此外,请确保稍后保留内核包,以免意外升级内核(你必须为每个新内核版本重复该过程)。

相关内容