insmod时出现 ERROR:Required key not available 的解决

原贴:https://blog.csdn.net/m0_38066161/article/details/81812816

我在尝试以编译模块的方式添加系统调用时,执行sudo insmod module.ko命令,遇到如下问题:

insmod: ERROR: could not insert module module.ko: Required key not available

我所使用的系统为 Ubuntu 18.04,Linux Kernel 为 4.15.0-32-generic。

出现此问题的原因是,Ubuntu Kernel 使用 EFI_SECURE_BOOT_SIG_ENFORCE 内核配置,这样会阻止内核载入第三方模块。

解决方法如下:

在终端执行如下指令:

sudo apt install mokutil

sudo mokutil --disable-validation

1

2

执行后,终端会让你设置8-16位密码(之后要用,不要忘记哦~)

接下来,重启电脑,会出现蓝屏(不要紧张,按下任意键进入选择界面 :-)),选项如下:

- Continue boot

- Change Secure Boot state

- Enroll key from disk

- Enroll hash from disk

选择Change Secure Boot state,接下来会让你输入之前的密码。

我的系统很调皮,没有让我直接输入密码,而是要求 Enter password character 7,意思是输入密码的第7位(这点要注意!)。

接下来进入Disable Secure Boot选择界面,选择 yes(不要直接按下Enter,这样就前功尽弃,只能从头再来了!)。

然后下个界面又回到最开始的界面,选择reboot,重新进入系统,赶紧测试下模块能不能安装进内核吧~

以上的解决方法应该对Ubuntu的最近几个distribution都适用(我没有测试过,不成功轻锤 :-))

————————————————

版权声明:本文为CSDN博主「Jyh7」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/m0_38066161/java/article/details/81812816

你可能感兴趣的:(insmod时出现 ERROR:Required key not available 的解决)