LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2886|回复: 30

关于双硬盘GRUB和XP互相引导的问题!

[复制链接]
发表于 2004-10-14 11:17:53 | 显示全部楼层 |阅读模式
我有两个硬盘,主盘160G,装的是XP,分区全是NTFS格式;从盘20G,装了Fedora Core 2!Grub装在从盘的MBR上!
Linux识别主盘为hda,从盘为hdb
现在我想能从XP的引导菜单启动Linux,从Linux的Grub菜单也能引导XP!
我用dd将从盘的MBR的512字节做了镜像,copy到XP下,并改了菜单,但启动时出现Grub就没有了,无法启动!
在Grub里选XP启动,也不能启动XP!
请问如何才能完美解决此问题?
没有FAT32分区,是否会有影响?从理论上说,XP装载了Grub的MBR镜像,启动应该没有什么问题!好奇怪了!
发表于 2004-10-14 11:23:52 | 显示全部楼层
听别人说用lilo的map dirver来交换硬盘,不知grub有无这功能。

关注中 ...
 楼主| 发表于 2004-10-15 14:27:10 | 显示全部楼层
我是用dd命令做了Linux的MBR扇区的,以前单硬盘的时候,用LILO能顺利启动,现在没办法了!还好Bios支持开机选择启动设备!但每次都这样好麻烦的!
不知哪位高手能帮忙解决这个问题?
发表于 2004-10-15 14:50:54 | 显示全部楼层
再做一遍grub-install /dev/hda不就行了吗?
 楼主| 发表于 2004-10-15 16:05:32 | 显示全部楼层
可能不行!grub如果装到hda的MBR,XP会不会死翘翘是个问题!
hda完全是为XP使用的,分区全部是NTFS格式,hdb才是Linux专用!
从理论上讲,用hdb启动,grub应该是可以load hda的MBR实现XP启动的!只是不知如何实现!
请有过高手谈谈感想!
发表于 2004-10-15 21:33:02 | 显示全部楼层
应该会死掉吧.我曾经用disk to disk 做镜像.后来win就死掉了.
发表于 2004-10-16 05:15:26 | 显示全部楼层
兄弟,我跟你情况一样,当初我的分区是这样的:
hda:win2k & winXP (分别位于第一、二个分区)
hdb:SuSE 9.1 pro

刚开始总是load不成功,每次从bios切换太麻烦,后来终于解决了。
我把win重装了一遍,目的是让它的ntldr的起始于每个分区(因为我是先装的一分区的win2k,再装二分区的XP,它的ntldr可能不全在一分区了,不了解ntldr只是猜测,没确认)

然后bois改成linux所在硬盘启动,grub通过command方式
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,0)
makeactive
chainloader +1
boot

如果某条有错的话再改,比如空格或者数值之类的,如果没问题,那么执行了boot后就能引导到win下了。之后照着修改grub配置就行了。

听说ntldr不能跨盘引导,我没试过。如果是这样的话,那么把grub也安装在win所在的盘,再用ntldr就应该没问题了。
 楼主| 发表于 2004-10-16 09:18:51 | 显示全部楼层
我只有hda1装了XP,而且是格式式安装的,NTLDR的位置应该置前!
NTLDR应该能跨盘引导,如果从盘装的是MS的系统,boot.ini里改改就行了!
问题是我不知道grub是否支持用dd命令映射MBR内容然后用NTLDR载入并转向执行grub?
上面谈到的只是用NTLDR启动linux,还有grub启动XP也不行
屏幕出现:
rootnoverify(hd1,0)
makeactive   //这行是我后来加的
chainloader +1
就这样不动了,唉,搞得头都大了好几遍了!
 楼主| 发表于 2004-10-16 09:26:59 | 显示全部楼层
哦,顺便说一句,安装Linux的时候用了高级选项,改了hd的排列顺序,把grub装在hdb的MBR上,如果不改,则只能装在hda或是hdb2上!
所以上面启动XP才会是rootnoverify(hd1,0),如果从bios看,hda应该是0,hdb才是1,但用从盘作启动盘,hdb就变成0了!
花了很长时间根据我的机器调整编译了2.6.6的内核,奇怪的是即使是官方的内核(打了BK9的补丁),编译时都会有warning出现,大概只得在SCSI上有点问题,SOUND上也有……
虽然make install后使用正常,不知道有没有什么不良影响!也没来得及看warning的内容!
发表于 2004-10-16 13:29:19 | 显示全部楼层
我一开始了是这样,停到那就不动了,后来在grub里先试,我当时就是在rootnoverify和(hd1,0)之间少写了一个空格,反正在grub里试的时候,如果不成功,它会提示的,这样反复试,等试好了,把刚才试的指令和顺序写到配置里就行啦。
ntldr我没试,既然能从grub引导另一个盘上的win,我就谢谢天谢地了,我把win所在的盘划出来一个2M的小分区准备装grub和boot,但还没试呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表