前因

之前是双系统win7和Ubuntu18.04。Ubuntu18安装的时候分区/10G还有swap2G,/boot256M,剩下的都是/home,用了一阵子/满了,而且我感觉装了些不靠谱的东西,打算重装一下仔细配置我的Ubuntu系统,给/分大点。然后我就在windows下用磁盘管理工具把linux的4个分区删了。

重新安装Ubuntu,/分了40G,剩下的都是/home。装成功之后重启就是grub rescue了。

解决过程

网上的办法大多一样,并没有完全解决我的问题。

一步一步来吧。

grub rescue>

一、寻找grub的位置

先输入set,查看设置。

ls 看磁盘的情况。

然后找grub所在的位置。

ls (hd1,msdos1)/等等

不在linux系统的磁盘时,会提示文件系统无法识别,很快就锁定了两个磁盘(hd1,msdos8)(hd1,msdos9)

在msdos8里面有boot,再进去就看到了grub。

二、重建配置

set root=hd1,msdos8

set prefix=(hd1,msdos8)/boot/grub

三、进入引导菜单

insmod normal

normal

四、进入linux 系统,打开终端,输入

sudo update-grub

sudo grub-install /dev/sda

--------------------------------------------

重启之后,又进入了 grub rescue,set的值 还是原来的。

cmdpath

当前被加载的"core.img"所在目录(绝对路径)。例如:UEFI启动可能是'(hd0,gpt1)/EFI/UBUNTU'或'(cd0)/EFI/BOOT',BIOS启动可能是'(hd0)'。由GRUB2自动设置。你只应该使用此变量,而不应该修改它。

结果

开机按了一下F11,试着从另一个硬盘启动。现在是win7 装在ssd上,linux装在机械硬盘上。

直接就进入grub菜单了,重启,修改bios设置,调整机械键盘为第一启动顺序,搞定。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐