如何优雅地解决 CentOS7 无法启动并出现 Failed to set MokListRT 的错误


问题描述

  今天突然心血来潮,将我的 Ubuntu 18.04 系统给干掉了,在 CentOS Project 里下了一个最新版的 CentOS7 X86_64 1801 ISO刻录光碟后进行 CentOS 系统的安装,安装完成重启后却发现开不了机,报错内容如下:

1
2
3
Failed to set MokListRT: Invalid Parameter
Something as gone seriously wrong: import_mok_state() failed:
Invalid Parameter

错误原因

   有问题,上 Google ,查了一下发现错误原因主要是由于 shimmokutil 两个软件包升级到高版本后,不支持我这台破机的配置,所以解决方法就是对这两个版本进行一些优雅的小操作。

解决方法

  1. 使用 CentOS7 的启动盘启动你的电脑后,选择点第三项 Troubleshooting 并回车,然后按照下面的顺序操作:Troubleshooting -> Rescue media -> 输入 1 后继续以下的操作。

  2. 在当前出现的终端下输入下面命令,命令完成后电脑会重启:

1
2
3
4
5
chroot /mnt/sysimage
cd /boot/efi/EFI/centos
cp grubx64.efi shimx64.efi
exit
reboot
  1. 在完成上面的命令后,你应该就可以正常进入系统了。

  2. 之后,我们还需要使用用管理员权限运行terminal终端,将 shimmokutil 的两个包进行升级排除,免得以后一不小心升级了又要重新操作一番 ;)

1
2
echo 'exclude=shim*_,_mokutil*' >> /etc/yum.conf
yum update

这样,以后你使用 yum update 命令进行升级也不会升级这两个包了。

最后,附上参考文章的地址 CentOS 7: Failed to set MokListRT: Invalid Parameter


文章作者: VinceNT.范
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 VinceNT.范 !
  目录