问题描述
我正在尝试在RAID 1设置上设置和安装Ubuntu。我有两个磁盘,sdb和sdc。我一直在关注这个指南
这或多或少都适用于安装所有设置和安装Ubuntu。问题是在安装结束时,它尝试安装GRUB。默认情况下,它会尝试我的”first disk”,它会提供”fatal error”。我试过在特定的部分安装它,例如sdb1以及RAID设备,例如md0,md1等。似乎没什么用。
实际的错误是
Unable to install GRUB in /dev/sdb
Executing ‘grub-install ‘/dev/sdb’ failed.
This is a fatal error.
然后我回到主安装菜单。如果我选择“在硬盘上安装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!正确的解决方案是在this blog entry。我将在下面总结一下。
在尝试安装GRUB的安装阶段,它将检测为
/dev/mapper
这是不完整的!这就是GRUB安装失败的原因。
您需要要安装的RAID阵列的实际名称。因此,在此步骤中,按ctrl + alt + F2以退回到busybox终端,然后输入
ls -l /dev/mapper
从显示的列表中选择阵列的名称,然后按ctrl + alt + F1切换回安装(您可以根据需要来回切换,没有任何问题)并在现场输入
/dev/mapper/{your array name}
然后GRUB安装完美,你准备好了,并保持适当的BIOS RAID阵列。
第三种解决方法
@ root45的配方略有变化让我走了(在Ubuntu-only系统上)。我没有制作Raid数组的可引导分区部分。
我创建了一个小的可引导GRUB分区(我选择了分区编辑器的选项:“use is ‘bootgrub’”或类似的东西)并没有使它成为Raid设备的一部分以及交换和数据(/)分区。
您可以随时将Grub2数据重写到’bootgrub’分区….实际上,安装过程将代表您在安装所有选定软件包后给出选择;或者在以后任何时候如果用grub-install /dev/sda损坏,将’sda’更改为您在上面的’step one’中使用的分区的设备将’用作”bootgrub”‘。
例如,如果您选择在LAMP服务器中安装许多软件包,在分区之前可能需要一段时间才会被问到将Grub2数据写入硬盘…以及它提供的默认值在我提供”bootgrub”分区的设备之前,时间导致了一个错误…一切正常,我现在有一个可行的系统。
参考资料