我有三个驱动器:两个 1TB 硬盘,一个 120GB SSD。我想在 SSD 上安装 Ubuntu(最好,但合理的替代方案也可以)和 Windows 7,并让它们都从其他两个驱动器读取作为镜像 RAID 对(RAID-1)。这些驱动器不要需要可启动,才能从两个操作系统访问(并且在两个操作系统上都正确镜像)。
我仔细查看了我的 bios,那里没有支持,我宁愿不出去买硬件卡。另一个 SU 帖子建议在 Windows 7 中将 1TB 磁盘设置为镜像卷,似乎暗示这样做就可以了,但 Ubuntu 完全忽略了这一点,似乎将驱动器显示为独立磁盘,而这些磁盘上恰好有同样的东西,这不是一个好的解决方案。
TL;DR:有人知道如何设置在 Windows 7 和 Ubuntu 上均可运行的软件 RAID-1 数据磁盘吗?
答案1
我最终找到了解决方案!步骤:
- 安装所有内容并使其在启动驱动器上运行。
- 进入 Windows 中的“管理工具”,稍微挖掘一下,找到磁盘管理部分。从那里,选择其中一个驱动器并将其设置为镜像到另一个驱动器。它应该要求它成为动态磁盘;这很好。它可能还需要格式化,这也可以。
- 进入linux并安装mdadm。
- 从那里,运行“mdadm --build /dev/md0 --level=1 --raid-devices=2 /dev/DRIVE1 /dev/DRIVE2”,用 Windows 创建的分区的 ID 替换 DRIVE1 和 DRIVE2。
- 尝试将 /dev/md0 挂载到某处,并确保它能正常工作(需要 NTFS 驱动程序,但我认为它们现在无处不在)
- 摇滚。
要在启动时执行此操作,您需要将 mdadm 命令添加到 rc.local 或类似命令。由于这是 NTFS,您会遇到分区问题,但您大多可以忽略它们。我只是将整个分区挂载为我的主目录,uid=me、gid=me、umask=0077,这非常有用。
本质上,通过这种方式,您构建了一个没有相关驱动器元数据的 RAID,它们恰好是同步的,并且每个操作系统都会尝试在运行时保持它们同步。这不是一个完美的解决方案:Linux 每次启动时都会检查两个驱动器以检查它们是否匹配,这似乎很浪费,Windows 可能也会这样做。尽管如此,它确实有效,并且如果任何驱动器发生故障(查找 mdadm,有很多方法可以判断,甚至可以让它给您发送电子邮件),您仍然可以拥有所有完好无损的数据。
答案2
我认为这是不可能的。为了使软件 Raid 工作,操作系统必须运行。如果您在 Windows 下将驱动器设置为 RAID,则 Windows 关闭时,这两个驱动器就只是两个驱动器 - 不再被 Raid,因为 Windows 驱动程序不管理驱动器。
为了实现这一点,您需要一个同时受两个操作系统支持的硬件控制器。