警报! / dev / disk / by-uuid / xxxxxxxxx不存在。 掉到贝壳上

我使用的是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,因为我有很多数据。

您有什么建议可以解决这个问题吗?

解决方案是从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中可能存在错误,应该作为内核更新的一部分进行更新。 如果在更新过程中出现任何问题,可能会发生像我这样的问

如果他们想要,人们可能会对此不以为然,但我发现使用“ /dev/sdX ”比我个人系统的UUID更可靠。 在企业环境中,我会花更多的精力使其与UUID而不是“/ dev /”地址一起工作,但你应该安全地使用/etc/fstab /dev/sdaX而不是UUID引用,至少对尽管在/ etc / fstab中有正确的UUID,但是当你继续搜索为什么启动失败的答案时,能够启动你的系统。

如果您希望使用此路线,请使用以下步骤:

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

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

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

注意:对于Ubuntu和Ubuntu派生的发行版,我知道这个过程是可靠的(在撰写本文时;随着任何即将发布的版本,这很容易改变)。 我知道一个事实是它不能可靠地用于其他一些发行版,例如knoppix或Arch Linux(这是因为UDEV在设备中扫描的方式不同,并在/ dev文件系统中给出了它们的名称)。 如果您使用的是非Ubuntu派生的发行版,请不要使用此方法,否则使用它需要您自担风险。