过去几天我一直尝试从 USB 驱动器安装 Ubuntu 16.04,并在启动时遇到以下问题:
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! UUID=<drive-uuid> does not exist.
Dropping to a shell!
BusyBox v.1.20.2 (Ubuntu 1:1.20.2-1ubuntu1) built-in shell (ash)
Enter 'help' for list of built-in commands.
(initramfs)
(initramfs)
上面需要注意的一点是:与我见过的一些解决方案相比,上面的方法之后我无法使用 shell(无响应)
举个例子,我将其安装在一台有另外两个硬盘的电脑的硬盘上:一个安装了 Windows 7,另一个只有 NTFS 存储。Ubuntu 安装已打开/dev/sdc1
,引导加载程序也一样。
以下是我使用 Live Ubuntu 和 chroot 尝试修复此问题的方法:
- 验证后面出现的 UUID
blkid
与/etc/fstab
- 将 中的路径替换
/etc/fstab
为/dev/sdc1
。我得到了同样的错误“放弃等待根设备”,只是 UUID 被替换为/dev/sdc1
- 完成 2 之后,取消注释
GRUB_DISABLE_LINUX_UUID=true
。/etc/default/grub
然后运行 update-grub。 rootdelay=40
将和分别添加rootwait
到中的 GRUB_CMDLINE_LINUX/etc/default/grub
。然后运行 update-grub。
我只是不明白它是如何提示设备不存在的,因为我必须通过引导加载程序(在同一个驱动器上)才能启动 Ubuntu。
如果这是一个额外的提示,当我尝试运行 Ubuntu 恢复模式时,它最终会在该行上循环,Begin: Running /scripts/local=block ... done.
然后才给我原始的“放弃”错误。
答案1
我通过将 Ubuntu 安装 ISO 刻录到 DVD 并从中安装解决了这个问题。
我仍然不知道是什么导致了我最初的问题,但是尝试从 USB 安装会导致上述问题。