grub-install:警告:此 GPT 分区标签不包含 BIOS 启动分区;无法嵌入

grub-install:警告:此 GPT 分区标签不包含 BIOS 启动分区;无法嵌入

启动时,我点击“grub rescue”,可以使用“set root=(hd1,gpt1) ...”
启动,启动后,运行“sudo update-grub”,然后运行“sudo grub-install /dev/sda”,但出现以下错误

在 /boot/grub/grub.cfg 上,我可以看到“set root='hd0,gpt1'”,
所以如果我可以将其修改为 hd1,我想我的启动问题就会得到解决。
(我已经检查了 /etc/grub.d/* 和 /etc/default/grub,但我没有找到如何编辑 hd(x))
我的 cmos 显示“UEFI”仅供参考,
请提供意见。

sudo grub-install /dev/sda  
Installing for i386-pc platform.  
**grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.**  
grub-install: 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..  
**grub-install: error: will not proceed with blocklists.**  



Disk /dev/sda: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors  
Units: sectors of 1 * 512 = 512 bytes  
Sector size (logical/physical): 512 bytes / 4096 bytes  
I/O size (minimum/optimal): 4096 bytes / 4096 bytes  
Disklabel type: gpt  
Disk identifier: EB47D80D-DD29-474D-8267-A6CFE06F828A  

Device          Start        End    Sectors   Size Type  
/dev/sda1  5078124544 5860532223  782407680 373.1G Linux filesystem  
/dev/sda2        2048   62500863   62498816  29.8G Linux swap  
/dev/sda3    62500864 5078124543 5015623680   2.3T Linux filesystem  

答案1

如果您想使用 UEFI 启动模式,那么您将错误的 GRUB 变体安装到了错误的位置。

UEFI 系统不要将其引导加载程序直接保存在 /dev/sda 的“MBR”中。它们需要一个特殊的分区,称为“EFI 系统分区”,其中包含组成引导加载程序的文件。(例如,安装 GRUB2 会将“grubx64.efi”文件复制到该分区。)

因此,您必须首先创建该分区,在 fdisk 中设置正确的“分区类型”,使用正确的文件系统对其进行格式化,然后将其挂载在 /boot/efi 等上。

(EFI 系统分区应为 ~200 MB,分区类型C12A7328-F81F-11D2-BA4B-00A0C93EC93B为 GPT 磁盘,并且必须使用 格式化为 FAT32 mkfs.vfat。它可以位于磁盘上的任何位置,因此只需缩小现有分区之一即可腾出一些空间。)

创建并挂载分区后,告诉grub 安装将所有内容安装到 /boot/efi 中,然后不要指定磁盘名称:

sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --removable

更详细的说明可以在这里找到:


注意:显示错误消息是因为grub 安装当前正在尝试为 BIOS 安装 GRUB2,而不是为 UEFI 安装。这可能是因为您的系统当前已在“传统模式”下启动(例如从与 UEFI 不兼容的 .iso 映像启动)。

如果您遇到这种情况但希望主系统使用 UEFI,请忽略错误消息并按照上述说明操作。您可能需要--removable首先使用 grub-install,然后重新启动进入新安装的系统,并安装 grub再次(但这次没有--removable)按应有的方式设置 NVRAM 条目。

但是,如果你确实想安装 BIOS GRUB 版本,你仍然由于 BIOS+GPT 组合,需要一个特殊分区。这次,“BIOS 启动分区”(顾名思义,仅在 BIOS 模式下使用)需要约 2 MB,未格式化,并且 - 我认为 - 位于磁盘的前 2 TiB 内。

再次强调,更多信息可在此处找到:

相关内容