ubuntu:ALERT! xxxx does not exist. Dropping to a shell!

有台ubuntu系统的VPS经常挂掉,通过VNC后台发现进到

(initramfs)

界面了,之前都是直接删除了重建一台就是了,今天决定好好修复一下!

VNC到后台:

1.在initramfs命令下查看/dev的sda文件节点,我的下面有三个sda1, sda2, sda5,我的系统分区是sda1
2.系统启动到GRUB界面时,按e键进入GRUB启动菜单编辑,将Linux一行root=uuid=xxxx修改为root=/dev/sda1,按Ctrl +X启动即可进入系统
3.修改grub配置文件(不然重启后还是进不了ubuntu系统),

vi /etc/default/grub,修改一下两行:

GRUB_CMDLINE_LINUX_DEFAULT=””
GRUB_CMDLINE_LINUX=”rootdelay=10″

4.执行update-grub命令更新GRUB菜单内容:update-grub

5.Reboot 重启系统,这样每次启动就可以正常进入系统了。

导至以上错误的原因是因系统引导时,initrd等待加载SAS/SATA控制器驱动的时间太短(这也是为啥Ubuntu启动速度飞快的原因之一),导致SAS/SATA控制器还没有成功驱动之前,系统就开始进行下一步引导,而此时,系统中连磁盘都没有加载,当然什么都找不到,真不知道作为服务器OS,这个重要的步骤Ubuntu这么火急火燎的干什么呢…… 相比之下,CentOS启动虽然慢那么一点点,但由于initrd有足够的时间等候加载SAS/SATA控制器驱动,所以从不会发生这样的窘境。