grub2-install --boot-directory=BOOT/grub2 /dev/sda

grub2-install --boot-directory=BOOT/grub2 /dev/sda

Grub2 无法安装在带有 GPT 分区标签的硬盘上(没有 --force),提示缺少 BIOS 启动分区 - 即使确实有。
第一个分区(1 MB)应该用作 BIOS 启动分区。

为什么 Grub 安装程序找不到它?

grub2-install --boot-directory=BOOT/grub2 /dev/sda

/usr/sbin/grub2-bios-setup:警告:此 GPT 分区标签不包含 BIOS 启动分区;无法嵌入。/usr/sbin/grub2-bios-setup
:警告:无法嵌入。GRUB 只能通过使用阻止列表在此设置中安装。但是,阻止列表不可靠,不鼓励使用。/usr/sbin/grub2-bios-setup
:错误:不会继续使用阻止列表。

parted /dev/sda 单元 B 打印

型号:VMware、VMware Virtual S (scsi)
磁盘 /dev/sda:53687091200B
扇区大小(逻辑/物理):512B/512B
分区表:gpt
磁盘标志:pmbr_boot

编号 起始 结束 大小 文件系统 名称 标志
1 1048576B 2097151B 1048576B
2 2097152B 526385151B 524288000B ext2
3 526385152B 27369930751B 26843545600B ext4
4 27369930752B 32738639871B 5368709120B linux-swap(v1)
5 32738639872B 53686042623B 20947402752B ext4

sgdisk -p /dev/sda

磁盘 /dev/sda:104857600 个扇区,50.0 GiB
逻辑扇区大小:512 字节
磁盘标识符 (GUID):F4679BF9-DC8C-4346-8889-83B84F43BE58
分区表最多可容纳 128 个条目
第一个可用扇区为 34,最后一个可用扇区为 104857566
分区将在 2048 扇区边界上对齐
总可用空间为 4029 个扇区(2.0 MiB)

编号 起始(扇区) 结束(扇区) 大小 代码 名称
1 2048 4095 1024.0 KiB 0700
2 4096 1028095 500.0 MiB 0700
3 1028096 53456895 25.0 GiB 0700
4 53456896 63942655 5.0 GiB 0700
5 63942656 104855551 19.5 GiB 0700

sgdisk -i 1 /dev/sda

分区 GUID 代码:EBD0A0A2-B9E5-4433-87C0-68B6B72699C7(Microsoft 基本数据)
分区唯一 GUID:075D0E05-FC7B-482C-9BF8-0FD0A83D02F5
第一个扇区:2048(1024.0 KiB)
最后一个扇区:4095(2.0 MiB)
分区大小:2048 个扇区(1024.0 KiB)
属性标志:00000000000000000
分区名称:''

sgdisk -i 2 /dev/sda

分区 GUID 代码:EBD0A0A2-B9E5-4433-87C0-68B6B72699C7(Microsoft 基本数据)
分区唯一 GUID:51756103-CDA5-4D09-BFB4-B1DB8A89CE08
第一个扇区:4096(2.0 MiB)
最后一个扇区:1028095(502.0 MiB)
分区大小:1024000 个扇区(500.0 MiB)
属性标志:00000000000000000
分区名称:''

sgdisk -i 3 /dev/sda

分区 GUID 代码:EBD0A0A2-B9E5-4433-87C0-68B6B72699C7(Microsoft 基本数据)
分区唯一 GUID:2A6E6859-DCE0-4040-8683-15B51A3F0911
第一个扇区:1028096(502.0 MiB)
最后一个扇区:53456895(25.5 GiB)
分区大小:52428800 个扇区(25.0 GiB)
属性标志:00000000000000000
分区名称:''

sgdisk -i 4 /dev/sda

分区 GUID 代码:EBD0A0A2-B9E5-4433-87C0-68B6B72699C7(Microsoft 基本数据)
分区唯一 GUID:0CBCDEFE-9467-4534-9EE2-7C142CCD3B09
第一个扇区:53456896(25.5 GiB)
最后一个扇区:63942655(30.5 GiB)
分区大小:10485760 个扇区(5.0 GiB)
属性标志:00000000000000000
分区名称:''

sgdisk -i 5 /dev/sda

分区 GUID 代码:EBD0A0A2-B9E5-4433-87C0-68B6B72699C7(Microsoft 基本数据)
分区唯一 GUID:22C44A3F-B738-4050-8AD5-0556750A074B
第一个扇区:63942656(30.5 GiB)
最后一个扇区:104855551(50.0 GiB)
分区大小:40912896 个扇区(19.5 GiB)
属性标志:00000000000000000
分区名称:''

答案1

第一个分区(1 MB)应该用作 BIOS 启动分区。

但如您所见,事实并非如此。您的所有分区都是 MS Basic Data 分区,类型为 EBD0A0A2-B9E5-4433-87C0-68B6B72699C7。GRUB 所谓的“BIOS 启动分区”(这是一个相当具有误导性的名称,因为实际的机器固件无法理解或使用此分区)的类型为 21686148-6449-6E6F-744E-656564454649(无效的 GUID)。

这就是 GRUB 正在寻找的分区类型。您没有这种类型的分区。因此出现错误消息。就这么简单。

进一步阅读

  • 乔纳森·德·博因·波拉德(2006年)。“非系统特殊卷”什么是“启动”卷和“系统”卷. 常见问题答案。

相关内容