使用 BIOS 设置但使用 GPT 分区表(由于 3 TB 磁盘)?

使用 BIOS 设置但使用 GPT 分区表(由于 3 TB 磁盘)?

如何在具有 BIOS 但没有 (U)EFI 的系统上使用具有 GPT 分区表的磁盘?

我有一个带有 3 TB 驱动器的系统(没有其他驱动器,因为这是远程机器我在这里没有选择)并且出于显而易见的原因使用 GPT。Ubuntu 12.04 正在引导到系统上,到目前为止一切正常。现在,在绑定安装之后/dev/proc/sys主机进入目标系统并chroot进入它,我安装了linux-image-server它,它工作正常(在链接/sbin/initctl为之后/bin/true)。因为这是一台远程机器,所以我必须通过 SSH 完成所有这些操作,并且没有可启动 CD 或任何东西。但是,如果它失败了,我可以启动到救援系统(PXE)。

现在我知道它grub2应该支持这种场景,但我无论如何也想不出如何安装它。

引导(和根)设备将由和/dev/md0组成,处于 RAID 模式 0。安装在 下后,我正在运行:/dev/sda1/dev/sdb1/dev/md0/target

grub-install --root-directory=/target --no-floppy /dev/sda

失败的原因如下:

/usr/sbin/grub-setup: warn: This GPT partition label has no BIOS Boot Partition; embedding won't be possible!.
/usr/sbin/grub-setup: error: embedding is not possible, but this is required when the root device is on a RAID array or LVM volume.

那么我该如何grub2安装才能让这个基于 BIOS 的系统正确启动呢?

笔记:无论我在环境内部还是外部运行它chroot,错误和输出都是相同的。可能是因为我将等绑定/dev到位。当然,对命令行 (no --root-directory=) 进行了适当的调整。

答案1

您需要在磁盘上创建一个 bios_grub 分区。您可以通过parted在分区上设置 bios_grub 标志来执行此操作。1 MiB 就足够了,但它需要位于磁盘的较低 2TiB 中。

相关内容