OK, this procedure took me way longer that I thought to come up with and test. I hope this works for you.
Please read through the entire procedure before proceeding. Make sure you understand what you're doing at every step.
RAID 5 to RAID 10 Migration Procedure
Initial Conditions
- Intel D945 system board w/ ICH7R south bridge
- 4-drive RAID 5 on the ICH7R
- Working XP64 installation on a 10GB partition on the RAID
- 100GB partition (D: drive) on RAID holding ~40GB of data
Final conditions
- Same installation of XP64
- RAID 10
Restrictions
- No additional money can be spent
- No additional hard drive space available
- No commercial utilities available
Assets
- Floppy drive
- USB Flash drive
- Internet connection
- CD-R recorder with blank CDs
Caveats and Warnings
1. I was incorrect, my motherboard at work is a DG965WH, not a DG945NT. The 945 (your board) has an ICH7R south bridge, while the 965 (my board) has an ICH8 south bridge. They each use a slightly different version of the Intel Matrix Storage Manager. Thus, the instructions I'm giving here may not exactly correspond to your versions, and thus, I can't say for sure that this procedure will work on your machine. I believe it will, as the ICH7R and the ICH8 are very similar, the main difference being USB support (8 ports vs. 10), number of SATA ports (4 vs. 6).
2. This procedure is risky. Data loss can result. You may end up needing to rebuild your array & reinstall Windows from scratch if something goes wrong. If you have any data that you cannot afford to lose (financial files/records, pictures, etc.) burn them to CD-R or DVD-R before continuing.
3. I did try this exact procedure as written, step by step, on the hardware I indicated, and it worked. If it doesn't work for you, sorry, but I can't take any responsibility for that. There's a million things that I don't know about your system that could affect this procedure. So, in short, caveat emptor/buyer beware.
4. On my motherboard, the SATA ports were labeled on the motherboard (in white lettering) with one set of numbers, but the Intel Matrix Storage Manager (both the ROM utility and the Windows Management console) labeled them a different set of numbers. SATA port 0 was consistent between the two, but the other ports' numbering was off.
Be aware of this when looking at lists of drives in the Intel Matrix Storage Manager. If Intel Matrix Storage Manager is telling you that port 3 is a non-RAID drive, that may not be the port that is labeled "port 3" on the motherboard. For this reason, the important single drive that's going to be our pivot point for this migration is ALWAYS going to be in port 0.
Preliminary
1. Shut down your system, pull the floppy drive from another system and install it in yours. If necessary, go into your BIOS and make sure the floppy is enabled. Start your system back up, boot into Windows.
2. Make sure you have the correct version of Intel Matrix Storage Manager installed (go to Intel's web site, go to the drivers section for your motherboard, and download it and install it if you haven't already). This procedure depends highly on having the Intel Matrix Storage Manager installed. (I mean the full Windows installation of the Intel Matrix Storage Manager, with the console & everything. Not just the driver.)
3. Download Active@ Killdisk from
http://download2.lsoft.net/killdiskfloppysetup.exe. Double-click on the downloaded .exe file to create a boot floppy for Active@ Killdisk. Set this aside.
4. Download Terabyte Unlimited's CopyWipe for DOS utility from
http://www.terabyteunlimited.com/downloads/copywipe.zip. Unzip this file into a folder on your hard drive. Inside the folder is a utility called makedisk.exe. Double-click that to run it, select all defaults, select drive A: to make a floppy disk, insert a blank floppy, and create it. Once the floppy is made, set this aside.
5. Run Windows Explorer. On your data drive (the 100GB partition you have that's holding ~40GB of data), rename it to "Data 1". (Right-click the drive, select Rename).
6. Run Computer Management (right-click My Computer and select Manage). Go to Disk Management.
7. Create a new partition on your unpartitioned space by right-clicking the unpartitioned space and choosing New Partition. Create a 55GB partition (it wants the partition size in megabytes, so enter 55000), make it a primary partition, accept the drive letter default, and name it "Data 2". Make sure and check "quick format". Wait for the partition to appear in the top section of Disk Management, and it's status to change from "Formatting" to "Healthy".
8. Exit Computer Management. Run Windows Explorer. You will see your 100GB partition that has about 40GB of data on it (named Data 1), and the new 55GB partition (named Data 2) which is empty. Copy all 40GB of your files from Data 1 to Data 2.
9. When the copy is finished, close Windows Explorer, open Computer Management, go to Disk Management. You will see 4 sections of your hard disk: A 10GB partition (C: ), a 100GB partition (Data 1), a 55GB partition (Data 2), and some free space. Right-click Data 1, and select Delete Partition, select yes.
10. You will now see 4 sections of your hard disk: A 10GB partition (C: ), 100GB of free space, a 55GB partition (Data 2), and some free space. Right-click the 100GB of free space, and select New Partition. Create a 55GB partition (it wants the partition size in megabytes, so enter 55000), make it a primary partition, accept the drive letter default, and name it "Data 3". Make sure and check "quick format". Wait for the partition to appear in the top section of Disk Management, and it's status to change from "Formatting" to "Healthy".
11. Exit Computer Management. Run Windows Explorer. You will see your 55GB partition that has about 40GB of data on it (named Data 2), and the new 55GB partition (named Data 3) which is empty. Copy all 40GB of your files from Data 2 to Data 3.
12. When the copy is finished, close Windows Explorer, open Computer Management, go to Disk Management. You will see 5 sections of your hard disk: A 10GB partition (C: ), a 55GB partition (Data 3), some free space, a 55GB partition (Data 2), and some free space. Right-click Data 2, and select Delete Partition, select yes. The purpose of this whole exercise was to reduce the size of your data partition such that the combined partition size of the boot partition and the data partition is less than 80GB (the size of one of your drives).
13. You should now see 3 sections of your hard disk in Disk Management: A 10GB partition (C: ), a 55GB partition (Data 3), and some free space. Close Computer Management.
Procedure
1. Shut down your machine, disconnect any external drives or USB flash drives from the machine.
2. Open your case, you will see your 4 hard drives.
3. Disconnect 3 of them from the SATA connectors on your motherboard,
mark which port each SATA cable goes in. We have to put them back the same way later. Leave one drive connected in the port marked "SATA 0".
4. Restart the machine, go into the Intel Matrix Storage Manager ROM by hitting Ctrl-I during the system POST.
5. Intel Matrix Storage Manager ROM will show one drive connected, and the array as "Failed". Delete the array using the menu option. Once the array is deleted, the disk will now show as a "Non-RAID" disk.
6. Restart the machine, start up from the Active@ Killdisk floppy. (Go into your BIOS and change the boot order if you need to so that the floppy is the first device in the boot order).
7. Once Active@ Killdisk is running, select the one lone hard drive and hit F10. (It will be listed as "Hard Disk Drive (80h)". Don't select any partitions that appear under it -- select the entire drive).
8. Once you hit F10, it will present you with a menu of options. Use the down arrow to go to the last option (leave all the rest at the defaults) and select "Confirm and Erase".
9. Type "erase-all-data" and hit enter. Killdisk will begin to erase the drive. This is necessary to wipe out all the RAID structure and partition information.
10. You do not have to wait for the process to complete. Allow killdisk to wipe the drive for about 3 minutes, then hit Escape to stop it. Once it stops and goes back to the main menu, hit Escape again to exit.
11. Once you're back to a DOS prompt, power off the machine.
12. Reconnect your other 3 hard drives to the same SATA ports they were connected to in step 3.
13. Power on the machine, go into the Intel Matrix Storage Manager by hitting Ctrl-I during the system POST.
14. When the Intel Matrix Storage Manager ROM starts up, it will show the array as "Degraded", and will also detect the now blank hard drive, and automatically ask you if you want to rebuild the array. Hit Escape to cancel the rebuild, we do NOT want to do this.
15. You should see 4 drives connected, 3 that are array members and one non-RAID disk. The array should show as "Degraded".
16. Hit Escape to exit the Intel Matrix Storage Manager ROM, and boot the Terabyte Unlimited Copywipe for DOS floppy. (Go into your BIOS and change the boot order if you need to so that the floppy is the first device in the boot order).
17. When Copywipe starts up, you'll be at the main menu. Select Copy a Hard Drive.
18. The next menu is the source drive selection. Select the first option, BIOS HD.
19. The next selection should show 2 hard drives in your system, hard drive 0 and hard drive 1. While hard drive 0 is highlighted, press F6. This will show you the partitions on that hard drive, which is how you will properly identify it. Your degraded RAID array should show a 10000 MB partition (boot), a 55000 MB partition (Data 3), and free space. If the partitions look correct, hit Escape, and then select Hard Drive 0. If the partitions don't look correct, hit Escape, and then highlight Hard Drive 1 and hit F6 and see if they look correct. Whichever hard drive is your degraded RAID array, that's the one you want to select.
20. The next selection that comes up asks for the target drive selection. Select the first option, BIOS HD, and from there this is the same process. You'll select the lone non-RAID 80GB drive, which should be blank and not have any partitions on it, since we erased it with Killdisk. If perchance there happens to be any residual partition information on it, you can delete the partition by hitting F4. Do that if you see any residual partitions, but be careful and DON'T erase any partitions on your array. (Look at the free space listed in the partition list to tell which drive is which. The array should have >100GB of free space, the 80GB will have at maximum, 80GB).
21. After you select the correct target drive (the non-RAID 80GB), you'll then get the Options menu. Select Straight Copy. Copywipe will then proceed to copy your partitions from the degraded RAID array to the non-RAID 80GB.
22. When the copy finishes, hit Escape to exit the program. Power off the machine.
23. Unplug the 3 drives that comprise the degraded RAID 5 array (the same 3 you disconnected back in step 3 and reconnected in step 12). Leave only the non-RAID drive connected to SATA port 0.
24. Power on the machine, boot to Windows to make sure it works. Everything should be exactly the same as it was when it was booting off the RAID array.
This is your abort point. Up to this point, we can back out of this procedure and return to a working RAID 5 by erasing the lone 80GB, connecting all 4 drives back up, booting the degraded array, and telling Intel Matrix Storage Manager to do a rebuild. So make sure everything is cool at this point. Once you continue past here, you're committed.
25. Shut down the machine. Unplug the non-RAID 80GB from SATA port 0. Reconnect the other 3 drives as they were connected before.
26. Power up the machine, go into the Intel Matrix Storage Manager ROM by hitting Ctrl-I during the system POST.
27. Delete the degraded RAID volume using the menu. After the deletion, all 3 drives should show as non-RAID disks.
28. Exit the Intel Matrix Storage Manager ROM by hitting Escape, then power down the machine.
29. Connect the non-RAID 80GB back to SATA port 0. Power up the machine, and see if it boots into Windows.
30. If it doesn't boot into Windows, it's because one of the now-blank drives is set to be the boot drive instead of the 80GB drive that has your partitions on it. You'll need to go into the BIOS to make sure the 80GB you just reconnected is set as the boot drive. However, since all the drives are the same model (Seagate 80GB), they all look alike in the BIOS, so you may have to repeatedly try to change the boot order one drive at a time until the correct drive is at the top. Fortunately, since the drive that we want to be the boot drive is in SATA port 0, this shouldn't be necessary, the machine should put that drive at the top of the boot order by default.
31. Once back in Windows, run Intel Matrix Storage Manager from the Start Menu.
32. Select the Intel RAID Controllers node at the top, and then on the Actions Menu, do Create RAID Volume from Existing Hard Drives.
33. Click next, give the volume a name (I chose "RAID10"), select RAID 10 as the RAID level, select 64K as your stripe size, click next.
34. It then asks you which hard drive is the one we're preserving. Select port 0 and then click next. (I recommend you verify the given serial number of the drive that it says is in port 0 with the physical drive you know is the one holding your partitions - the one plugged into port 0. It is imperative that you select the correct drive here).
35. It then asks you to select member hard drives that will become part of the new RAID array. Select the other 3 drives and click Next.
36. It then asks you the volume size, keep the default of 100% and click next.
37. Click Finish, and it will then say a RAID migration is in progress. The migration will take a few hours.
38. After the migration finishes, you'll need to reboot. At that point, go into the BIOS and make sure the new array is set as the boot device.
That should do it. You're back to a RAID 10.
Optional:
You can extend the size of your data partition back to 100GB (or more) if you want at this point using the Windows DISKPART command-line utilty. If you want to do this, post back and I'll post the procedure.
As far as your other question about moving this RAID when you get a new motherboard: If the new motherboard has a different chipset, then not it won't work at all. If the new motherboard has an ICH7R or ICH8, it might actually come up.