我正在使用 MacBook Air 2013,并且正在尝试安装 Gentoo。我已经这样做过几次了,但我总是使用其他“解决方法”来解决这个问题,例如直接使用 EFI-stub 内核映像。
我想要实现的目标是在分区上安装 GRUB,这样我就不会打乱 Macbook 的原始磁盘布局。
这是我的分区表:
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 236978176 sectors, 113.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 9DF6BE23-87E0-4602-B71F-7DAD445D5614
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 236978142
Partitions will be aligned on 8-sector boundaries
Total free space is 6 sectors (3.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 40 409639 200.0 MiB EF00 EFI System Partition
2 409640 176582599 84.0 GiB AF00 Customer
3 176582600 177852135 619.9 MiB AB00 Recovery HD
4 177852136 178114279 128.0 MiB EF00 EFI System
5 178114280 236978142 28.1 GiB 8300 Linux filesystem
这第一名分区是我的 Mac 的原始 ESP(我安装了 Refind),我想保持原样。我尝试将 GRUB 放在第四名分区(即脂肪组织)但是当我尝试在那里安装它时,我得到:
# > grub2-install /dev/sda4
/usr/sbin/grub2-bios-setup: warning: File system 'fat' doesnt' support embedding.
/usr/sbin/grub2-bios-setup: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
/usr/sbin/grub2-bios-setup: error: will not proceed with blocklists.
我也尝试过使用
grub2-install --force /dev/sda4
但这没有任何作用。我该如何解决这个问题?谢谢!
答案1
我通过创建一个 EFI-stub 内核来解决这个问题,然后在用它启动时,我继续安装 grub,其中grub2-install --target=$arch-efi --efi-directory=$esp
是$esp
我安装的目录/boot
,$arch
是我的 CPU 的架构(在我的例子中,是x86_64
。通过这个过程,grub 是然后安装并创建$esp
一个。grubx64.efi
最后一步是创建配置:
grub2-mkconfig -o $esp
一切都准备好了!
总结一下:
- 创建 EFI-STUB 内核并启动它
- 像往常一样安装 grub:
grub2-install --target=$arch-efi --efi-directory=$esp
- 为 grub 创建配置文件:
grub2-mkconfig -o $esp
- 完毕!