sou*_*edi 14 fedora grub uefi secure-boot
我最近使用 EFI 引导安装了 Fedora 18。像其他当前的 linux 发行版一样,它为我设置了 GRUB2。
当出现问题时,我有重新安装BIOS版本的 GRUB 的经验。我知道如如何引导救援光盘,chroot到安装的系统,运行grub-install
和可能的update-grub
/ grubby
/ grub-mkconfig
。
出现问题时如何重新安装EFI版本的 GRUB?(我知道事情会出错:我打破了它们)。
sou*_*edi 11
首先,您需要一个EFI 启动的linux 系统。如果您仍然拥有原始安装媒体(CD/DVD/USB 记忆棒),则通常应该包含足够的救援系统。它甚至可能有一个一键修复选项:)。
或者,Ubuntu 社区提供了一个自动引导修复映像。它声称支持 Fedora。如果你想知道它到底做了什么,我建议你提前阅读这个第三方解释。
但是,我使用了带有控制台工具的通用救援系统。除了支持 EFI 引导外,我还确保efibootmgr
在包列表中。它碰巧被称为GRML并且基于 Debian。以下是我在抢救 Fedora 系统时发现的有关控制台工具和 grub-efi 的信息:
在运行由 EFI 引导的 Fedora 18 系统时,不要运行grub2-install
. 它将声称成功,但它破坏了 Fedora grub-efi 引导系统。
该文件/boot/EFI/fedora/grub.efi
由 grub-efi 包安装。如果您确实想重新安装它,请使用yum reinstall grub-efi
. (要从通用救援系统执行此操作,您可以在mount
输入并chroot
输入已安装的 Fedora 系统后执行此操作)。Fedora grub-efi 使用配置文件/boot/EFI/fedora/grub.cfg
(大概由 grubby 生成)。EFI 上的 Fedora 不会在/boot/grub2/grub.cfg
. 运行grub2-install
会将 grub.efi 替换为尝试读取的图像,/boot/grub2/grub.cfg
因此会失败。
grub2-install
安装 EFI 引导项grub.efi
。但是,如果您没有在 Windows 8 认证的固件中禁用安全启动,则此条目将无法启动。您需要改为启动shim.efi
(忽略shim-fedora.efi
,我不确定那是什么)。见下文。
如果您的固件设置被重置,您可能会丢失 Fedora 的 EFI 引导条目。(手动,或通过固件升级,或者因为固件有问题 - 后者已被广泛报道)。以下是使用安全启动为 Fedora 手动创建 EFI 启动项的方法:
$ sudo efibootmgr -c -L Fedora -d /dev/sda -p 100 -l \\EFI\\fedora\\shim.efi
Run Code Online (Sandbox Code Playgroud)
此示例使用 linux 识别的第一个标准磁盘上的分区号 100。您应该调整选项-d /dev/sda
并-p 100
确定 Fedora 挂载的文件系统/boot/efi
。这是一个 EFI 系统分区。Fedora 安装程序将为您的 Fedora 安装创建一个专用的ESP,与任何其他操作系统使用的 ESP 分开。(这与 Ubuntu 和 OpenSUSE 不同)。
请注意,该efibootmgr
命令要求您从 EFI 引导的系统运行它。
小智 5
如果您使用 UEFI Windows 进行双引导,则还有另一种可能性。这不需要恢复磁盘。
您可以启动到 Windows,以管理员权限打开命令行,然后运行以下命令:
bcdedit /set {bootmgr} path \EFI\fedora\shim.efi
Run Code Online (Sandbox Code Playgroud)
这将替换 UEFI 中的 Windows 引导条目,使用引导至 GRUB 的条目。假设您的 GRUB 菜单包含一个适用于 Windows 的工作条目,您现在可以使用双启动 :-)。希望这一切都可以在不禁用安全启动的情况下工作。
在 Windows 更新后,我只需要自己这样做,它似乎已经成功了。
来源和更多信息:http : //nwrickert2.wordpress.com/2013/05/13/notes-on-uefi-windows-and-linux/。
归档时间: |
|
查看次数: |
48204 次 |
最近记录: |