CentOS7下的解决办法
查看有所有的磁盘分区:grub> ls
(hd0) (hd0,gpt0) (hd0,gpt1) (hd0,gpt2) (hd1)
#硬盘hd0的第一个分区gpt1相当于sda1
##x为盘数目,一个一个的查找直到找到镜像
将boot分区指定为临时根分区grub> set root=hd0,gpt2
指定内核的位置和真正启动后根分区的位置 grub> linux /vmlinuz-4.14.0-115.el7a.x86_64 root=/dev/sda3
#linux16或者linuxefi命令指定内核的位置,基于上一步指定的根的位置
#root=/dev/sda3 指定系统实际的/分区
grub> initrd /initramfs-4.14.0-115.el7a.x86_64.img
#使用initrd16或者initrdefi命令指定initramfs的位置,系统有多个内核时,确认好对应的版本。
grub> boot
#上述都确认后,输入boot命令启动。如无法正常启动,请再次检查上面步骤参数。
也可以利用find / -name "grub.cfg" ##查找相应的路径
# grub2-mkconfig -o /boot/grub2/grub.cfg
#cat /boot/grub2/grub.cfg |grep menuentry #查看启动项的内核数
注意:grub配置文件的位置和名字
CentOS6中为/boot/grub/grub.conf
CentOS7中为/boot/grub2/grub.cfg