下面我要讲的是一个悲伤的故事
引子
电脑状况简介:两块硬盘(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)/grubinsmod normalnormal
没挂出来的用这个
set root=(hd0,msdos2)set prefix=(hd0,msdos2)/boot/grubinsmod normalnormal
总之你敲完最后一行的normal以后按下回车就能进入grub了,这里就不截图了。
然后进入linux,打开控制台,更新grub
sudo update-grub2sudo grub-install /dev/sda
然后就没有然后了。如果你要用WIN引导LINUX的话……你以前是怎么做的,你现在就怎么做就好了
又学到了新东西,还是蛮开心的233333