小记——Grub Rescue恢复

下面我要讲的是一个悲伤的故事

引子

  电脑状况简介:两块硬盘(1HHD、1SSD),SSD上装了LINUX(40G)+WIN10(50G)的双系统,SSD剩余部分在WIN下使用装程序,HHD做仓库。LINUX引导WIN。

  问题的产生:WIN10的C盘快满了,宝宝手贱用分区助手从装程序的分区划了几个G给C盘。

  然后重启就TM进到grub rescue了,呐,就这样

  其实出了这个界面的时候宝宝是不担心的,因为这是linux的东西的问题。如果是WIN出了问题……那真是一场灾难

  出这个毛病的原因应该是分区助手改了分区,结果grub就懵逼了,所以提示我找不到引导文件了。解决的方法也很简单,重新定位文件位置(没错,看起来逼格好像很高但实际上……呵呵)。

  然后讲一下怎么恢复

解决

  主要的步骤呢很简单,在rescue模式下确认引导文件的实际位置,然后暂时重新定位它使我们可以进入grub,然后就可以进入UBUNTU更新grub完成修复。(网上还有用安装盘进行恢复的,但一是我觉得麻烦,二是我手上也没安装盘,所以就没用那种方法)

  首先ls看看我磁盘(中间输错了一次命令,而且还执行了!!在这里算是自我提醒一下吧,敲回车之前千万要确认命令的正确性啊啊啊)

  这里能够看到我的一块磁盘分了4个区,另一块分了三个区,在这里请根据自身情况判断哪块盘是哪块盘(判断不出来也没事,像我一样所有分区都遍历一遍就好了23333)。

  然后需要做的就是依次 ls (hdx,msdosy) 来确认哪个是linux分区(这里的x,y对应盘和分区的序号),如下(我把所有分区都打了一遍)

  很容易看出来,这里ext2的是linux下的分区,而unknown的就是win的了(中间又打错了一个)。

  然后就是在这些分区下找我们的引导文件,如果你的/boot单独挂出来了(比如我),就用这个指令(x,y含义同上面)

  ls (hdx,msdosy)/grub

  如果不是,就用这个

  ls (hdx,msdosy)/boot/grub

  可以看到(hd0,msdos2)里面有grub目录,文件也在里面

  

  然后关联文件

  boot挂出来了的用这个

set root=(hd0,msdos2)
set prefix=(hd0,msdos2)/grub
insmod normal
normal

  没挂出来的用这个

set root=(hd0,msdos2)
set prefix=(hd0,msdos2)/boot/grub
insmod normal
normal

  总之你敲完最后一行的normal以后按下回车就能进入grub了,这里就不截图了。

  然后进入linux,打开控制台,更新grub

sudo update-grub2
sudo grub-install /dev/sda

  

然后就没有然后了。如果你要用WIN引导LINUX的话……你以前是怎么做的,你现在就怎么做就好了

又学到了新东西,还是蛮开心的233333

原文地址:https://www.cnblogs.com/Dumblidor/p/6056948.html