家里的ubuntu 更新kernel 完了之后,重新启动的时候出现了下面情况:
Gave up waiting for root device. Common problems:
-Boot args (cat /proc/cmdline)
-Check rootdelay= (did the system wait long enough?)
-Check root= (did the system wait for the right device?)
-Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/disk/by-uuid/34e5c1 … does not exist …
dropping to a shell
网上搜了一下
有下面几种办法解决:
可以参考:http://blog.163.com/kayslive@yeah/blog/static/12210056420100131530813/
1.不管他,先进系统再说。
直接在GRUB中把 kernel 那句中的 root=uuid=xxxxxxx给他改成 root=/dev/sda5。
成功进入。
2.至此,可以有两种解决之道,一种是先用着,一种是根本解决之道。
3.对于先用着,只要把Grub的menu.lst 里面的 root=uuid=xxxxx改成 root=/dev/sda5。这个我不多说,可以搜一下,网上有,也可以给我留言。
4.对于根本解决之道,请看下面:
根本解决之道
1.uuid不存在,那我们只要修复就行了,从网上查,有的说要重装GRUB。直觉告诉我不行。
2.那我记得有个 fsck 的可以修复硬盘。试试:
sudo fsck
的确有错,看了问题要解决了。
修复一下,重启机器。
又进不去了,不过这回找到uuid了,就是进不去x-window。那我就再在shell中,fsck一下。
重启,到进度条的时候,机器自动修复硬盘,看来有希望了。
呵呵,果然进去了。
此致全部解决。
当我尝试第一个办法把uuid 改成 /dev/sdax 后,重启了一下发现还是不行,在busybox下ls 了一下/dev下发现没有sda项,cat 了一下 /proc/modules 发现没有任何设备= =
然后我猜想是不是硬盘坏掉了。。。然后我重启了一下发现同一块硬盘下的window可以进去。所以硬盘是没问题的。在网上搜了一下发现没有类似这样的情况,没有办法只能重装一遍了。
当然啦,我还想试试跟新一下kernel看看会不会还出现这个问题。结果问题同样出现。。。。= =
弄了半天没有弄好 ,还是重装再来一遍吧。
前两次编译内核的时候没有怎么注意编译出现的问题。这次编译的时候一直盯着,然后终于发现问题了。
在 make install 这一步的时候出现了下面一堆东西:
WARNING:couldn't open /lib/modules/3.8.5/modules.dep.temp for writing : No such file or directory
FATAL:could not open /lib/modules/3.8.5/modules.dep.temp for writing : No such file or directory
FATAL:could not load /lib/modules/3.8.5/modules.dep:No such file or directory
FATAL:could not load /lib/modules/3.8.5/modules.dep:No such file or directory
FATAL:could not load /lib/modules/3.8.5/modules.dep:No such file or directory
......
因为最后那几行是找到了那文件的,所以前几次就没有注意到这个问题。
百度了一下发现原来是在上一步 make modules_install 写成 make modules install 了。这样的话就相当于
make modules + make install 了。这样的话编好的模块就没有拷到对应的路径(/lib/modules/x-x-x)下了。
结果重启之后内核的硬盘模块没有找到,然后就。。。Gave up waiting for root device
这错误犯得太二了。。。大家编译内核的时候还是留心点吧。
希望对遇到同样问题的同学有所帮助吧。
阅读(6307) | 评论(0) | 转发(0) |