今天yum update升级centos7,重启后发现开不了机,报错如下:
Failed to set MokListRT: Invalid Parameter
Something as gone seriously wrong: import_mok_state() failed:
Invalid Parameter
google之后,发现错误原因:
主要是由于shim和mokutil两个软件包升级高版本后,不支持机器的配置,所以解决方法就是对这两个版本进行降级。
首先先开机进去:
首先制作一个centos7的启动盘,U盘启动后,点第三个Troubleshooting,然后按照下面的顺序操作:
Troubleshooting -> Rescue media -> 输入1继续;
在终端下输入下面命令:
chroot /mnt/sysimage
cd /boot/efi/EFI/centos
cp grubx64.efi shimx64.efi
exit
reboot
重启后,应该可以进入系统,
然后进入管理员权限,在yum.conf中排除shim和mokutil的升级:
echo 'exclude=shim,mokutil' >> /etc/yum.conf
yum update
之后再进行yum update升级就不会升级上述两个包了。
另一方面降级shim和mokutil,在网上下载12-2版本的两个包;
首先使用 rpm-e *.rpm --nodeps 卸载目前15-1版本的两个安装包
使用 rpm -ivh *.rpm 安装两个包。
注意:
有时即使更改了上述的文件依然无法成功开机,就需要进入linux登陆管理器,进入以前的linux版本,一样可以进入系统。