我的 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盘。多次派上用场。 :)