Linux系统故障,Grub丢失。开启启动后,直接进入grub>无法进入系统。
只需要删除/boot/grub2/grub.cfg即可。 通过传统的删除硬盘的前446字节对GPT分区无效。
一、查看分区
二、 临时修复启动
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
三、 启动后,进入系统,安装grub
[root@centos2 ~]# grub2-install /dev/sda
grub2-install:错误: /usr/lib/grub/x86_64-efi/modinfo.sh doesn't exist. Please specify --target or --directory.
四、 解决上述报错
[root@centos2 ~]# 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)
[root@centos2 ~]# cd /run/media/root/CentOS 7 x86_64/
[root@centos2 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
[root@centos2 CentOS 7 x86_64]# yum -y install grub2-efi-x64-modules.noarch
[root@centos2 CentOS 7 x86_64]# grub2-install /dev/sda
Installing for x86_64-efi platform.
Installation finished. No error reported.
[root@centos2 grub2]# pwd
/boot/grub2
[root@centos2 grub2]# ls
fonts grub.cfg grubenv grubenv.rpmsave locale x86_64-efi