永发信息网

怎么编译内核后出现mountroot&gt

答案:2  悬赏:10  手机版
解决时间 2021-02-14 09:18
  • 提问者网友:练爱
  • 2021-02-13 11:40
怎么编译内核后出现mountroot&gt
最佳答案
  • 五星知识达人网友:往事隔山水
  • 2021-02-13 11:57
你grub菜单有出现吗?没有就在电脑启动时按shift键直至菜单出现。编译完内核后一定要把grub菜单更新下。

按c进入命令行模式,手动引导系统启动
grub> set root=(hd0,
不知道是哪个分区,没关系,按tab键,会有提示,我的电脑是msdos4,所以我就敲
set root=(hd0,msdos4)

grub> linux /boot/vmlinuz
继续按tab提示,把正确的内核版本填好,比如我的是vmlinuz-3.5.-什么的一大堆,另外我ubuntu装在第4个分区,所以加上root=/dev/sda4

grub>linux /boot/vmlinuz-3.5(后面的省略) root=/dev/sda4
grub>initrd /boot/ini
继续按tab键,把正确的文件名补上
grub>boot
应该就顺利启动了,删掉你编译的内核,update一下grub就行了
全部回答
  • 1楼网友:痴妹与他
  • 2021-02-13 12:08
首先,说明一下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文件格式不一样了~~~)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯