[问题]双硬盘时 menu.lst 中 root 分区号总是配置错误?

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

[问题]双硬盘时 menu.lst 中 root 分区号总是配置错误?

#1

帖子 aerofox » 2008-09-10 0:08

我的机器中安装了两块硬盘,第一次安装 Ubuntu 8.04 时 grub 识别出我的系统分区(也是 boot 所在的分区)所属的硬盘为 hd0,启动没有问题。
不记得某一天升内核了,从此就总有问题了,安装时识别为 hd1,启动时却认为是 hd0,每次升级内核后我都不得不手工把 /boot/grub/menu.lst 中的 hd1 改为 hd0。
请问有没有什么办法让我下一次升级内核时不会变回到 hd1?
谢谢!
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#2

帖子 eexpress » 2008-09-10 0:25

搜索uuid
● 鸣学
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

#3

帖子 aerofox » 2008-09-10 16:10

跟 uuid 貌似没有什么关系,在 /etc/fstab 中可以用 uuid,ubuntu 默认也是这么做的,但 grub 好象不支持 uuid 吧?
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

#4

帖子 aerofox » 2008-09-11 19:56

我想再次说明一下:不是 /etc/fstab 中设备名问题,也不是/boot/grub/menu.lst 中 kernel 行所指定的 root= 后的参数,这两处都是 linux kernel 所识别的设备名,它可以用 uuid= 的格式。
我所指的是 menu.lst 中

代码: 全选

root    (hd0, 8)
这样的行。这里 (hd0, 8) 是 grub 所识别的设备名,每次升级内核后就变成了 (hd1, 8),这是不能用 uuid 的吧?
上次由 aerofox 在 2008-09-12 19:24,总共编辑 1 次。
yourke
帖子: 16
注册时间: 2008-02-03 15:17

#5

帖子 yourke » 2008-09-11 20:29

在 "/"分区建立一个ubuntu.sig的空文件,然后在menu.lst前面加上

代码: 全选

find  --set-root  /ubuntu.sig
例如我的

代码: 全选

timeout 3
default 0
#hiddenmenu

title Windows
find  --set-root  /windows.sig
chainloader +1
rootnoverify

title		Ubuntu 8.04.1, kernel 2.6.24-19-generic
find  --set-root  /linux.sig
kernel		/boot/vmlinuz-2.6.24-19-generic root=UUID=6b780590-d955-418e-967
0-385d9c21d493 ro splash
initrd		/boot/initrd.img-2.6.24-19-generic
hujm00
帖子: 15
注册时间: 2008-04-25 15:21
联系:

#6

帖子 hujm00 » 2008-09-12 9:02

高手
Now and then I'm scared,

when I seem to forget how sounds become words or even sentences ...

No, I don't speak anymore and what could I say
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

#7

帖子 aerofox » 2008-09-12 21:50

谢谢 yourke!
我想这个方法应该可以很好地解决因为硬件变化导致硬盘设备名变化的情况。
我的情况也许不太一样。我这里每次启动硬盘设备名都是一致的,只要我不升级内核,我可以一直在 menu.lst 中使用 (hd0, 8) 这样的描述,但只要升级内核,它就变成了 (hd1, 8),只有一个例外,Windows 启动条目的说明没被改写。
感觉这个方法不一定能适用我,但我还是会在下次升级内核前试一下。
谢谢。
回复