内核升级CentOS 5.3 mount:无法find文件系统“/ dev / root”

我们有一个CentOS 5.3的x64服务器,默认运行内核版本2.6.18-164.11.1,我们正试图升级到2.6.31.12的驱动器是LVM + ext3,我遇到的问题是当我升级内核,并尝试从它启动,不pipe我使用的是什么版本的内核,在启动过程结束时我没有find/ dev / root,内核发生混乱,而不是重新启动。

我正在按照在这个文档中所说的安装内核。 我已经尝试过使用make rpm“CentOS方式”,而不是安装它。 我已经更新了我的mkinitrd。 这个问题最有意思的地方是,我决定尝试在没有LVM的同一台机器上安装centos,结果是一样的。 升级内核之后,我找不到/ dev / root。 有谁知道如何解决这个问题,或者有什么信息可以补救呢? 在这一点上我可以尝试任何事情。

关于这个问题的一个更有趣的事情是,在新版本的内核中,在启动过程中,它抱怨dm-mapper启动了两次,而不是之后的恐慌。 我已经尝试过与其他内核版本,结果是一样的。 我在这里错过了什么?

如果你需要更多的文件,请问。

Linux cg 2.6.18-164.11.1.el5 #1 SMP Wed Jan 20 07:32:21 EST 2010 x86_64 x86_64 x86_64 GNU/Linux 

  /dev/VolGroup00/LogVol00 / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/VolGroup00/LogVol01 swap swap defaults 0 0 

 default=1 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.31.12-rt20) //NOT WORKING!!!! root (hd0,0) kernel /vmlinuz-2.6.31.12-rt20 ro root=/dev/VolGroup00/LogVol00 isolcpus=8,9,10,11,12,13,14,15 panic=10 initrd /initrd-2.6.31.12-rt20.img title CentOS (2.6.18-164.11.1.el5) //WORKING!! root (hd0,0) kernel /vmlinuz-2.6.18-164.11.1.el5 ro root=/dev/VolGroup00/LogVol00 isolcpus=8,9,10,11,12,13,14,15 panic=10 initrd /initrd-2.6.18-164.11.1.el5.img 

我将在此添加我以前的评论作为答案,因为这已经到了奖励。 对公然企图评分声望点表示歉意。

我有这个完全相同的问题,并通过更改设置来解决它

 CONFIG_SYSFS_DEPRECATED_V2=Y 

在.config文件中。 正如教父在这个问题中提到的那样。

只要searchCONFIG_SYSFS_DEPRECATED_V2并将其更改为Y并重buildRPM。 然后安装RPM。

我可以证实,在使用“CentOS方式”构build一个2.6.33内核的时候,它确实解决了CentOS 5.4上的问题。 如果CentOS 5.3上的2.6.31.12不起作用,我会感到惊讶。

尝试启用CONFIG_SYSFS_DEPRECATED_V2 = y

你的音量似乎没有标签。

使用e2label命令对其进行标记。 找出你的根在哪个hda或sda上,比方说sda2

编辑grubconfiguration,find并编辑这个部分

 root=LABELNAME=/2 

其中2是hda / sda号码看看是否通过标签去find它。

否则,我会首先查看已加载的模块,并检查您的存储控制器模块是否已加载(SCSI,SATA,AHCI)要这样做:

 less /proc/modules 

要么

 lsmod 

如果没有加载,你可能不得不重build内核。

祝你好运。

正如我理解你的文章,你正在从源头上构build自己的内核。 你有什么特别的理由不留在centos提供的内核?

我猜你的错误是,你有一个不同的内核configuration,缺less一个或更多的模块,例如lvm。 当你真的需要自己构build内核时,使用现有的centos内核的内核configuration。 你可以在你的/boot目录下find旧的configuration文件,或者使用make oldconfig 。 但请注意,当您跳转多个内核版本时,这可能是危险的。

当你只想添加一个新的驱动程序到你的内核时,只需要将你的安装的centos内核的驱动程序编译并添加到模块中即可。

如果在CentOS中使用vanilla内核时仍然存在问题,在生成你的configuration文件(localmodconfig,oldconfig等)后,请修改.config文件,并确保这些选项设置为Y:

CONFIG_EXT3_FS = Y

CONFIG_SYSFS_DEPRECATED_V2 = Y

这对我来说在2个系统,1个物理系统从CentOS 4.x和一个虚拟机下,有一个新的CentOS 5.4安装,这两个工作没有任何问题。

更改运行后:

使

make modules_install

进行安装

如果没有错误 – 重新启动。

非常感谢它解决了我的问题,非常感谢,我在Virtual Box上安装CentoS内核2.6.36,它给了我同样的错误,但现在,每一件事情都解决了。

为了解决“GSAP的IOAPIC”,我在/boot/grub/menu.lst中使用了pnpacpi = off,现在每个东西都运行平稳。

再次感谢。

最好的问候萨尔曼·弗朗西斯