LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 886|回复: 2

启动时报VFS: Unable to mount root fs的原因

[复制链接]
发表于 2011-7-4 09:59:46 | 显示全部楼层 |阅读模式
最近看到很多人编译的内核到mount rootfs时出错,特意来分享下曾经遇到过的相关的原因和处理方式。
手工安装内核:配置、编译完成后make install会把vmlinuz安装到、/boot目录,;make modules_install,安装模块。
下面来分析rootfs的问题现象和原因:
1、报错信息大概是未找到root(x,x)
原因:一般是没有把磁盘控制器的驱动编译进内核
处理方式:把相关的磁盘控制器驱动编译进内核,
比如Intel的一般是

  1. Device Drivers  --->
  2.         <*> Serial ATA and Parallel ATA drivers  --->
  3.                  <*>   AHCI SATA support
复制代码


2、类似“VFS:cannot open root service “disk/by-id/ata_WDC_WD3200BEVT-22A23T0_WD—WX91A5098309-part” or unknown-block(2,0)”这样的
原因:仔细看提示,说明已经识别了硬盘,那么控制器应该是驱动起来了的。未知的块设备?其实应该是没有正确识别磁盘。
处理方式:SATA的硬盘在BIOS里面设置为AHCI模式的话,系统是把它识别为SCSI Disk的,所以这个也要编译进内核:

  1. Device Drivers  --->
  2.         SCSI device support  --->  
  3.                 <*> SCSI disk support  
复制代码


3、报错类似unknown filetype
原因:就是说不能识别的文件系统类型
处理方式:把相关的文件系统支持编译进内核,比如ext4的:

  1. File systems  --->  
  2.         <*> The Extended 4 (ext4) filesystem   
  3.                 <*> SCSI disk support  
复制代码


其他的欢迎大家补充下,至少让新生们能先进系统,其他驱动可以慢慢来
眺望万物的尖塔 该用户已被删除
发表于 2011-7-4 11:25:58 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

发表于 2011-7-4 23:25:50 | 显示全部楼层
handbook 里面有这么句话:

然而,一件事情是真的:在手动配置内核之前,您必须了解您的系统。您可以安装pciutils(emerge pciutils),用其中的lspci来了解您需要的大部分信息。您现在可以在chroot的环境中运行lspci。您可以忽略任何pcilib的警告。(类似于pcilib: cannot open/sys/bus/pci/devices)。此外,您也可以在非chroot的环境执行lspci。结果相同。您还可以运行lsmod来查看安装光盘使用了哪些内核模块。(这也是个不错的提示,它可以教你该选择哪些模块)。

我编译内核的时候用的是 lspci -k ,根据提到的内核名称在 menuconfig 里面找。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表