ubuntu9.10 Server 启动时出现initramfs错误。系统更新内核后,启动出现initramfs,提示:
Gave up waiting for root device.Common programs:
—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)
解决办法:
1、下载ubuntu9.10 server,并下载对应的vmlinuz和initrd.gz(注意版本号的对应,否则提示找不到光驱)
2、用UltraISO制定U盘启动盘,完成后,将vmlinuz和initrd.gz复制到install目录下
3、启动盘制定好后,从U盘启动,选择援救损坏的系统选项,接下来根据提示,进行相关配置。
4、选择执行的SHELL的位置,我的ubuntu的根安装在sda8上。
5、挂载一下boot,命令:mount /boot
6、修改/boot/grub/grub.cfg的权限为可写
7、用vi在vmlinuz-2.6.32-24-generic root=UUID=7e4d787a-8081-4f79-b2c4-9945912697a4 ro quiet 后面加上 rootdelay=60,rootdelay=60表示延迟60秒。重启!
8、为了避免更新内核时 rootdelay 参数被覆盖,可以修改 /etc/default/grub 的 GRUB_CMDLINE_LINUX_DEFAULT=”quiet rootdelay=60″ ,这样下次就不会被覆盖了