我喜欢在 GPT 软件 raid 3 TB HDD 上设置 grub2。
Number Start (sector) End (sector) Size Code Name
1 2048 1050623 512.0 MiB FD00 Linux RAID
2 1050624 5860533134 2.7 TiB FD00 Linux RAID
第一个分区是启动分区,第二个分区是 LVM。启动后,我安装了 grub2,但因“缺少 BIOS 启动”而死机。但由于软件 raid,我无法将分区 1 更改为 BIOS 启动分区,对吗?
如何解决这种情况?
信息:Debian Wheezy x86_64
错误:
/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 for cross-disk install.
答案1
即使使用 GPT,您仍然能够在驱动器 (/dev/sda?) 上安装 GRUB,请尝试以下命令:
# grub_bios-install --boot-directory=/boot --no-floppy --recheck --debug /dev/sda
# grub-mkconfig -o /boot/grub/grub.cfg
它应该能让你安装一个可以工作的 GRUB。不过,你可能需要调整 GRUB 配置文件中的某些选项,才能让 grub 达到你想要的效果。
在传统 BIOS 机器上,您需要一个“BIOS 启动分区”,它在驱动器上可能只有 30kb 那么小,这是存储 GRUB 启动过程的第 2 阶段所必需的。
要创建此 BIOS 启动分区,请执行以下操作:
可以使用多种不同的磁盘实用程序创建 BIOS 启动分区:
在 GParted 中,创建一个分区(未格式化的分区也可以),然后右键单击它并选择管理标志。检查 bios_grub 标志,单击关闭,然后应用您的更改。
在 GNU Parted (parted) 中,创建一个分区,然后键入 set 1 bios_grub on,将 1 更改为您想要标记为 BIOS 启动分区的分区编号。
在 GPT fdisk (gdisk) 中,创建一个分区并赋予其类型代码 EF02。
来源:http://en.wikipedia.org/wiki/BIOS_Boot_Partition_%28GPT%29