天天看点

linux升级完卡grub,解决CentOS7,EFI+GPT卡在grub,无法正常启动的故障(一)

linux系统故障,Grub丢失。开启启动后,直接进入grub>无法进入系统。

只需要删除/boot/grub2/grub.cfg即可。 通过传统的删除硬盘的前446字节对GPT分区无效。

一、查看分区

linux升级完卡grub,解决CentOS7,EFI+GPT卡在grub,无法正常启动的故障(一)

二、 临时修复启动

insmod xfs

set root='hd0,gpt2' #这里指定的应该是/boot分区,这个分区下应该有 vmlinuz-0-rescue以及initramfs-0-rescue文件。

Linuxefi /vmlinuz-0-rescue-9d20b497512743d8befa1a3151a40d24 root=/dev/mapper/centos-root

#因为有独立的boot分区,所以Linuxefi 后面可以直接跟/vmlinuz,该文件存放位于/boot下

initrdefi /initramfs-0-rescue-9d20b497512743d8befa1a3151a40d24.img

boot

linux升级完卡grub,解决CentOS7,EFI+GPT卡在grub,无法正常启动的故障(一)

三、 启动后,进入系统,安装grub

[[email protected] ~]# grub2-install /dev/sda

grub2-install:错误: /usr/lib/grub/x86_64-efi/modinfo.sh doesn't exist. Please specify --target or --directory.

四、 解决上述报错

[[email protected] ~]# mount #查看光盘挂载

/dev/sr0 on /run/media/root/CentOS 7 x86_64 type iso9660 (ro,nosuid,nodev,relatime,uid=0,gid=0,iocharset=utf8,mode=0400,dmode=0500,uhelper=udisks2)

[[email protected] ~]# cd /run/media/root/CentOS\ 7\ x86_64/

[[email protected] CentOS 7 x86_64]# rpm -ivh Packages/grub2-efi-x64-2.02-0.80.el7.centos.x86_64.rpm

错误:依赖检测失败:

grub2-common = 1:2.02-0.80.el7.centos 被 grub2-efi-x64-1:2.02-0.80.el7.centos.x86_64 需要

grub2-tools = 1:2.02-0.80.el7.centos 被 grub2-efi-x64-1:2.02-0.80.el7.centos.x86_64 需要

grub2-tools-extra = 1:2.02-0.80.el7.centos 被 grub2-efi-x64-1:2.02-0.80.el7.centos.x86_64 需要

所以改用yum

[[email protected] CentOS 7 x86_64]# yum -y install grub2-efi-x64-modules.noarch

[[email protected] CentOS 7 x86_64]# grub2-install /dev/sda

Installing for x86_64-efi platform.

Installation finished. No error reported.

/boot/grub2

[[email protected] grub2]# ls

fonts grub.cfg grubenv grubenv.rpmsave locale x86_64-efi