+ -
当前位置:首页 → 问答吧 → [已解决]双硬盘时关于内核和grub识别次序的疑问

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

时间:2009-10-16

来源:互联网

现在电脑上有两个一模一样的硬盘 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

谢谢各位!

作者: erlv   发布时间: 2009-10-16

先把BIOS设置对了再说,其次grub还有个map 命令。。。

作者: LongerZ   发布时间: 2009-10-16

对于LZ那个关于fstab的问题,解决方法很简单,就是使用UUID,示例如下:

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

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

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

作者: digwtx   发布时间: 2009-10-16

引用:
作者: LongerZ
先把BIOS设置对了再说,其次grub还有个map 命令。。。
搜了一下, 好像map主要用在windows系统存在时,我在安装grub和menu.list中添加了map常识了一下,还是不行

作者: erlv   发布时间: 2009-10-17

引用:
作者: digwtx
对于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在出错处还没有正式起作用

作者: erlv   发布时间: 2009-10-17

找到原因了,是因为自己的内核配置有问题,倒置sata的驱动没有别kernel正确识别。
虽然grub能识别并执行了其中的kernel文件,但是之后因为kernel没有驱动,而无法找到并挂在root

作者: erlv   发布时间: 2009-10-17