debian wheezy升级内核后无法启动的一种情况

使用linux kernel源码升级内核,在执行完mkinitramfs、修改完grub.cfg后,重启出现如下错误:
Gave up waiting for root device.  Common problems:
- Boot args (cat /proc/cmdline)
  - Check rootdelay= (dit 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/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX does not exist.  Dropping to a shell!
上网各种搜索,就是找不到解决的办法,真是越陷越深。
后来发现,是由于执行mkinitramfs时没指定kernel版本号。
当时有个误区,以为在版本为X.Y.Z的linux kernel源码文件夹下执行mkinitramfs -o /boot/initrd.img-X.Y.Z,就会使用当前文件夹下的lib制作initramfs。
而实际上,mkinitramfs命令不指定kernel版本号的话(initrd.img-X.Y.Z中的X.Y.Z只是文件名),是使用当前正在运行系统的lib制作initramfs。
mkinitramfs命令应该是如下这样:
mkinitramfs -o /boot/initrd.img-X.Y.Z X.Y.Z

你可能感兴趣的:(Linux)