我昨天已将我的 BIOS 更新到最新版本,但从那时起机器就找不到可启动驱动器了。
我可以使用 EFI 控制台启动,但除此之外它无法正常工作!我尝试了启动修复,但这并没有修复 BIOS 中的问题,可以看到 UEFI 的条目,但当您选择它时它不会启动。
需要澄清的是,这台机器的 LVM 分区中只有 UBUNTU 14.04...没有 Windows
提前致谢
答案1
我建议你阅读一些关于 EFI 工作原理的文章,因为你的问题揭示了许多常见的误解,这些误解主要是由于将 BIOS 假设应用于 EFI 世界而引起的。Adam Williamson 发表了一篇有用的文章博客文章这个问题,所以这是一个很好的开始。介绍我的 Linux EFI 引导加载程序页面是另一个可以作为有用起点的网站。
需要理解的最关键一点是,在 EFI 下,磁盘无法像在 BIOS 下一样启动。EFI 引导加载程序以文件形式存储在称为EFI 系统分区 (ESP)。单个 ESP 可以容纳任意数量的引导加载程序。计算机根据其自己的引导管理器的条目(存储在 NVRAM 中)决定使用哪个引导加载程序。您可以通过多种方式操作这些条目,例如使用bcfg
EFI shell 中的命令或efibootmgr
Linux 中的实用程序。更好的 EFI 还提供用户界面,以便您可以从其设置工具中进行更改。
您的固件更新可能会删除或重新排序您的 NVRAM 条目。因此,您可能需要重新创建工作条目或至少更改启动顺序。请参阅这里或者这里有关如何使用 执行此操作的一些基本信息efibootmgr
。理论上,您尝试过的 Boot Repair 程序应该能够做到这一点;但有时它不起作用。此外,Boot Repair必须运行从 EFI 模式启动才能正确执行此操作。这是一个很难克服的障碍,因为许多用户会意外地以 BIOS 模式而不是 EFI 模式启动。
我的rEFInd 启动管理器因为它有效,所以很有用仅有的在 EFI 模式下。如果您下载 USB 闪存驱动器或 CD-R 映像并用它启动,则可以保证以 EFI 模式启动 rEFInd(或根本不启动)。然后它应该会检测到您的 Linux 安装 - 但由于您使用 LVM,您可能需要通过 GRUB 选项启动,或者按 F2 或 Insert 两次并输入正确的选项root=
以直接启动 Linux 内核。启动 Linux 后,您可以使用它efibootmgr
重新启用 GRUB,或者您可以安装 Debian 软件包版本的 rEFInd 以从硬盘使用它。