问题描述:
今天装双系统,原有win7系统下装Ubuntu14.04,装完后重启电脑,无法正常进入grub引导界面。
解决方法:
在网上搜索了解决方法,主要参考博客:
https://blog.csdn.net/the_lastest/article/details/45601429
现将解决方法记录如下:
1. 查看磁盘分区。
用ls 查看命令,看看当前目录下有哪些磁盘。一般会列出以下:
这是我的电脑列出来的:
(hd0) (hd0,msdos1) (hd0,msdos2) (hd0,msdos4) (hd0,msdos5) (hd0,msdos6) (hd0,msdos7) (hd0,msdos8) (hd0,msdos9) .......等
2. 查找哪个磁盘分区中有 grub.cfg 文件。
用ls (hd0,X)/grub命令查看每个盘里面的内容,是否有grub这个文件夹且里面有grub.cfg这个文件。其中X代表上面的msdos这个参数,比如 ls(hd0,5)/grub,如果提示有错误的话就用这个 ls (hd0,msdos5)/grub. ls后面有一个空格
另外,如果你这样查看了每个盘之后都没找到grub.cfg这个文件的话,改成ls (hd0,X)/boot/grub,继续查看每一个盘。
我使用 ls (hd0,msdos8)/grub中找到有grub.cfg这个文件。
3. 修复grub。
情况一 :如果你是在/boot/grub这个目录下找到的
grub rescue>root=(hd0,9)
grub rescue>prefix=/boot/grub //grub路径设置
grub rescue>set root=(hd0,9)
grub rescue>set prefix=(hd0,9)/boot/grub
grub rescue>insmod normal //启动normal启动
grub rescue>normal
情况二 :如果你是在/grub这个目录下找到的 grub rescue>root=(hd0,9)
grub rescue>prefix=/grub //grub路径设置
grub rescue>set root=(hd0,9)
grub rescue>set prefix=(hd0,9)/grub
grub rescue>insmod normal //启动normal启动
grub rescue>normal
之后你就能见到启动项了,然后进入系统。
我在查找的过程中发现有的方法到这儿为止,似乎还不能进入系统(我两台电脑到这儿都能进入系统了),还要进行以下的设置,所以我就直接粘贴过来了
grub >set root=hd0,msdos8
grub >set prefix=(hd0,msdos8)/boot/grub
grub >linux /vmlinuz-xxx-xxx root=/dev/sda8 //里边的xxxx可以按Tab键,如果有acpi问题,在最后加一句acpi=off
grub >initrd /initrd.img-xxx-xxx
grub >boot
这样就可以进入了
我在/grub中找到grub.cfg这个文件,使用了以下命令就可以进入系统了:
grub rescue>root=(hd0,msods9)
grub rescue>prefix=/grub //grub路径设置
grub rescue>set root=(hd0,msods9)
grub rescue>set prefix=(hd0,msods9)/grub
grub rescue>insmod normal //启动normal启动
grub rescue>normal
4. 更新保存grub文件
进入系统之后打开终端
sudo update-grub
sudo grub-install /dev/sda
其实这两条命令也适用于安装ubuntu之后,没有win7引导的童鞋,执行之后就好了。