grub-install:此 GPT 分区标签不包含 BIOS 启动分区

grub-install:此 GPT 分区标签不包含 BIOS 启动分区

我安装了 Ubuntu 15.04,几个星期以来运行良好。今天,我的机器被锁定了,我不得不关机才能清除错误。当我这样做时,它停止了启动。

启动时,它会出现并显示一个光标,不显示任何其他内容。

我尝试遵循这里的建议:http://ubuntuhandbook.org/index.php/2013/11/reinstall-grub-ubuntu-wont-boot/但是当我这样做时,它给出了这个错误:

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.

关于下一步该尝试什么,有什么建议吗?

答案1

对你来说已经太晚了,但这可能对像我一样来到这个页面寻找这个问题的解决方案的人有所帮助。必须在磁盘上创建一个小分区,并将其标记为代码 EF02“BIOS 启动分区”。我读到过它应该是 200MB,我只有 1007.0 KiB 的空间,但它还是一样。

答案2

为了解决这个问题,我必须通过以下方式将第一个分区标记为“bios_grub”分区。此分区以后不能再用于其他用途!它不保存启动映像,而只保存启动管理器。

前:

$ grub-install /dev/sdb
Installing for i386-pc platform.
grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.
grub-install: error: embedding is not possible, but this is required for cross-disk install.

后:

$ grub-install /dev/sdb
Installing for i386-pc platform.
Installation finished. No error reported.

答案3

我也是迟到了,但为了其他人的利益,我刚刚在配置为从 GPT 磁盘进行 EFI 启动的 Ubuntu Server 18.04 机器上遇到了同样的错误。

简单来说,有两种启动模式(BIOS 和 EFI)和两种磁盘分区方案(MBR 和 GPT)。BIOS/MBR 来自“旧”时代,EFI/GPT 是当前流行的。GRUB 安装在 (a) MBR 格式磁盘的启动扇区中;(b) 对于 BIOS 模式系统,安装在 GPT 格式磁盘上一个小型(<1 MiB)未格式化的“BIOS 启动分区”中;(c) 对于 EFI 模式系统,安装在 ~512MiB vfat/FAT32 格式的 EFI 系统分区中。

看起来好像 OP 有一个带有 GPT 磁盘的 BIOS 模式系统。

我的情况是带有 GPT 磁盘的 EFI 模式系统,但我遇到了同样的错误。

问题是 GRUB 也有两种形式,一种用于 BIOS 模式系统 (grub-pc)(i386-pc),另一种用于 EFI 模式系统 (grub-efi)(x86_64)。前者已安装,而后者未安装。缺陷是 (a) 错误不合适,因为系统以 EFI 模式启动到 GPT 磁盘;(b) grub-install 坚持要求设备规范 (例如, /dev/sda)(当它出现错误时会抛出上述错误)但在 EFI 模式系统上执行时不会出现错误。一旦确定问题,修复就很简单了:

# apt install grub-efi
# update-grub
# grub-install

希望这可以为其他人节省一些时间。

相关内容