我正在尝试运行sudo mokutil --disable-validation
,sudo 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 的磁盘空间。此外,请确保稍后保留内核包,以免意外升级内核(你必须为每个新内核版本重复该过程)。