LinuxSir.cn,穿越时空的Linuxsir!

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

双SATA硬盘安装WINXP+64位的FC5,用bootpart做引导失败之讨论

[复制链接]
发表于 2006-8-18 13:30:33 | 显示全部楼层 |阅读模式
原机中安装有一块160G SATAII 希捷7200.7硬盘,装了windowsxp,另配一块SATAII 希捷7200.9 160G 硬盘安装FC5, 以DVD光盘安装。安装程序认出两块硬盘,sda 和sdb,可能SATA硬盘不同PATA的是hd打头。sda是原windowxp盘,将FC 装在sdb中,由于不想改变sda的主引导区,在GRUB设置时,选中高级选项,将GRUB安装在sdb1的启动sector中。GRUB认出sda1中有其他的系统,但标识为Other,修改为windos xp,FC 所在分区GRUB列出是sdb3(/ 分区,虽然我在前面分区时,/分区是sdb2,但配置GRUB时,GRUB列出FC是在sdb3,设完GRUB高级选项按回退,回到分区页,/分区果然变成了sdb3,奇怪)。如此这般安装结束,重启动进到WINXP,用bootpart列出各分区,sdb1分区序号是7,名称为D*,输入命令bootpart 7 bootlinux.bin Fedora CORE 5, 生成bootlinux.bin,同时修改了boot.ini文件,重启动,见到多重启动菜单,选则Fedora CORE 5,屏幕显示:/system32/hal.dll 丢失或损坏。我确认我的HAL.DLL应该是不会坏的,只有两种可能,bootlinux.bin不包含启动分区信息或是有错误,或者boot.ini格式不对。另,看bootpart.txt说明,bootpart要求linux分区中必须使用lilo来作启动,这可能是失败的第三种原因。

请各位高人前辈分析失败的原因。
使用bootpart用NTLDR来实现双引导是很普遍的作法,尤其是不想改变原WINDOW分区时更是不二选择,另附一篇国外高人写的总结文章:
http://enterprise.linux.com/ente ... ?tid=129&tid=49
 楼主| 发表于 2006-8-18 23:33:52 | 显示全部楼层
请教了多个高人,都不知原因,看看这里有明白人没有。
回复 支持 反对

使用道具 举报

发表于 2006-8-18 23:41:29 | 显示全部楼层
用WinGRUB不就得了,这个BootPart好像封装了太多,都不知道它是怎么实现的,又如何看问题的所在呢
回复 支持 反对

使用道具 举报

发表于 2006-8-19 15:14:02 | 显示全部楼层
为什么不把grub装在sda的mbr上?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-19 21:03:11 | 显示全部楼层
多谢两位回复!
由于用bootpart是非常普通的方法,且简便易行,我只要在装linux的sdb里开一个vfat分区,用bootpart生成一个启动文件存放在这个分区,以后这个硬盘我插到任何一个机器上只要修改另一windows系统的boot.ini就可实现双系统引导,因此,我还是想搞明白为什么用这么标准的做法总是失败。
我知道将GRUB放在SDA的MBR或是用WINGRUB可以实现双启动,但遇到问题不能总是躲避、绕道嘛,否则有一天它还会在另一个地方绊你一下:)
回复 支持 反对

使用道具 举报

发表于 2006-8-19 21:49:30 | 显示全部楼层
用bootpart列出各分区,sdb1分区序号是7

换成sdb3的分区序号试试
回复 支持 反对

使用道具 举报

发表于 2006-8-20 12:28:21 | 显示全部楼层
小心 地说一句:
用WINGRUB也不用写入MBR,只需要改BOOT.INI。把GRUB拷到C。就行了,也没那么麻烦啊。
回复 支持 反对

使用道具 举报

发表于 2006-8-20 12:45:36 | 显示全部楼层
安装的时候把winxp的硬盘拔掉。装好fc5 后 修改 grub 的启动菜单。在bios中让 装有fc5 的硬盘为启动硬盘。通过grub引导xp。如果任何的一个系统发生问题都可以从另外的一个硬盘启动。也可以重装系统。不会影响另外的系统的引导~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-21 11:28:26 | 显示全部楼层
回答 carrison: 试了SDB3,查看生成的boot文件,与SDB1有一点不同,但也不能启动;

回答 ls90415ls: 我是想将FC的引导分区存成一个文件,且这个文件也在FC的硬盘里,这样,以后这个硬盘拿到其他机器上,我只要改一下boot.ini就能启动,而不用再装WINGRUB了。

回答xufan106: 你这个方法不错,可以保证任何一个硬盘能单独启动,不过,有几个菜问题:1、用一个硬盘装好FC5后,修改GRUB,是不是要在插上XP的硬盘之后修改? 2、BIOS里没有设哪个硬盘为启动盘的地方吧? 我的BIOS里没有。不过,是不是SATA1是默认启动盘?万一哪个坏了,需要将硬盘线重新交换插一下? 3、如果XP不当作启动盘,它有没有可能启动?是不是还要设置一下GRUB,remap一下,来欺骗XP让它把自己当作主盘?

我最大的困惑是,我用的是最普通的方法,这条路被无数人验证过,为什么我这里走不通?难道真的要先在sdb里装上Lilo? bootpart不支持GRUB?  BOOTPART 到底能否支持GRUB?

谢谢众位!
回复 支持 反对

使用道具 举报

发表于 2006-8-21 18:41:11 | 显示全部楼层
用dd if=/dev/sdb3 of=bootlinux bs=512 count=1输出的引导信息文件绝对好用。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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