我的 Compaq 笔记本电脑装有 Windows 10,然后我安装了 ubuntu 12.04。几天后,ubuntu 12.04 中出现了以下消息。
然后在 ubuntu 12.04 中,我将文件从“\boot\efi”移至另一个位置。移动的文件可能是(我记不清楚)“1. HP,2. Microsoft,3. 第三个我不记得了”。之后我重新启动笔记本电脑,然后显示以下消息“GNU GRUB 版本 1.99-21ubuntu3.19
支持最低限度的 BASH 式编辑。对于第一个单词,TAB 会列出所有可能的命令补全。其他任何地方,TAB 都会列出可能的设备或文件补全。
grub>_”
如果我按 f9 键进入“启动设备选项”,然后选择“从 EFI 文件启动>无卷标>EFI>启动>bkpbootx64.efi”以下显示 [消息][2]
然后我使用 ubuntu 16.04 制作可启动 usb 并运行启动修复命令,即
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
然后显示以下消息
“检测到 GPT。请创建 BIOS-Boot 分区(>1MB、未格式化的文件系统、bios_grub 标志)。这可以通过 Gparted 等工具执行。然后重试。或者,您可以在激活 [Separate/boot/efi partion:] 选项后重试。”
该怎么办
答案1
您必须以某种方式将这些文件移回。最简单的方法可能是使用一台正常工作的计算机制作 LiveUSB 并从中启动。如果您选择Try Ubuntu
,您将能够将文件移回 EFI 分区(您必须使用 Gparted 或终端挂载该分区)。
EFI 不是你想弄乱的东西。它不断告诉你空间不足可能会很烦人,但你需要忽略它,或者研究你需要哪些文件或如何增加空间。不要只是移动随机文件。那永远不会有好结果。
答案2
Zacharee1 和 oldfred 正在为您提供有用的建议。我只想附上一些指向其他 EFI 信息的链接,这些信息可能有助于您了解问题所在,从而避免将来出现此类问题:
- Adam Williamson 的博客文章介绍了 EFI 的工作原理—— 本页描述了 EFI 模式启动背后的理论。
- Superuser.com 上关于 BIOS 和 EFI 启动之间的区别的问答—— 这提供了前面内容的基础,但更加简洁。
- 我的关于在 EFI 系统上安装 Linux 的页面—— 与 Adam Williamson 的博客相比,此页面对 EFI 模式启动进行了更实用的介绍。
- 我的 CSM 页面——本页介绍了 CSM,包括它何时有用以及何时没用。
- Ubuntu 社区 wiki 中有关 UEFI 的条目-- 这个页面有点脱节,但却是针对 Ubuntu 的 EFI 及其问题最具体的介绍。
其中一些页面旨在帮助您安装 Ubuntu 或 Linux,当然您已经完成了;但它们仍然提供了有用的背景信息。
我想重申 Zacharee1 写的内容:
不要随意移动文件。那样不会有好结果。
Ubuntu 安装中的大多数文件都是有原因的,存在于特定位置也是有原因的。在不了解它们是什么的情况下移动(或更糟的是删除)它们永远不是一个好主意。有时您可以侥幸逃脱惩罚,因为这些文件与您不使用的程序有关,但移动随机文件就像玩俄罗斯轮盘赌。您玩了,但输了。更糟糕的是,您似乎移动了与 Windows 的引导加载程序相关的文件,这当然会影响 Windows。
您可以使用以下命令找到您的文件:
sudo find /mount/point -name "bootmgfw\.efi"
切换/mount/point
到您将相关文件移动到的分区的安装位置。此命令将找到该bootmgfw.efi
文件,即 Windows 的主引导加载程序文件。(请注意,该命令可能需要几分钟才能完成搜索分区。)找到该文件后,您可以将其原始目录树复制回其所属的位置。(该文件应位于EFI/Microsoft/Boot/bootmgfw.efi
ESP 上。)
Windows 首先会创建一个较小的 ESP —— 在较旧的支持 EFI 的 Windows 版本上,有时小到 100 MiB。这通常足以容纳 ESP 上所需的所有文件,因此某些东西可能不恰当地存储在那里。(另一方面,它可能被日志文件或来自引导加载程序的屏幕截图填满。)确定占用空间的内容需要进行一些调查并了解 ESP 上的文件是什么——前面引用的页面将对此有所帮助。