redhat 9 VFS: Cannot open root device LABEL=/

发表于:2007-07-04来源:作者:点击数: 标签:
在redhat9中安装后重新编译内核使用的是2.4.20经过: 从kernel.org中下载的. makemenuconfig makedep makebzImage makemodules makemodules_install mkinitrd/boot/initrd-2.4.20.img2.4.22-wanghao cpbzImage/boot/vm linux -2.4.20 编译/boot/grub/grub.con

在redhat 9 中安装后重新编译内核 使用的是2.4.20 经过:
从kernel.org 中下载的.
make menuconfig
make dep
make bzImage
make modules
make modules_install
mkinitrd /boot/initrd-2.4.20.img 2.4.22-wanghao
cp bzImage /boot/vmlinux-2.4.20
编译/boot/grub/grub.conf 
#boot=/dev/hda
default=1
timeout=10
splashimage=(hd0,1)/boot/grub/splash.xpm.gz
title Red Hat Linux (2.4.20-8)
        root (hd0,1)
        kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/ hdc=ide-scsi
        initrd /boot/initrd-2.4.20-8.img
title windows2k
        rootnoverify (hd0,0)
        chainloader +1
#-------------下面的内容是我加入的-----------------#
title Red Hat Linux (2.4.22)
        root (hd0,1)
        kernel /boot/vmlinux-2.4.20 ro root=LABEL=/ hdc=ide-scsi
        initrd /boot/initrd-2.4.20.img

但是系统重新引导后显示如下:
     VFS: Cannot open root device "LABEL=/" or 00:00
请问那位朋友在redhat9 上面遇到过这样的问题.
多谢各位的回答.

 sakulagi 回复于:2003-08-27 15:51:50
豆腐兄,你加的那一段还是用的旧的initrd啊?

 我爱臭豆腐 回复于:2003-08-27 15:55:23
不是啊大哥,我使用的是新的啊.:
[code:1:0837d13ac2]kernel /boot/vmlinux-2.4.20 ro root=LABEL=/ hdc=ide-scsi 
这个文件是我新生成的啊.
[/code:1:0837d13ac2]

 sakulagi 回复于:2003-08-27 16:00:04
[quote:3c31dd9b81]mkinitrd /boot/initrd-2.4.22.img 2.4.22-wanghao 
...
#-------------下面的内容是我加入的-----------------# 

initrd /boot/initrd-2.4.20.img 
[/quote:3c31dd9b81]

 sakulagi 回复于:2003-08-27 16:01:39
试试使用“root=/dev/hda2”

 我爱臭豆腐 回复于:2003-08-27 16:03:39
[quote:86a273a523="sakulagi"][/quote:86a273a523]     


还是大哥细心 :oops: .是我刚才写错了.实际上我操作的时候是对的,没有写错.只是在论坛上面贴错了.
关键是不知道问题在什么地方.这个东西在as 2.1 redhat 其他的版本上面我没有遇到过.而且刚才在google上面也没有找到什么好的解释.而且看google上面很多人都是在9上面出现的这个事情.:(  :cry:

 sakulagi 回复于:2003-08-27 16:06:25
如果试试用root=/dev/hda2呢?

 我爱臭豆腐 回复于:2003-08-27 16:10:46
[quote:d06b7aeba2="sakulagi"]如果试试用root=/dev/hda2呢?[/quote:d06b7aeba2]     


多谢大哥的执教.好使了.下面是我的grub.conf 
[code:1:d06b7aeba2]
#boot=/dev/hda
default=1
timeout=10
splashimage=(hd0,1)/boot/grub/splash.xpm.gz
title Red Hat Linux (2.4.20-8)
        root (hd0,1)
        kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/ hdc=ide-scsi
        initrd /boot/initrd-2.4.20-8.img
title windows2k
        rootnoverify (hd0,0)
        chainloader +1
title Red Hat Linux (2.4.22)
        root (hd0,1)
        kernel /boot/vmlinux-2.4.20 ro root=/dev/hda2 hdc=ide-scsi[/code:1:d06b7aeba2]

但是我不明白的是我系统自己的那个title 可以也就是title Red Hat Linux (2.4.20-8)这个.为什么我自己写的这个就不可以那?而是要一定指定成root=/dev/hda2  ? 为什么那?

 maluyao 回复于:2003-08-27 16:18:58
两个办法
1. grub.conf 里写成  root=/dev/hdax  前面有弟兄们讲过了
2.内核中把USF 支持勾上,不改 grub.conf

 sakulagi 回复于:2003-08-27 16:21:10
能不能解释一下USF(?UFS?)的含义?

 sakulagi 回复于:2003-08-27 16:25:04
那个UFS是为了支持BSD-like系统的文件系统的操作的啊。有关系么?

 我爱臭豆腐 回复于:2003-08-27 16:27:45
是啊这个东西和uFS有什么关系啊?

 好好先生 回复于:2003-08-27 16:34:38
和title没有关系,titile可以随便写.但"root=LABEL=/ hdc=ide-scsi"必须要写对啊,不然找不到内核,肯定引导不了.原来的那个内核在系统安装时自动生成了grub.conf,它能找到/,但是新的内核没有那么智能.

 我爱臭豆腐 回复于:2003-08-27 17:27:44
[quote:1c435499a5="好好先生"]和title没有关系,titile可以随便写.但"root=LABEL=/ hdc=ide-scsi"必须要写对啊,不然找不到内核,肯定引导不了.原来的那个内核在系统安装时自动生成了grub.conf,它能找到/,但是新的内核没有那么智能.[/quote:1c435499a5]     


多谢啊.知道了:) 看来这个东西并不是很智能啊:) :wink:

 maluyao 回复于:2003-08-27 17:51:57
道理我说不太上来,但就是和UFS 有关系,
当grub.conf写为
root=LABEL=SOMETHING
内核至少可以读到分区的Label (和Windows 下的Label 含义相同),而UFS 支持好象就是干这个用的

你可以试一下,这是我走了很多弯路才总结出来的教训. 

compile kernel 的方式很多,但我觉得俺老马的办法最为标准,建议参考
http://vr.scholarbook.com/nuke/modules.php?name=Sections&op=viewarticle&artid=23
这是RedHat 的官方方法,RH300教材上推荐的.

 text2002 回复于:2004-02-10 10:11:30
为什么一定要指定成root=/dev/hda2 ?
hdc项指的是什么?

 gaussong 回复于:2005-08-03 11:16:59
期待这个问题——不知道大伙有没有好的解决方法?
我最近在VMWARE里面安装RH 9,就遇到这样的问题! ;)

 myforever 回复于:2005-08-16 23:16:12
[quote:778c233429="text2002"]为什么一定要指定成root=/dev/hda2 ?
hdc项指的是什么?[/quote:778c233429]

root=/dev/hda2 是指定根文件系统的分区位置

hdc是IDE通道2上的master盘

 q1208c 回复于:2005-08-16 23:35:50
这个问题我以前遇到过, 

rh9 的 kernel source 好象有点问题, 

在 config 时好象有个关于 LABEL 的选项, 可能是在 filesystem 那一项, 这个在 rh9 的 kernel source 中默认的 .config (就是空的时候自动生成的那个) 里好象没选中的. 
豆腐兄可以试试.

 Mc_Hill 回复于:2005-08-16 23:57:52
各位老哥,我想问一下豆腐前后写的[quote:59ed8972ba]root=LABEL=/ [/quote:59ed8972ba] 与 

[quote:59ed8972ba]root=/dev/hda2[/quote:59ed8972ba] 有什么区别?

新手

原文转自:http://www.ltesting.net