背景:win7下装完双系统,重新启动出现 grub rescue>模 式 黑屏,无法正常启动
解决办法: 使用grub rescue模式下引导命令,手动引导。首先给出参考文献来自于ubuntu官方论坛 还有一篇博客某博客

解决步骤为:

  1. 执行ls命令 grub rescue> ls 找到ubuntu系统所在分区
  2. 执行set root命令 root=(hd0,n)或者 root=(hd0,msdos+n) n是代表数字,至于是n还是msdos+n取决于ls显示的内容
  3. 执行 prefix 命令 prefix=(hd0,n)/boot/grub
  4. 执行 insmod命令 insmod normal
  5. 执行 normal 命令 normal
  6. 最后启动系统后执行 update-grubgrub-install /dev/sda命令,这样就可以避免下次启动再次出现rescue了

其实以上内容都不是我想要说的
个人总结
上面的解决步骤是大部分博客给出的解决方案,某种情况下十分完美的解决了问题,但是也有水土不服的时候,在什么情况下上述解决方案水土不服,以及又如何解决才是我真正想要说的。
其实grub引导系统启动的真正程序是通过找到grub.cfg文件,这个文件记录了如何找到引导程序进行正确引导。
水土不服的时候
大家看步骤3 prefix=(hd0,n)/boot/grub 这一步骤的目的就是指定grub.cfg文件所在目录地址,以便找到grub.cfg文件。但是这个步骤只适用于安装时没有对/boot挂载点单独分区的情况。当对/boot挂载点单独分区时,会把内容直接放在分区里。所以执行步骤3的时候可能会报错,报错内容为找不到/boot/grub/grub.cfg文件。此时只需要找到/boot挂载点所在分区,比如为(hd0,m),然后执行
prefix=(hd0,m)/grub
就可以了
与此类似,当你有两块硬盘时,你可能需要把hd0替换为hd1