使用 Linux 将 Windows XP 从 ICH10R RAID 5 移至单个磁盘

使用 Linux 将 Windows XP 从 ICH10R RAID 5 移至单个磁盘

一位朋友的计算机运行 Windows XP,最近无法启动,该计算机运行 3 个 SATA 磁盘,采用 RAID 5(之前不是我升级的 RAID 1)。我确定是磁盘故障。过去几年中,磁盘已多次更换。我希望在尝试修复之前备份 RAID5 分区。使用的 RAID 芯片组是 ICH10R/DO。

因此,我插入了一个额外的 IDE 驱动器和一个 Ubuntu USB 密钥,然后查看了 RAID。分区很乱,但我确实找到了至少一个性能下降但可以正常工作的 RAID 阵列,它有两个分区,一个 79GB,另一个 86GB。

然后我:

1) 使用 fdisk 对我的 IDE 磁盘进行分区,使其具有 80GB 的可启动分区,并标记为 NTFS。

2)将数组的内容添加到分区

3)断开其他所有连接

4) 插入 Windows XP CD 并运行 fixboot、fixmbr 和 bootcfg。它们都运行正常并声称它们已经工作。(例如 bootcfg 检测到 Windows 分区,fixboot 返回说它已正确写入。)

但是,我仍然收到类似“磁盘故障,未找到启动磁盘”的错误。

我尝试运行 GRUB 救援盘,它也能正常运行,但无法启动 Windows。在 chainloader +1 启动后,它只是停止并显示闪烁的光标。

一个线索可能是分区看起来有点奇怪。一个磁盘在 500GB 驱动器上有一个 79GB 的 RAID 分区,并带有偏移,第二个磁盘在整个驱动器上有一个 320GB 的 RAID 分区。此外,BIOS 列出的 RAID 大小为 149GB。我不明白这是怎么回事。当分区如此不同时,他们如何组装阵列?

我也尝试运行 Windows XP 自动修复工具,但是也没有用。

我假设这很简单。也许 Windows 正在尝试启动 RAID,但在找不到它时就崩溃了?也许 79GB 的分区偏移量意味着它正在查看磁盘的偏移量?

请帮忙!!

澄清一下:我想使用阵列副本使单个 IDE 磁盘可启动,以便我可以证明/反驳 Windows 已损坏,并在尝试对 RAID 阵列执行相同操作之前使用 Windows 工具对其进行更正。这样,我就有了一个可用的备份,并且可以显示我用来修复它的过程。

答案1

事实证明,在这些类型的 RAID 中,设备被视为真实磁盘,而不仅仅是像软件 RAID 那样的一组分区。

fdisk -l 显示 RAID 阵列包含分区表,因此 dd 应该是从阵列到磁盘,而不是从阵列到分区。

例如

错误的:

dd if=/dev/mapper/MYRAID of=/dev/sda1

正确的:

dd if=/dev/mapper/MYRAID of=/dev/sda

令我惊讶的是,Windows 能够找到自己并且认为这没问题。

无论如何,现在我的 Windows 在从 RAID 复制的单个磁盘上启动。:-)

相关内容