忘记MokManager开机密码且mokutil操作无效,求助解决方法
忘记MokManager开机密码且mokutil操作无效,求助解决方法
老兄,我完全懂你现在被MokManager开机弹窗要密码搞崩溃的心情——明明有root权限,用mokutil操作却没效果,太闹心了!咱们结合你提供的排查信息,一步步来搞定这个问题:
先聊聊你排查到的细节
从你用strace mokutil --clear-password的输出来看,命令其实已经成功创建了空的MokPW EFI变量,开头的\7是EFI变量的属性标志位(不是字符串长度),代表这个变量是非易失、可读写的,属于正常情况,不用纠结这个。
而你后来尝试设置1位密码、导入密钥后出现“Verification success”却没触发重启,大概率是因为MokManager的操作需要你手动重启去确认,咱们补上这步就行。
具体解决步骤
步骤1:确保EFI变量系统是可写的
有时候efivarfs会被挂载为只读模式,导致mokutil的修改无法生效,先检查并修复:
# 查看efivarfs挂载状态 mount | grep efivarfs # 如果显示ro(只读),重新挂载为可写 mount -o remount,rw /sys/firmware/efi/efivars
步骤2:彻底清理待处理的Mok请求
如果之前有未完成的密钥导入/注销请求,MokManager会一直弹窗要密码,先排查并清理:
# 查看待处理的Mok请求 mokutil --list-pending # 如果有输出,取消所有待处理请求 mokutil --revoke-import
步骤3:重新重置Mok密码并完成确认流程
按照下面的操作走,确保MokManager能识别到新的密码设置:
- 用
mokutil设置一个简单密码(比如你之前用的1位密码):
按提示输入新密码,重复确认。mokutil --password - 导入你准备的
MOK.der密钥:
输入刚才设置的密码。mokutil --import MOK.der - 手动重启电脑——这步很关键!重启后会进入MokManager界面,选择“Enroll MOK”,然后确认导入,输入你设置的密码,完成后选择“Reboot”。
步骤4:终极方案——直接删除MokPW变量
如果上面的步骤都没用,咱们直接干掉那个保存密码的EFI变量(操作前建议备份,不过风险很低):
# 确保efivarfs可写(步骤1已经做过的话跳过) mount -o remount,rw /sys/firmware/efi/efivars # 删除MokPW变量 rm /sys/firmware/efi/efivars/MokPW-605dab50-e046-4300-abb6-3dd810dd8b23
重启后,MokManager应该就不会再弹出密码请求了;如果还有弹窗,选择“Reset Password”选项,直接留空密码或者设置新密码即可。
备注:内容来源于stack exchange,提问作者nintyfan
相关产品推荐
相关产品推荐

