如何在具有 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 中。