升级2.6.5内核导致Kernel panic:VFS 无法mount根文件系统的原因

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

2004-05-21 01:30:14 from http://tendant.mysmth.net

前两天为了装win4lin升级了一下我的debian的内核,可是升级完后却发现死活也启动不了,总是在mount根目录的时候就报错了,到处找原因都找不到,今天总算是被我找到了,hehe,小小的得意一下

错误现象:

发信人: tendant (tendant), 信区: LinuxApp

标 题: 升级2.6.5内核失败,VFS的问题!

发信站: BBS 水木清华站 (Tue May 18 19:33:51 2004), 站内

刚才升级内核到2.6.5,编译过程一切正常

安装后重启,报错:

VFS: cannot open root device "307" or unknown block (3,7)

please append a correct "root=" boot option

Kernel panic: VFS: unable to mount root fs on unknown-block (3,7)

我的系统是debian,根目录在/dev/hda7,/boot目录在/dev/hda6

分区格式是ext3

用lilo引导

编译内核选项中将ext3和ext2都直接编译到内核,

也添加了ide的内核支持

在水木上也问了很多人,可是都没有找到病因,有的说引导程序有问题,有的说做一个initrd的镜像文件。

的确用mkinitrd命令生成initrd文件,并在lilo里设好启动参数后就ok,但是用了initrd后启动的引导过程会很慢,而且我以前的 2.6.0的内核就没有这个文件也可以启动,所以考虑是不是有其他的方法,在编译内核选项中一通狂找总算是把它挖出来了,原来还是内核编译时的某些选项设置有问题.

只需要在将这个选项编译进内核就行了:File System--〉Pseudo File System --〉Automatically mount at boot

内核参数说明:CONFIG_DEVFS_MOUNT

This option appears if you have CONFIG_DEVFS_FS enabled setting this to 'Y' will make the kernel automatically mount devfs onto /dev when the system is booted the init thread is started. You can override this with the "devfs=nomount" boot option.

这个选项使得在系统初始化前就先把文件系统装载到/dev上

这样就正好解决了系统没有启动之前没有装载文件系统,而文件系统的驱动却还在没有装载的文件系统中,结果造成死循环的问题.

重编内核,修改引导程序,搞定了!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航