修改grub

1583阅读 0评论2008-09-01 xinyu391
分类:LINUX

window Linux(Ubuntu 8.10小白鼠版) 双系统,在重新安装windows后,grub启动菜单没了,无法启动linux了
原因:
当初安装win和linux时grub安装到了mbr(第一块硬盘的第一个分区的前512字节。
在重新安装win后把mbr覆盖了

解决方法(修复grub):
使用linux liveCD启动linux(目的是得到一个linux 命令行,以便运行grub命令)
我使用的是Ubuntu  7.10的liveCD,启动进入了LiveCD系统,
打开一个shell命令行
运行sudo grub(切记加上sudo,否则没权限执行root等grub命令)
#sudo grub
grub>root (hd0,x)
grub>setup (hd0,x)
grub>quit
以上命令中,hd0,是代表第一块硬盘(grub是从0开始数的,第二块硬盘就是hd1),x代表你的/boot所在的分区(grub是从0开始数的,第一个分区就是0)至于确定/boot在那个分区,可以用ls /dev/sda* 看一下你都有哪些分区,或者在使用GPartation分区工具(UBuntu liveCD自带的分区软件)就可以看到详细的分区信息,linux的分区是从1开始数的,就是如果你的/boot在/dev/sda3,那么grub中就是(hd0,2).
执行以上grub命令就可以把grub修复。
至于这个命令是不是把/boot分区设置成了可启动boot格式,我不确定,但是看网上的文章,好像,就是设置成boot了
但是,我每次启动win后,(hd0,0)总变成boot的了,还是没解决问题
最后还是把grub安装到(hd0)吧
在linux shell下执行grub-install /dev/sda  (sda是第一块stat硬盘)。

*****************************************************
                                   20080902
在Grub启动菜单中选Xp,都是一下内容:
Booting "Microsoft Windows XP Professional"
root (hd0,0)
savedefault
makeactive
chainloader +1
GRUB Loading Stage2...
然后就又回到Grub启动菜单了。


在重装Grub的时候出错了
我先执行了#grub-install /dev/sda
然后又执行了#grub-install /dev/sda1
(或者执行了grub的 setup (hd0,0) setup (hd0))


破坏了本来C盘的分区表。

解决办法:
用Xp安装盘启动,进入控制台恢复模式
此时C盘应该是损坏的,无法列目录
执行:
c:\fixboot c:
c:\bootcfg /scan
此时将XP的启动项重新写到MBR中,Reboot之后Grub菜单消失,直接进入XP
再次用Ubuntu install CD启动,rescue模式,grub-install /dev/sda,重新安装Grub,Reboot之后Ubuntu和Xp应该都可以启动了。

上一篇:Hibernate 使用DB2 for Z/OS 序列 的一个BUG
下一篇:Freecraft