【分享】先装ubuntu后装XP后修复grub多启动菜单

启动讨论 grub/grub2/syslinux/grub4dos/Lilo
回复
LuciferStar
帖子: 146
注册时间: 2008-10-27 9:38
送出感谢: 0
接收感谢: 0

【分享】先装ubuntu后装XP后修复grub多启动菜单

#1

帖子 LuciferStar » 2008-11-10 13:00

以前是先装XP,然后装ubuntu。ubuntu在安装的时候,会自动配置grub的启动菜单,达到双/多系统启动的目的。
这次,我是先装ubuntu,然后将原来在硬盘第一个分区的XP的GHOST文件恢复到了硬盘的第二个分区。
启动的时候,就没有之前那个grub菜单了(PE里看,XP的那个分区是active的,想把第一个分区设为active,不敢乱动)。

不过,那个XP备份,我之前安装过wingrub,所以在XP的启动菜单里可以进入grub。

重启,选择进入grub菜单,然后选ubuntu的任意启动项,失败。原因是UUID已经更改过了(该GHOST备份是比较老了,备份后,ubuntu都格式化并重装了好几次),怎么办?不会要重新装一次ubuntu吧?

不必!

既然现在的硬盘里有grub,那就手动加载系统吧。

开机,出现启动项选择,我选了grub启动,然后在grub的启动菜单里,按“C”键
[ Minimal BASH-like line editing is supported. For
the first word, TAB lists possible command
completions. Anywhere else TAB lists the possible
completions of a device/filename. ]

grub>
试了一下命令:
find /boot/grub/stage1
显示:
Error 15: File not found
不成功。
想起来我的ubuntu的\boot是在第六个分区的,于是:
cat (hd0,5)/grub/menu.lst
哈哈,看到menu.lst文件数据了。
看到有什么用呢?
很有用,因为看到了这些:
root (hd0,5)
kernel /vmlinuz-2.6.24-19-generic root=UUID=2ce94fa6-e3f6-42b2-a148-9e86d98
021cf ro quiet splash locale=zh_CN
initrd /initrd.img-2.6.24-19-generic

只要将这几行输入,执行,就能进入ubuntu了!

进入不是目的。
其实我们可以用grub修复双系统启动的菜单的:
先输入:
root (hd0,5)

然后输入:
setup (hd0)
显示结果:
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... yes
Checking if "/grub/stage2" exists... yes
Checking if "/grub/e2fs_stage1_5" exists... yes
Running "embed /grub/e2fs_stage1_5 (hd0)"... 16 sectors are embedded.
succeeded
Running "install /grub/stage1 (hd0) (hd0)1+16 p (hd0,5)/grub/stage2 /grub/menu.lst"...
succeeded
Done.
然后
quit
重启机器,就可以了。

现在还是搞不懂有一个no,结果还是succeeded了。

PS:grub是什么?其实,就是GHOST一件还原或者MAXDOS一类的软件所使用的启动管理程序。
看看你的C盘根目录下有没有GRLDR吧:)
另:
进入grub后,会显示
grub>_
输入help就能看到所有支持的命令。

装了那么多次的ubuntu,终于第一次,不重装就解决了自己遇到的问题。 :em06
回复

回到 “启动和引导”