在 Windows 和 Linux 之间共享 Intel RST

在 Windows 和 Linux 之间共享 Intel RST

我有一块 Intel z68 主板,它使用 Intel 快速存储技术 (RST) - 版本 10.5。如果可能的话,我想将 RAID 1+0 RST 驱动器平均分配到 Linux 和 Windows 安装中,不带其他设备(热备用除外)。我知道 Linux 将 RST 驱动器与 dm-raid/md-raid 一起使用,并且 Windows 7 将 RST 驱动器识别为一个设备,但我不确定在一个操作系统中对设备进行分区/使用该设备是否会导致它在另一个操作系统中无法使用。

传统上,我使用 mdadm 在 Linux 中创建软件 RAID(没有基于固件的解决方案),但让 Windows 在不使用固件的情况下运行似乎是徒劳的。

  • 可以共享固件 RAID 吗?
  • 我应该先安装哪个操作系统?
  • 我需要在 Linux 中使用哪些实用程序才能实现此功能?

我将使用 Arch Linux(尽管这应该没什么区别)。

答案1

我做了一些研究,确实搞清楚了这一点——我讨厌人们把问题悬而未决,所以为了后人,我会解释一下。我读了英特尔的RST 文档。从本质上来说,以下情况对我来说是正确的:

  • Linux 和 Windows 仅当 RAID 是硬件 RAID 或固件 RAID(“FAKE RAID”)时才能共同占用 RAID
  • 完全基于硬件的通常在两个操作系统中都显示为单个设备,尽管有些允许基于固件的配置,因此类似于“假 RAID”
  • Windows 的软件 RAID 在正常启动时似乎是不可能的。
  • Windows 软件 RAID 会导致磁盘变成“动态磁盘” - 这对于 linux 来说很困难,因为这是一种 BS 状态 - 在了解到它与 linux 不能很好地兼容之后,我并没有阅读太多相关内容。

以下是我如何完成工作的:

  1. 因此,我使用 BIOS/UEFI 将 SATA 设备配置为 RAID,这导致 Intel RST 或 Intel Matrix 出现在启动过程中。
  2. 我在英特尔启动程序中配置了驱动器(RAID 1+0、4 个驱动器)。

    • Windows 7 为这些设备包含一个(单一)驱动程序,并在启动时将其作为单个驱动器处理(同时不使其成为动态磁盘)。
    • Linux 包含 2 个用于这些设备的驱动程序,dmraidmdraid( mdadm)。dmraid这是遗留的,实际上相当糟糕,但英特尔非常好心地除了 之外还支持它mdraid,因为它具有较旧的内核支持,并且仅由许多其他 FAKE RAID 制造商使用。两者都可以工作,但请记住,如果其中一个给您带来问题,另一个可能不会。
  3. 我将 RAID 分成两半。(一半用于 Linux,一半用于 Windows)。如果您使用 (G)Parted,您可能需要确保 RAID 是 MBR,否则 Windows 可能无法在设备上安装系统保留分区。有办法解决这个问题,我不会讲。我使用 GPT 并将系统保留放在单独的 MBR 设备上。

  4. 安装 Windows。先安装 Windows 可以更轻松地设置双启动,因为 Windows 引导加载程序可能会出于多种原因选择忽略您的 Linux 安装。
  5. 开始安装 Linux。使用 Arch Linux,我必须确保设备已加载,使用mdadmdmraid这是我使用的指南。通常设备是/dev/mapper/[FAKE RAID BRANDING]_[FAKE RAID ID]_[FAKE RAID NAME],其中品牌反映了假 raid 的品牌,在我的情况下是 intel,id 是生成的字符串(看起来像垃圾),raid 名称是您指定的名称(例如volume0)。如果您执行了双层 RAID 级别(RAID 1+0),则映射器中可能还会列出“子 RAID”。
  6. 确定 Linux 找到正确的驱动器后,您可以像安装普通磁盘一样安装到另一半。Arch 和其他“动手”安装可能需要向文件fstab或 GRUB 添加一些额外的 RAID 信息。
  7. 您现在可以使用 RST 工具从 Windows 管理 RAID,或者使用从 Linux 管理 RAID mdadm。(dmraid也可以……但它没有很多管理工具……只有创建工具。)

相关内容