grubx64 和 shimx64 有什么区别?

use*_*735 40 grub2 dual-boot refit

我是 Linux 新手。我在 Mac 上加载了 Ubuntu,并使用 rEFInd 启动它。我看到两个选择:

  1. EFI\ubuntu\grubx64.efi
  2. EFI\ubuntu\shimx64.efi

他们都启动到 Ubuntu。

两者之间有什么区别,我应该使用哪一种?我做错了什么让两者都出现了吗?

Rod*_*ith 54

通常,EFI/ubuntu/grubx64.efiEFI 系统分区 (ESP) 上是 GRUB 二进制文件,并且EFI/ubuntu/shimx64.efi是 shim 的二进制文件。后者是一个相对简单的程序,它提供了一种在启用安全启动的计算机上启动的方法。在这样的计算机上,未签名的 GRUB 版本将无法启动,并且不可能使用 Microsoft 的密钥对 GRUB 进行签名,因此 shim 弥补了这一差距并添加了与安全启动并行的安全工具。在实践中,shim 将自身注册到固件,然后启动grubx64.efi在启动它的目录中调用的程序,因此在没有安全启动的计算机(例如 Mac)上,启动shimx64.efi就像启动grubx64.efi. 在启用安全启动的计算机上,启动shimx64.efi应该会导致 GRUB 启动,而启动grubx64.efi 直接可能行不通。

请注意,可能存在一些歧义。特别是,如果您想在带有 shim 的安全引导环境中使用 GRUB以外的引导管理器或引导加载程序grubx64.efi,则必须调用该程序,即使它不是 GRUB。因此,如果您要在启用安全启动的计算机上安装 rEFInd,则grubx64.efi可能是 rEFInd 二进制文件。不过,这个二进制文件可能不会驻留在 中EFI/ubuntu;它和一个 shim 二进制文件都可能会进入EFI/refind。此外,由于您有一台 Mac(不支持安全启动),因此无需以这种方式安装 rEFInd;将 rEFInd 安装为EFI/refind/refind_x64.efi(其默认位置和名称)更有意义。

请注意,rEFInd 文档包括关于安全启动的整页。很有可能你不会从阅读它中受益,user190735,因为你使用的是 Mac。我提到它只是以防其他一些读者试图将 rEFInd 与安全启动结合使用。

  • 是的,微软签署了“shimx64.efi”——至少是 Ubuntu 安装在安全启动计算机上的版本。(也有未签名的 Shim 二进制文件;或者你可以[安装你自己的安全启动密钥并自己签署`shimx64.efi`](http://www.rodsbooks.com/efi-bootloaders/controlling-sb.html)到完全控制计算机的安全启动过程。 (9认同)
  • MS 是否签署了 shimx64.efi? (5认同)