Mar*_*cin 30 boot grub2 initramfs boot-repair 14.04
我正在使用 Ubuntu 14.04。
我跑在终端sudo apt-get update。然后我重新启动了系统。现在我看到:
ALERT! /dev/disk/by-uuid/xxxxxxxxx does not exist. Dropping to a shell
initramfs:_
Run Code Online (Sandbox Code Playgroud)
我无法从 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"
Run Code Online (Sandbox Code Playgroud)
/etc/fstab有相同的UUID="xxxx",有一行:
errors=remount-ro 0
Run Code Online (Sandbox Code Playgroud)
我尝试使用引导修复,但我仍然无法登录到 Ubuntu。
我不想重新安装 Ubuntu,因为我那里有很多数据。
你有什么建议可以解决这个问题吗?
Mar*_*cin 30
解决方案是从 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
Run Code Online (Sandbox Code Playgroud)
我在 ubuntu pl 论坛上的一个朋友帮我解决了这个问题。
他发现 initramfs 中可能有错误,应该作为内核更新的一部分进行更新。如果在更新期间出现任何问题,可能会发生像我这样的问题。
MGo*_*dby -1
如果人们愿意的话,他们可能会对此皱眉,但我发现使用“ /dev/sdX”对我来说比我个人系统的 UUID 更可靠。在企业环境中,我会投入更多精力使其与 UUID 而不是“/dev/”地址一起使用,但您应该安全地使用/dev/sdaXin/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 衍生发行版,请不要使用此方法,否则后果自负。
| 归档时间: |
|
| 查看次数: |
91566 次 |
| 最近记录: |