QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1126|回复: 9

我的linux grub不能引导solaris 10!?

[复制链接]
发表于 2005-5-25 08:51:16 | 显示全部楼层 |阅读模式
原先,我的操作系统是windows2003, RED HAT LINUX AS4,用grub引导两个系统-------很正常!
但是昨天,在此之上我又安装了solaris 10(第一次接触),安装是很成功的,只是它的引导装载程序覆盖了我原先在主硬盘MBR上的grub(只能引导solaris 10和windows2003),我试着运行了solaris 10和windows2003-----一切正常!之后,我试着用linux的第一张安装光盘进入救援模式(rescue模式)来恢复linux的 grub引导程序-----成功了,但是grub这时只能引导linux和windows2003,solaris 10又进不去了( 苦呀!)

没办法,我只有暂时先这样了。进入linux后我用 fdisk -l命令查看硬盘分区的情况,如下所示:
Disk /dev/hda: 80.0 GB, 80026361856 bytes
16 heads, 63 sectors/track, 155061 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

Device Boot Start End Blocks Id System
/dev/hda1 1 24640 12418213+ 7 HPFS/NTFS //主硬盘第一个分区 (windows 2003中的C盘)
Partition 1 does not end on cylinder boundary.
/dev/hda2 24640 110368 43206817+ f W95 Ext'd (LBA)//扩展分区
Partition 2 does not end on cylinder boundary.
/dev/hda3 * 110369 155060 22524768 bf Unknown //主分区(激活)solaris
Partition 3 does not end on cylinder boundary.
/dev/hda5 24640 55575 15591051 b W95 FAT32
/dev/hda6 55575 80214 12418213+ b W95 FAT32
/dev/hda7 80214 95115 7510356 b W95 FAT32
/dev/hda8 95116 110368 7687071 b W95 FAT32

Disk /dev/hdb: 40.0 GB, 40060403712 bytes //从硬盘,全部用于RED HAT LINUX AS4
255 heads, 63 sectors/track, 4870 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hdb1 * 1 26 208813+ 83 Linux
/dev/hdb2 27 2012 15952545 83 Linux
/dev/hdb3 2013 2978 7759395 83 Linux
/dev/hdb4 2979 4870 15197490 f W95 Ext'd (LBA)
/dev/hdb5 2979 3631 5245191 83 Linux
/dev/hdb6 3632 4154 4200966 83 Linux
/dev/hdb7 4155 4677 4200966 83 Linux
/dev/hdb8 4678 4868 1534176 82 Linux swap

大家看看我的“主分区(激活)solaris”处显示的是Unknown,由于我是第一次接触solaris,所以在安装solaris时有些具体的细节我只能是按步就班的来做,比如solaris分区我是先用diskman分区工具分好后再安装的,在diskman里我查看solaris分区,也显示为 “UNIX OTHER”,好象并不是与Linux swap一样的是82类型,安装的过程中,solaris应该会把它给格式化的吧?而且solaris运行一切正常呀!?(对了,在安装时我在这个主分区下建立了3个分区:/ ,/swap,/export/home)

我在网上找了相关的用grub来引导solaris的方法:修改/boot/grub/grub.conf,加入如下的内容:
title solaris 10
rootnoverify(hd0,2)
chainloader +1
可是在引导时提示:Invalid or unsupported executable format

请大家帮帮我吧,我好象看见了solaris的曙光,但是成功的路上需要您的帮助!
万分感谢所有帮助我的朋友!谢谢!
发表于 2005-5-25 10:27:06 | 显示全部楼层
如果只有两个硬盘
rootnoverify(hd0,2)

应该是
rootnoverify(hd0,1)

如果grub不同上一个盘上,应该另外加上
map (hd0) (hd1)
map (hd1) (hd0)

详见 http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=29204
相信你可以搞定它。
回复

使用道具 举报

 楼主| 发表于 2005-5-25 11:02:43 | 显示全部楼层
谢谢您--“月下刀客”斑主!
只是我还是有些不明白:为什么
应该是
rootnoverify(hd0,1)
还请指教!?
回复

使用道具 举报

发表于 2005-5-25 11:05:42 | 显示全部楼层
是我看错了,sorry。
应该还是2
回复

使用道具 举报

 楼主| 发表于 2005-5-25 11:11:33 | 显示全部楼层
还要问一下斑主:
如果grub不同上一个盘上,应该另外加上   //这句有点不明白
map (hd0) (hd1)
map (hd1) (hd0)
回复

使用道具 举报

发表于 2005-5-25 11:16:56 | 显示全部楼层
应该是grub不在同一个硬盘上。比如grub在hdb上,要启动hda上的系统。(刚才打错字了,咋的,今天老出错)

map可以使两个硬盘相互映射。
看我给你的链接文章就知道了。
回复

使用道具 举报

 楼主| 发表于 2005-5-25 11:21:30 | 显示全部楼层
哦!我明白了,谢谢斑主的帮助。
但是,我的grub是安装在主硬盘上的也就是安装在solaris与windows的那个硬盘上的,那么是不是不需要这个映射呢?

    另外,我是这样考虑的,还请帮我参考一下:
    我现在不能肯定solaris是不是在安装时会自动把我设置的那个分区给格式化成solaris自身的格式,如果是的话,那是不是我的内核不支持solaris分区信息!
编译内核我还是不会,不知哪里有RPM包可以下载的?
回复

使用道具 举报

 楼主| 发表于 2005-5-25 14:08:05 | 显示全部楼层
问题解决了,原来是我的grub.conf文件有问题:
title solaris 10
       rootnoverify(hd0,2) //错误就在这里:左括号前应该有空格
       chainloader (hd0,2)+1

        修改后,重新启动系统,引导到solaris---OK!可是登录后进入桌面时出现了错误,说是GNOME的什么出了问题。于是我又重新振奋了起来,在网上查找相关资料终于找到了解决办法:还是修改grub.conf文件:
     title     solaris 10
                  rootnoverify  (hd0,2)
            chainloader (hd0,2)+1
                  makeactive  //激活主分区
                  boot  //这里我不明白起什么作用,只是看资料是这样,也就照做了
      现在一切OK了,三系统共存,用GRUB引导,两天的努力---很值得!!
      希望能对后来的朋友起到一个参考的作用!
      谢谢坛子里热心的朋友!!
回复

使用道具 举报

发表于 2005-5-25 18:03:43 | 显示全部楼层
chainloader (hd0,2)+1

后面的+1什么意思?
回复

使用道具 举报

发表于 2005-5-25 23:45:36 | 显示全部楼层
后面的+1什么意思?

应该是指:所指定系统根root分区的第一个扇区。
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-19 22:48 , Processed in 0.040863 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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