ubuntu启动进入(initramfs) 解决办法

ubuntu启动进入(initramfs) 解决办法
2011-11-21 22:06

问题故障现象照片

ubuntu启动进入(initramfs) 解决办法_第1张图片

这个问题就是grub  的rootdelay时间太短了。

 

解决办法:

1、(initramfs)后面直接输入exit。这样可以直接进入操作系统登录界面。

     或者

         在系统菜单界面,就是grup界面,有三个菜单选项:如下

                              Ubuntu 9.04, kernel 2.6.28-11-server

                              Ubuntu 9.04, kernel 2.6.28-11-server (recovery mode)

                              Ubuntu 9.04, memtest86+

               选中第一个按“e”,然后出现如下信息:

                             uuid c757c22c-b798-433a-b284-8bca8e084406

                       kernel /vmlinuz-2.6.28-11-server root=/dev/mapper/shangri–la-root ro quiet splash

                       initrd /initrd.img-2.6.28-11-server

                           选中第二个选项,按“e”,然后在后面添加  rootdelay=90  就变成如下情形:

                                    kernel /vmlinuz-2.6.28-11-server root=/dev/mapper/shangri–la-root ro quiet splash    rootdelay=90

                           就选中这一项按“b”   这样就可以进入操作系统了。进入系统后:

                                              

 2、进入系统后:

输入以下命令:

ubuntu启动进入(initramfs) 解决办法_第2张图片

进入文件后按insert,然后一直往下翻,找到如下配置、

ubuntu启动进入(initramfs) 解决办法_第3张图片

在上面截图中绿色光标后面添加 rootdelay=90  ,如下截图


ubuntu启动进入(initramfs) 解决办法_第4张图片

保存退出,重启机器就OK了。这个rootdelay值我喜欢设置成90,其实你也可以设置成其它的,建议60以上。





====================================

安装好eucalyptus ,由于打雷,还是把Ubuntu服务器关了,结果第二天来开机发现3台服务器都出现下面的提示,并停在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.Boot args

安装好之后没有修改过grub.cfg,也没有重启,估计不是这个问题。

2.rootdelay

难道服务器启动慢?新到的R525,双U,8G内存,没理由啊。不会是因为加了个LSI HBA卡就这样吧?算了,还是加上延迟来试试。

使用server 的安装光盘启动,选择 Rescure a broken system,像装系统那样一步步进行,最后在选择执行shell 位置的时候选择原来系统的根/。由于之前把/boot单独分来出来,这里挂载一下并修改/boot/grub/grub.cfg为可写,然后在 kernel        /boot/vmlinuz-2.6.32-24-generic root=UUID=7e4d787a-8081-4f79-b2c4-9945912697a4 ro quiet 后面加上 rootdelay=60 ,用sed -i 's/quiet/quiet\ rootdelay=60/' /boot/grub/grub.cfg 可直接替换,不熟悉就用vi吧, rootdelay=60表示延迟60秒。重启!

Lucky ,搞掂!

3.后面的就不用检查了^_^

4.为了避免更新内核时 rootdelay 参数被覆盖,可以修改 /etc/default/grub 的 GRUB_CMDLINE_LINUX_DEFAULT="quiet rootdelay=60" ,这样下次就不会被覆盖了。







你可能感兴趣的:(ubuntu,system,服务器,insert,server,shell,linux)