|
发表于 2009-2-25 20:52:50
|
显示全部楼层
Post by zpcat;1952344
我认为应该是最先装得suse的系统里面没有随后安装的ubuntu的分区的信息吧!
瞎猜得!
我的机器就是线装suse,在装ubuntu,不过我的ubuntu是在windows下面划分一块空间安装的,使用的是XP的引导。进入ubuntu之后还有他自身带的引导有suse的选项,不知道是grub 还是lilo,
另外,chainloader是引导windows市的一个选项,因为windows只能安装在硬盘的最开始的扇区,'+1'是指示GRUB读入分区的第一个扇区的引导记录。估计是win专用的吧。
谢谢楼上的回答,关于chainloder我觉得就是你说的这样。但我想Grub是不需要Suse提供的信息就可以完成引导的。这点从手工引导系统的过程就可以看出来。
看到外国论坛上有人说这可能是因为老板本的Grub可能不能识别采用了新的EXT文件系统的Ubuntu所致,我觉得和我的情况比较吻合。我的Ubuntu是9.04的开发版本(Jaunty)。我重新装一下Ubuntu,这次换成用Ubuntu带的Grub,看能否识别Suse
另外,关于楼主的问题。因为Windows类系统比较“笨”它会在安装自己的时候改写MBR,从MBR中找到自己所在的分区,在上面查找引导程序并将控制权移交给该引导程序(应该就是ntloader吧)以上和以下说的不精确,或者不正确,高手请更正。
所以如果你先装了Linux类的系统再装Windows,你的Grub如果选择安装到MBR中,就会被后来的Windows覆盖,如果你选择将Grub装到你的Linux所在分区呢,虽然后来的Windows不会覆盖,但他写入的MBR一样不会去找你的Grub,所以无论如何先装Linux都无法实现双系统启动。
如果先装了Windows,再装Linux,Grub就很聪明了,它将不依赖文件系统的stage1装入MBR,这样就可以用stage1去找stage1.5或者是Windows的引导程序了(Chainloader?),stage1.5应该是文件系统相关的,它能找到相应的Linux的stage2,stage2知道怎么load内核,他来完成内核的加载。 |
|