解决 VFS:Unable to mount root fs on Unknown-block(0,0)
分类: linux技术终于解决LFS kernel panic -not syncing :VFS:Unable to mount root fs on Unknown-block(0,0)问题,此问题解决了,意味着LFS成功搭建了。
首先,说明一下LFS kernel panic -not syncing :VFS:Unable to mount root fs on Unknown-block(0,0)出现的几个可能原因:
1./etc/fstab文件配置错误,此配置文件是记录硬盘分区的文件,配置错了,当然就有可能出现Unable to mount root fs啦~~~解决这问题的办法就是找一张LIVECD启动了系统,然后修改此文件内容,很简单的,只要用文本编辑器打开了这文件,然后认真研究一下就明白该怎样做,如果出现要uuid之类的东东,那就到/dev/disk/by-uuid/目录下找,只要使得各挂载点与分区对应即可。
2.menu.lst。/boot/grub/menu.lst 此文件出错也是有可能的。当出现这错误的时候,不妨先看看此文件配置是否正确。诸如sda与hda的问题,sda不行,就试下hda呗~~~
3.initrd没有启动。内核载入内存后,某些系统会执行initrd文件的,如果没有启动,就会出现本文要解决的那问题。当然LFS是没有做initrd文件的,所以忽略此问题。如果您的出错原因在这,那你就用LIVECD启动了,然后到/boot/目录下,看看有没有initrd相似的文件,有的话,在menu.lst文件的启动项中加入initrd (hdx,y)/boot/initrd 这样就能解决了~~~
4.内核编译的时候没有添加相应的硬件模块~~~这问题不好说,因为编译一个内核真的太不简单了~~~哈哈~~~有个必定能编译成功的办法,就是,假如你使用的某个版本的linux,把/proc/config.gz文件复制出来,解压,然后重命名为.config(注意前面有个点哦~~~)。复制到将要编译的内核源文件中,然后直接make,当然,如果你要在内核中增加其他模块的话,就先make menuconfig。当然,选项只能是只增不减罗~~~哈哈~~~(说明一下,这方法我没测试过,但是按道理来说是可以的,至少同一版本的内核是肯定成功的,除非不同版本之间的.config文件格式不一样了~~~)