故障现象
物理机无法引导进去操作系统,光标停止在grub>,故障现象如下图所示:
问题原因
grub2配置文件损坏,无法进入系统。 可能是由于调整分区或MBR/GPT分区表损坏,造成grub2不能正常启动,进入了救援模式。
确定boot分区和根分区
1 2 3 4
| grub > ls #查看有哪些磁盘分区 grub > ls (hd0,gpt1)/ #EFI分区 grub > ls (hd0,gpt2)/ #boot分区 grub > ls (hd0,gpt3)/ #根分区
|
临时修复启动:
1 2 3 4 5
| grub > insmod xfs grub > set root='hd0,gpt2' #这里指定的应该是/boot分区,这个分区下应该有 vmlinuz-0-rescue以及initramfs-0-rescue文件。 grub > linux /vmlinuz-0-rescue-xxx root=/dev/mapper/klas-root #因为有独立的boot分区,所以linux 后面可以直接跟/vmlinuz,该文件存放位于/boot下 grub > initrd /initramfs-0-rescue-xxx.img grub > boot
|
启动后进入系统,安装grub2:
1 2 3 4 5
| lsblk
yum -y install grub2-aa64-modules #如果没有网络,可以挂载镜像拷贝grub2-aa64-modules.2.02-76.p05.ky10.noarch.rpm 包自行安装
grub2-install /dev/sda #如果报“grub2-install:error: /usr/lib/grub/arm64-efi/modinfo.sh doesn’t exist. Please specify --target or --directory.”,则说明未安装grub2-aa64-modules.noarch。
|
重新生成grub.cfg文件:
1
| grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg
|
重启验证