I had 2 HDDs in Intel Matrix RAID configuration on a motherboard with Intel southbridge ICH9R. I had a RAID 0 (Strip) volume and a RAID 1 (Mirroring) volume (Intel Matrix RAID allows you exactly that: having a RAID 0 and a RAID 1 volume on the same 2 HDDs).
Somehow when replacing my videocard I unplugged the power connector from one of the HDDs. When I booted only one disk was showing. So I turned off the PC and correctly plugged the power connector. But now both HDDs where there but showing as "Non-Raid Disk"
Under the BIOS RAID menu (you can enter this menu by pressing <Ctrl+I> after booting) the only choices I had where to create a RAID array, to delete a disk from the array or to reset it. No option to repair/recover/rebuild.
I tried many things like clearing CMOS, upgrading/downgrading BIOS version without any result, the disks kept showing as Non-Raid Disk.
So I installed Windows on a 3rd disk thinking that at least I’ll recover my data on the mirroring volume. But the mirroring partition wasn’t visible from windows. I tried all the partition recovery programs I could find but none of them could restore the Raid 1 partition. I found one program (DERescue Data Recovery Master) that could recover the files on this partition but not restore it. This was quite surprising because Raid 1 is supposed to be “safe”; if one of the disks is functioning correctly you should easily recover you data. And both disks where functioning correctly. I suppose that’s because of how Matrix Raid works; it keeps the information about the Raid configuration on the first volume and if the first volume fails everything fails. When configuring Matrix Raid the first volume should be the Raid 1 one.
So what to do? First, I played it safe and I buyed Data Recovery Master and recovered all my files on the Raid 1 partition.
Second, I went to Raid BIOS menu and tried to recreate the volumes using the same parameters as the first time I configured it (three years ago). I knew I had one raid 0 volume and one raid 1 volume but I wasn’t very sure about strip size or volume size. So each time I created the two volumes then used TestDisk under Windows to search for lost partitions then reinitialized the raid array and recreated the volumes with other settings.
When using incorrect strip size TestDisk didn’t found anything on “Quick Search” mode. When using correct strip size but incorrect volume size TestDisk managed to find some partitions on the strip volume but nothing on the second. With the right Raid settings it quickly finds all the partitions.
All the partitions where now visible but not bootable. I booted the Windows 7 install DVD and I choosed the repair option. It repaired the boot sector and I could boot Windows 7 I had on one of the partitions.
But still Windows XP I had on another partition wasn’t bootable. I launched EasyBCD under Windows 7 and configured the right drive letter for XP and everything worked like before…
Conclusions: If you are going to use Matrix RAID always:
- Create RAID 1 volume first and RAID 0 second
- Make sure you save your raid settings (strip size and volumes sizes) somewhere where you can find them later if your Raid gets reinitialized.