如何在RAID系统安装上安装GRUB?

我正在尝试在RAID 1设置上设置和安装Ubuntu。 我有两个磁盘,sdb和sdc。 我一直在关注这个指南

https://help.ubuntu.com/community/Installation/SoftwareRAID

这或多或少都适用于安装所有设置和安装Ubuntu。 问题是在安装结束时,它尝试安装GRUB。 默认情况下,它会尝试我的“第一个磁盘”,这会产生“致命错误”。 我已经尝试在特定的部分安装它,例如sdb1以及RAID设备,例如md0,md1等。似乎没什么用。

实际的错误是

无法在/ dev / sdb中安装GRUB

执行’grub-install’/ dev / sdb’失败了。

这是一个致命的错误。

然后我回到主安装菜单。 如果我选择“在硬盘上安装GRUB引导加载程序”选项,我可以选择分区,但输入sdb2或md1会出现相同的错误。

所以我继续一个刚刚没有安装GRUB,这意味着现在我可能有一个工作的Ubuntu安装,但我无法启动它。 我尝试从LiveCD启动以安装GRUB,但我不能chroot到我的系统,因为它似乎没有认识到我的磁盘是Linux磁盘。 关于它是RAID分区有一个错误。

所以基本上我真的想知道你如何知道在安装时安装GRUB的设备,或者至少如何将它安装到我的系统上。

我想我还应该提一下,sda是一个Windows 7安装,我想保留,并能够在启动时访问。

谢谢你的帮助。

我的问题原来是我有GUID分区表,因为我的驱动器每个都是2TB。 我最初尝试遵循的方法没有假设这一点,因此安装GRUB不起作用。

相反,您应该在每个磁盘上创建一个小的(1MB)分区并将它们一起RAID并将其设置为GRUB启动分区(我不确定实际名称)。 设置其他RAID分区(例如swap和/),然后GRUB安装程序应该找到引导区域。

(在Debian上,这称为保留的BIOS引导区域 。)

这里的许多答案都很简单,告诉你禁用BIOS RAID! 正确的解决方案是在这篇博客文章中 。 我将在下面总结一下。

在尝试安装GRUB的安装阶段,它将检测为

 /dev/mapper 

这是不完整的! 这就是GRUB安装失败的原因。

您需要要安装的RAIDarrays的实际名称 。 因此,在该步骤中,按ctrl + alt + F2键退回到busybox终端,然后输入

 ls -l /dev/mapper 

从显示的列表中选择arrays的名称,然后按ctrl + alt + F1切换回安装(您可以根据需要来回切换,没有任何问题)并在字段中输入

 /dev/mapper/{your array name} 

然后GRUB安装完美,您就可以使用正确的BIOS RAIDarrays了。

@ root45的配方略有变化让我走了(在一个仅限Ubuntu的系统上)。 我没有制作Raid数组的可引导分区部分。

我创建了一个小的可引导GRUB分区(我选择了分区编辑器的选项:“use is’bootgrub’”或类似的东西)并没有使它成为Raid设备的一部分以及交换和数据(/)分区。

您可以随时将Grub2数据重写到’bootgrub’分区….实际上,安装过程将代表您在安装所有选定软件包后给出选择; 或者在以后任何时候如果使用grub-install /dev/sda损坏,将’sda’更改为您在上面’第一步’中使用的分区的设备,以’用作“bootgrub”’。

例如,如果您选择在LAMP服务器中安装许多软件包,则在分区之前可能需要一段时间才会被问到将Grub2数据写入硬盘…以及它提供的默认值时间导致错误,直到我提供了我的“bootgrub”分区的设备…一切都很好,我现在有一个可行的系统。

我现在无法帮助安装grub但是我为了让我的RAID运行而做的是我遵循了这条指令:

如何使用软件RAID1安装Ubuntu 8.04 HowtoForge – Linux Howtos和Tutorials并在每个raid分区上安装grub(而不是交换)。

当一个硬盘出现故障仍然有效时,这将非常有用。