我有一台预装了 Windows 8.1 的华硕笔记本电脑,我设法在它旁边安装了 Ubuntu,几天来它运行良好。今天,突然间,Ubuntu 突然黑屏,我回到 grub 菜单选择我的一个操作系统,当我尝试启动 Ubuntu 时,它只是说无法挂载“/boot/efi”,并且它不允许我选择任何选项(一个是按 S 绕过挂载过程,另一个是按 M 手动更正问题)。如果我进入恢复模式并尝试正常启动,它会让我绕过安装程序并像往常一样启动 Ubuntu。
如何在启动时停用安装过程?或者更好的是,我该如何解决这个问题?
答案1
The_Seppi 的回答回答了您的第一个问题,并且在这方面完全正确。
至于如何解决这个问题,很可能会发生以下两种情况之一:
- 文件系统可能存在问题(文件系统损坏)。如果您使用 Windows 默认设置的“快速启动”功能,则可能会发生这种情况。您必须禁用此功能,如所述这里,以及其他许多地方。
- 您的文件系统 ID 可能已更改。这是
UUID=xxxx-xxxx
the_Seppi 的回复中的部分内容。您可以通过键入 来查找分区的所有 UUID 值sudo blkid
。如果您的条目在 EFI 系统分区(Ubuntu 中的 ESP)的第一列中有其他内容/boot/efi
,例如/dev/sda1
,则该值可能已更改。如果您备份、创建了新文件系统并恢复;或者如果您重新分区了磁盘,则可能会发生此类更改。
的输出启动信息脚本boot-info-script
如果这些技巧不能帮助您解决根本问题,(在包中)可能会有所帮助。
答案2
使用提升权限的文本编辑器打开该文件/etc/fstab
。您应该能够立即识别 EFI 分区,因为它可能带有标签,例如:
# /boot/efi was on /dev/sda1 during installation
UUID=xxxx-xxxx /boot/efi vfat defaults 0 1
为了防止自动挂载,将noauto
标志附加到选项列(在我的示例中为“默认值”),用逗号分隔,因此它可能看起来像这样:
UUID=xxxx-xxxx /boot/efi vfat defaults,noauto 0 1
这将防止以后自动挂载此分区。如果您需要访问该分区,可以通过运行 手动挂载它sudo mount /boot/efi
。由于此目录存储在 fstab 条目中,mount 将自动知道要在那里挂载什么。
注意:在我的系统上,/boot/efi 条目已被注释掉。但是,它也被自动挂载。因此,如果您要更改 fstab 条目,请删除#
该行前面的所有前缀UUID=... /boot/efi
。