设置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
等到位。 当然,已经对命令行进行了适当的调整(没有--root-directory=
)。
您需要在磁盘上创建bios_grub分区。 您可以使用parted
并在分区上设置bios_grub标志来执行此操作。 1 MiB就足够了,但它需要位于磁盘的较低2TiB。