| 订阅 | 在线投稿
分享
 
 
 

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

来源:互联网网民  宽屏版  评论
2006-01-09 05:47: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上

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

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

 
特别声明:以上内容(如有图片或视频亦包括在内)为网络用户发布,本站仅提供信息存储服务。
 
2004-05-21 01:30:14 from [url=http://tendant.mysmth.net]http://tendant.mysmth.net[/url] 前两天为了装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- 王朝网络 版权所有