我正在使用 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/sdaX
in/etc/fstab
而不是 UUID 引用,至少在您继续搜索为什么尽管 /etc/fstab 中有正确的 UUID,但启动失败的原因时,您可以启动系统。
如果您希望采用此路线,请按照以下步骤操作:
启动到恢复 shell 或者启动到实时 USB 驱动器或 CD
挂载无法启动的系统分区
以 root 身份编辑
/etc/fstab
步骤 2 中提到的系统分区中的文件,并在所有相关条目中将其替换UUID=XXXXX
为相应的标签。/dev/sdX
/etc/fstab
注意:据我所知,此过程对于 Ubuntu 和 Ubuntu 衍生发行版而言是可靠的(截至撰写本文时;这可能会随着任何即将发布的版本而改变)。我知道它对于其他一些发行版(如 knoppix 或 Arch Linux)来说并不可靠(这是由于 UDEV 扫描设备并在 /dev 文件系统中为它们命名的方式不同)。如果您使用的是非 Ubuntu 衍生发行版,请不要使用此方法,否则后果自负。