|
发表于 2008-7-11 21:02:49
|
显示全部楼层
Post by linux001;1873513
还真是麻烦啊。已经获得的线索如下:
1、kernel 的 usb mass storage 设置必须是 Y,不能是 M;否则 kernel 在引导根文件系统时并不能正常挂载 U 盘上的系统;
2、用 grub 引导 kernel 时,必须加 rootdelay 参数,否则还是不能正常挂载 U 盘上的根文件系统;
3、在 BIOS 和 GRUB 中,盘的顺序是固定的,比如在我的笔记本上,可以在BIOS中设置启动顺序为:
1 -- USB KEY
2 -- 系统固定硬盘
3 -- USB 移动硬盘
这样当我用 USB KEY 上的 GRUB 启动系统时,三个盘的顺序为:
1 -- USB KEY --hd0
2 -- 系统固定硬盘 --hd1
3 -- USB 移动硬盘 --hd2
这说明 grub 是按BIOS启动顺序来安排盘顺序的;而且当用机器的启动选项选择不同的盘启动时, grub 会自动调整启动盘的顺序为 hd0。
但是!!当 kernel 启动后,在我的机器上并不认这个顺序,它总是把系统硬盘安排为 /dev/sda,而其它两个盘的顺序不清楚是怎么确定的,所以造成了我前面总是启动不成功!
对于这个问题不知道是否有什么资料?
关于启动顺序的问题,你可以使用分区UUID而不是设备名来进行mount等操作。
比如,grub中启动的行可以写为
kernel /my-kernel-image root=UUID=48e89736-2980-4dd6-9cbd-28ff29243bc0 ro single
至于uuid,只要在一个能启动的系统上运行如下命令:
ls -l /dev/disk/by-uuid/
就能得到uuid和设备名的对应表。 |
|