安装LFS6.3 VFS:Cannot open root device "sda" 或VFS:Unable to mount root fs on unknown-block(0,0)

LFS:6.3
宿主机OS:lfshost

这两天一直在安装lfs6.2,安装到最后编译完内核,修改完fstab,最后安装grub后,启动lfs报错提示   
VFS:Cannot open root device "sda" or unknow-block(0,0)
Please append a correct "root=" boot option
kernel panic:VFS:Unable to mount root fs on unknown-block(0,0) 
看到这个错误的时候,我快崩溃了,我等了这么久,到最后一步出现了这个错误。大概意思是没有把root文件系统所在的硬盘控制器的驱动编译到内核中去,编译的时候我选择了scsi驱动了很奇怪,于是开始goole,baidu得到结果,大多都是集中在:
Device Drivers--->SCSI device support--->SCSI disk support
Device Drivers--->SCSI device support--->SCSI low-level drivers--->BusLogic SCSI support 


一、磁盘(!!!)
        在选择模块前,要先弄清楚VMware虚拟机的硬件类型,下面这个表是VMware6中自定义虚拟机配置时给出的配置,不难发现当您使用 VMware推荐向导给出的配置时,实际使用的是SCSI类型设备中的LSI Logic设备。这里要注意的一个地方是,既然有两个SCSI设备能够供其选择,那么该如何判断呢?很简单,因为他是通过内核主版本号来划分的。感兴趣的 朋友能够通过新建虚拟机Custom-Linux下Version列表中Other Linux2.6.X kernel 和 Other Linux2.4.X kernel来比较。2.4内核之前使用BusLogic,2.6内核使用的是  LSI Logic 。
       VMware 6.0:
            I/O ADapter Types
                IDE adapter: ATAPI
              SCSI adapter: BusLogic
                                 LSI Logic
这是Other Linux2.6.X kernel配置系统信息
00:10.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 01)
  
这是Other Linux2.4.X kernel配置系统信息
00:10.0 SCSI storage controller: BusLogic BT-946C (BA80C30) [MultiMaster 10] (rev 01)
    现在分别介绍模块选择路径
    这个是SCSI磁盘设备模块,必须选择。
    Linux Kernel Configuration
        -> Device Drivers
            -> SCSI device support
                - > SCSI disk support
    这个是BusLogic设备驱动模块。使用这个设备的的朋友需要选取。
    Linux Kernel Configuration
        -> Device Drivers
            -> SCSI device support
              -> SCSI low-level drivers
                 -> BusLogic SCSI support 
    这个是LSI Logic设备驱动模块。使用这个设备的的朋友需要选取。
    Linux Kernel Configuration
       -> Device Drivers 
           -> Fusion MPT device support
                -> Fusion MPT (base + ScsiHost) drivers 
    二、网卡
这个设备和内核版本没有关系,下面是系统信息参考:
02:00.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rev 10)
    
    Linux Kernel Configuration
    -> Device Drivers
        -> Networking support 
            -> Ethernet (10 or 100Mbit)
                -> AMD PCnet32 PCI support

我的内核是kernel-2.6.22.5,但是安装了上面提示的
Fusion MPT (base + ScsiHost) drivers。问题依旧存在.所以我修改虚拟机的“.vmx",vmware默认的是LSI Logic,找到 ".vmx" 文件 里的scsi0.virtualDev = "lsilogic" 
改为 scsi0.virtualDev = "buslogic
从新编译内核,启动系统`终于跳过了

VFS:Cannot open root device "sda" or unknow-block(0,0)
Please append a correct "root=" boot option
kernel panic:VFS:Unable to mount root fs on unknown-block(0,0) 
这个 让人心烦的错误。
另外如果提示“No file system” 没有文件系统之类的东西说明你内核里没有把文件驱动编译进内核。

     Linux Kernel Configuration

       ->File Systems

          ->里面选上什么ext2、ext3、ext4、xfs之类的都可以选上。(多了可以少了不行)

 

 

最后如果还不行检查一下你的/etc/ftab、/etc/inittab、/boot/grub/menu.lst文件确保他们是正确的。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值