当Windows和Ubuntu共存时,Ubuntu会自带一个Grub系统引导,你可以从里面选择开启哪一个系统但是,如果我们在Windows里面进行了磁盘分区的话,就会重新整理磁盘信息,Grub获得的系统启动盘就会发生改变,如果Windows在/dev/sda1启动、Ubuntu在/dev/sda8启动的话,分区所造成的磁盘启动可能会把Ubuntu的启动改到了随机的一个区,如/dev/sda2等,反正改后的区里不会包括Grub启动文件,这个时候,我们就需要手动将Grub启动文件设置一下,让Ubuntu能够找到它的启动区。
下面直接进行一系列操作来解决Grub的丢失问题吧
首先说明,在Grub Rescue下能用的命令很少,安装下面的方法一步步来即可:
第一步:查找Grub启动磁盘。
- ls
(hd0,msdos1) (hd0,msdos5) (hd0,msdos6) (hd0,msdos7) (hd0,msdos8)…
第二步:查找非NTFS文件系统的分区。
- ls (hd0,msdos1)/
和(hd0,msdos9)都识别了
第三步:查找Grub文件位置
- ls (hd0,msdos8)/boot/grub
msdos8里的grub内容,执行第四步
第四步:设置grub启动
- grub rescue>set root=(hd0,msdos8)
- grub rescue>set prefix=(hd0,msdos8)/boot/grub
- grub rescue>insmod /boot/grub/normal.mod
执行结果提示文件未找到,于是我就试着设置为msdos9,可是我的grub是直接放到msdos9里面的根目录
下的,所以我又进行了如下命令
- grub rescue>set root=(hd0,msdos9)
- grub rescue>set prefix=(hd0,msdos9)/grub
- grub rescue>insmod grub/normal.mod
第五步:显示丢失的Grub菜单
- grub rescue>normal
第六步:修复Grub
- sudo update-grub
- sudo grub-install /dev/sda
到这里重启一下就可以恢复如初了。
更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2