grub-install 中 efi 目录和设备的规范

grub-install 中 efi 目录和设备的规范

我的 USB 闪存盘布局如下:

+---------------+  +----------------+
|               |  |                |
| EFI partition |  | data partition |
|               |  |                |
+---------------+  +----------------+
[media]$ mount /dev/sda1 ./efi
[media]$ mount /dev/sda2 ./data

[media]$ grub-install --target=i386-pc --recheck --boot-directory=data/boot /dev/sda
[media]$ grub-install --target=x86_64-efi --recheck --removable --efi-directory=efi/ --boot-directory=data/boot /dev/sda

这让我可以选择从传统模式和 UEFI 模式启动。

grub 配置文件将存储在 data/boot 中。

1)为什么我必须在之后指定设备--boot-directory

2)为什么我必须--efi-directory在第二个指定grub-install,这是什么意思?

我会很高兴看到它如何启动、首先加载什么等方面的进展。

谢谢你!

答案1

为什么我必须在之后指定设备--boot-directory

您可以将 GRUB 安装到一个磁盘 ( ) 的 MBR 中/dev/sda,配置数据位于/boot该磁盘的目录中。据称,您boot也可以选择不同磁盘上的目录。
至于参数位置:可选参数以强制参数为前缀--并位于强制参数之前是很常见的。

为什么我必须--efi-directory在第二个指定grub-install,这是什么意思?

对于 EFI 式引导,引导加载程序不位于 MBR 或磁盘上任何其他已知的“神奇”物理位置。引导加载程序实际上存储在特殊“EFI 系统分区”的已安装文件系统(通常是 FAT32)上的文件中。grub-install需要知道在哪里可以找到这个文件系统。

对于 boot 目录和 efi 目录,都可以grub-install自动猜测并找到它们,但更可靠的是告诉它在哪里找到它们。

PS:我也有一个这样的U盘。多次派上用场。 :)

相关内容