我有一块基于 Intel H170 的华硕 H170 PLUS 主板,支持 Intel FakeRAID。连接了两个相同的 Seagate 1TB 硬盘,我想在上面安装 ArchLinux 2015-12-01。这块主板上的 UEFI BIOS 非常用户友好,并且了解到 Linux 目前开箱即用地支持 Intel FakeRaid 硬件(使用 mdadm),我继续通过 BIOS 菜单使用这两个磁盘创建了一个 RAID1 卷。
每当我在 Arch 的实时 USB 上启动时,我都可以看到 Linux 会自动识别、创建和组装一个可通过 /dev/md126 访问的 RAID 镜像 (RAID1) 卷。我可以使用 GPT 对此设备进行分区,对其进行格式化,然后使用 gdisk 和 parted 对其进行读取/写入。经过更深入的调查,我可以看到所有这些更改都同时应用于 /dev/sda 和 /dev/sdb。
然后我的磁盘被格式化如下:
部分。大小标志文件系统挂载点 1.512MB [ESP,BOOT] FAT32 /boot 2. 100G ext4 / 3. 50G ext4 /tmp 4. 32G 交换 5. 休息 ext4 /home
我对 /dev/md126 执行了这些操作,并且 mdadm 驱动程序完美地在 sda 和 sdb 上创建了相同的东西。
现在我的问题是,是否可以将 GRUB 指向位于任一磁盘上的启动分区,并以某种方式使内核执行与实时 USB 相同的自动 RAID1 配置,但使用磁盘安装?因为每当我完成安装并完成 GRUB 安装时,我似乎都无法使引导加载程序与 /dev/md126 等 RAID 设备条目一起工作!当然,我不知道如何让 GRUB 理解有一个 RAID 卷。因此,只有 /dev/sda2 或 /dev/sdb2 适用于启动条目。从 sda 或 sdb 启动似乎不会自行初始化任何 RAID1 卷![虽然它对新手非常友好,我不必将 BIOS 设置从“RAID”更改为“AHCI”即可使其从 RAID1 阵列的各个磁盘启动。]
如果有人能给我提供一份指南,其中提到如何使用 linux 和 mdadm 从 RAID1 上的启动分区进行安装和启动,我将不胜感激。
关于如何使用软件 RAID 进行此操作,有很多有用的指南,但我目前找不到适用于英特尔硬件 RAID (FakeRAID) 的指南。我也不想使用 LVM,所以我只需要知道是否可以配置一些东西,以便有一个两个完整磁盘上的单个 RAID1 卷,这将允许我使用 GPT 和多个分区。
据我所知,必须声明 Intel Matrix RAID 卷,这会占用 GPT 所需的超级块,因此在启动时linux 只能识别 Intel RAID 卷或 GUID 分区表,但不能同时识别两者?如果我的理解有误,请纠正。
很抱歉没有提到确切的错误代码(因为我是根据记忆发布的所有内容,目前无法访问机器)。但如果它与解决问题有关,我很快就会在这里发布更多详细信息。我只是认为专家可以看穿我的天真,快速发现我做错了什么:我肯定把本来很简单的事情复杂化了!