LinuxSir.cn,穿越时空的Linuxsir!

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

[已解决]双硬盘时关于内核和grub识别次序的疑问

[复制链接]
发表于 2009-10-16 16:49:01 | 显示全部楼层 |阅读模式
现在电脑上有两个一模一样的硬盘 1和2
打算在2上安装gentoo
分区如下 2上的第一块主分区为boot,第二块主分区为/,1只有一个主分区为home。
livecd启动时1被识别成 /dev/sda 2为/dev/sdb

因此安装时 /boot 为/dev/sdb1  /为/dev/sdb2   /home为/dev/sda1

配置完新内核(完全使用livecd的config文件),在(hd0),(hd1)上都安装grub后。重启
grub能显示菜单
将grub的root设置在(hd0,0)上后能执行到mdev找root处就报分区不可用错。无论设置成/dev/sda2 还是 /dev/sdb2都一样。
将grub root设置为(hd1,0)上后,grub直接报error 15 找不到文件。
所以可以认为grub将2识别成了hd0,将1识别成了hd1.

现在的问题是,这时候fstab应该怎么设置,根据grub还是livecd的kernel来设置?
到底是grub问题,还是fstab 或者内核的问题? 谢谢

附: grub.cfg
title aa
        root (hd0,0)
        kernel /boot/kernel root=/dev/sda1 real_root=/dev/sda2  
        initrd  /boot/initramfs
##报不可用root分区错
title bb
        root (hd1,0)
        kernel /boot/kernel root=/dev/sdb1 real_root=/dev/sdb2  
        initrd  /boot/initramfs
##error 15
title ab
        root (hd0,0)
        kernel /boot/kernel root=/dev/sdb1 real_root=/dev/sdb2  
        initrd  /boot/initramfs
##报找不到root分区错
title ba
        root (hd1,0)
        kernel /boot/kernel root=/dev/sda1 real_root=/dev/sda2
        initrd  /boot/initramfs
##error 15

fstab:
/dev/sda2                      /                       ext3    defaults        1 1
/dev/sda1                     /boot                   ext3    defaults        1 2
/dev/sdb1                     /home                   ext3    defaults        1 2
/dev/sda5                    /home2                  ext3    defaults        1 2
/dev/sda3                 none                    swap    defaults        0 0

谢谢各位!
发表于 2009-10-16 16:55:41 | 显示全部楼层
先把BIOS设置对了再说,其次grub还有个map 命令。。。
回复 支持 反对

使用道具 举报

发表于 2009-10-16 19:19:06 | 显示全部楼层
对于LZ那个关于fstab的问题,解决方法很简单,就是使用UUID,示例如下:

UUID=87d52415-4af7-4ed2-9551-771bea594443        /                ext4        defaults         1   1

如果不知道UUID,可以使用下面这条命令查看

ls -l /dev/disk/by-uuid/
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-16 23:25:11 | 显示全部楼层
Post by LongerZ;2037115
先把BIOS设置对了再说,其次grub还有个map 命令。。。

搜了一下, 好像map主要用在windows系统存在时,我在安装grub和menu.list中添加了map常识了一下,还是不行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-16 23:27:24 | 显示全部楼层
Post by digwtx;2037154
对于LZ那个关于fstab的问题,解决方法很简单,就是使用UUID,示例如下:

UUID=87d52415-4af7-4ed2-9551-771bea594443        /                ext4        defaults         1   1

如果不知道UUID,可以使用下面这条命令查看

ls -l /dev/disk/by-uuid/

怀疑不是fstab阶段的问题,这时候模块刚刚加载完成,应该还处在内核阶段。所以应该是grub传参或者是kernel配置的问题。
此外,我也修改了fstab中的/挂载,分别改为/dev/sda2 和/dev/sdb2,错误提示都是说/dev/sda2不可用。所以fstab在出错处还没有正式起作用
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-17 01:15:48 | 显示全部楼层
找到原因了,是因为自己的内核配置有问题,倒置sata的驱动没有别kernel正确识别。
虽然grub能识别并执行了其中的kernel文件,但是之后因为kernel没有驱动,而无法找到并挂在root
回复 支持 反对

使用道具 举报

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

本版积分规则

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