警告!/dev/disk/by-uuid/xxxxxxxxx 不存在。转到 shell

警告!/dev/disk/by-uuid/xxxxxxxxx 不存在。转到 shell

我正在使用 Ubuntu 14.04。

我在终端中运行sudo apt-get update。然后我重启了系统。现在我看到:

ALERT! /dev/disk/by-uuid/xxxxxxxxx does not exist. Dropping to a shell
initramfs:_

我无法从 USB 闪存驱动器启动 LIVE Ubuntu。是的,我仔细检查了 BIOS 设置,USB 闪存驱动器没有问题,并且可以在另一台机器上运行。现在我要买一张 DVD 并从另一台笔记本电脑刻录一张 Live DVD。

sudo blkid给我:

/dev/loop0: TYPE="squashfs"  
/dev/sda1: UUID="xxxx" TYPE="ext4"   
/dev/sr0: LABEL="Ubuntu 14.04.1 LTS i386" TYPE="iso960"   

/etc/fstab有相同的内容UUID="xxxx",并且有一行:

errors=remount-ro 0   

我尝试使用启动修复但仍然无法登录 Ubuntu。

我不想重新安装 Ubuntu,因为那里有很多数据。

您对如何解决这个问题有什么建议吗?

答案1

解决方案是从 liveDVD 执行这些命令,它允许我从该 liveDVD 在我的 sda1 上执行操作(据我所知)

sudo mount /dev/sda1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
update-initramfs -u
update-grub
reboot

我的一个来自 ubuntu pl 论坛的朋友帮我解决了这个问题。

他发现 initramfs 可能有错误,而 initramfs 应该作为内核更新的一部分进行更新。如果在更新过程中出现任何问题,就会发生类似我的情况。

答案2

如果有人愿意,人们可能会对此不以为然,但我发现/dev/sdX对于我的个人系统来说,使用“ ”比使用 UUID 更可靠。在企业环境中,我会花更多精力让它使用 UUID 而不是“/dev/”地址,但您应该可以安全地使用/dev/sdaXin/etc/fstab而不是 UUID 引用,至少在您继续搜索为什么尽管 /etc/fstab 中有正确的 UUID,但启动失败的原因时,您可以启动系统。

如果您希望采用此路线,请按照以下步骤操作:

  1. 启动到恢复 shell 或者启动到实时 USB 驱动器或 CD

  2. 挂载无法启动的系统分区

  3. 以 root 身份编辑/etc/fstab步骤 2 中提到的系统分区中的文件,并在所有相关条目中将其替换UUID=XXXXX为相应的标签。/dev/sdX/etc/fstab

注意:据我所知,此过程对于 Ubuntu 和 Ubuntu 衍生发行版而言是可靠的(截至撰写本文时;这可能会随着任何即将发布的版本而改变)。我知道它对于其他一些发行版(如 knoppix 或 Arch Linux)来说并不可靠(这是由于 UDEV 扫描设备并在 /dev 文件系统中为它们命名的方式不同)。如果您使用的是非 Ubuntu 衍生发行版,请不要使用此方法,否则后果自负。

相关内容