“放弃等待root设备。 警报! / dev / disk / by-uuid /不存在。 在启动时“掉到shell”

几年前我使用Ubuntu并放弃了它。 我现在准备再试一次。 令我惊讶的是,我第一次安装时就收到了这条消息。 如果我等了一段时间并键入退出操作系统将正常启动。 我决定重新安装Ubuntu,看看是否可以解决这个问题。 事实并非如此。 它保持相同的行为方式。

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/11d3bcfa-0726-47cf-a705-e4acdd9169fe does not exist. Dropping to a shell! BusyBox v.1.21.1 (Ubuntu 1:1.21.0-1ubuntu1) built-in shell (ash) Enter 'help' for list of built-in commands. (initramfs) 

任何建议表示赞赏!

sudo blkid; 安装; cat / etc / fstab输出:

 /dev/sda1: LABEL="System Reserved" UUID="1C8CC0F68CC0CC08" TYPE="ntfs" /dev/sda2: UUID="A490C32890C30032" TYPE="ntfs" /dev/sda5: UUID="920c6caa-4062-45f0-a58c-585db797d554" TYPE="swap" /dev/sda6: UUID="11d3bcfa-0726-47cf-a705-e4acdd9169fe" TYPE="ext4" /dev/sda6 on / type ext4 (rw,errors=remount-ro) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) none on /sys/fs/cgroup type tmpfs (rw) none on /sys/fs/fuse/connections type fusectl (rw) none on /sys/kernel/debug type debugfs (rw) none on /sys/kernel/security type securityfs (rw) udev on /dev type devtmpfs (rw,mode=0755) devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755) none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880) none on /run/shm type tmpfs (rw,nosuid,nodev) none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755) none on /sys/fs/pstore type pstore (rw) systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd) gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=inti) # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # #       # / was on /dev/sda6 during installation UUID=11d3bcfa-0726-47cf-a705-e4acdd9169fe / ext4 errors=remount-ro 0 1 # swap was on /dev/sda5 during installation UUID=920c6caa-4062-45f0-a58c-585db797d554 none swap sw 0 0 

这是grep rootdelay /boot/grub/grub.cfg的输出

  linux /boot/vmlinuz-3.13.0-32-generic root=UUID=11d3bcfa-0726-47cf- a705-e4acdd9169fe ro rootdelay=10 quiet splash $vt_handoff linux /boot/vmlinuz-3.13.0-32-generic root=UUID=11d3bcfa-0726-47cf- a705-e4acdd9169fe ro rootdelay=10 quiet splash $vt_handoff linux /boot/vmlinuz-3.13.0-32-generic root=UUID=11d3bcfa-0726-47cf- a705-e4acdd9169fe ro recovery nomodeset rootdelay=10 

由于在一段时间后检测到根文件系统,您可以添加rootdelayrootwait 。 从内核文档 :

 rootdelay= [KNL] Delay (in seconds) to pause before attempting to mount the root filesystem ... rootwait [KNL] Wait (indefinitely) for root device to show up. Useful for devices that are detected asynchronously (eg USB and MMC devices). 

要设置其中一个,请编辑/etc/default/grub ,并更改GRUB_CMDLINE_LINUX的值。 根据需要使用首选编辑器(如nanogedit )和sudogksudo

 sudo nano /etc/default/grub 

在引号内添加rootdelay=10 。 如果您不想手动编辑,请运行以下命令:

 sudo sed -i.bak 's/^GRUB_CMDLINE_LINUX="/& rootdelay=10 /' /etc/default/grub 

然后运行:

 sudo update-grub 

这将告诉内核在继续安装根文件系统之前等待10秒。 要查看是否已应用此更改,请运行

 grep rootdelay /boot/grub/grub.cfg 

如果显示了某些输出,则应用它。 现在重启。

如果仍然出现错误,请按Ctrl Alt Del重新启动,等待GRUB OS选择菜单显示并按e 。 编辑rootdelay的值,然后增加它。 按F10启动。 重复。

如果它正确启动,请尝试上述过程,并减小该值。

我的笔记本电脑上安装了Windows 7 64位。 然后从拇指驱动器安装ubuntu 14.04,以便我可以双启动窗口和ubuntu。 然后我得到了“放弃等待根设备”错误错误。

为了解决这个问题,我在论坛中尝试了许多建议:重新安装ubuntu,重新安装和更新grub,boot-repair,update-initramfs,并且没有任何效果。 修复它的唯一方法是从CD安装。 CD安装工作完美,没有错误。

我有同样的问题, 链接到我的问题

问题是创建initramfs之后做了一个

 make oldconfig 

并为新选项选择默认值,确保ENOUGH磁盘空间可用于创建映像。 在我的情况下,创建的图像不正确,因此它无法在启动时安装映像。


比较时; 图像大小比较低版本的现有图像要小得多,所以我添加了另一个大小足够大的磁盘

 make bzImage make modules make modules_install make install 

开始像魅力一样工作。 我想知道为什么图像创建提前完成并导致图像损坏(尺寸较小)而不会丢失任何错误[每次]

修复分区表后,我遇到了同样的问题。 这条消息实际上很简单。 检查目录/ dev / disk / by-uuid /,消息中的uuid确实未命中。 相反,有另一个uuid链接到partion(我的../../sda5)预期正确的分区。

最终我简单地解决了这个问题:编辑/boot/grub/grub.cfg,用正确的uuid替换错误的uuid。

安装Xubuntu 14.04 32bit后我遇到了完全相同的问题。 试试这个:

  1. 在引导结束后使用UUID消息和(initramfs)只需输入exitexec startx它就会进入GUI
  2. 以root /etc/default/grub编辑
  3. 找到#GRUB_DISABLE_LINUX_UUID=true ,删除#并保存
  4. 在终端运行: sudo update-grubsudo reboot

在此之后它应该工作。