Using WindowsXP to Make RAID 5 Happen

There is a wide choice of hard drives from established players such as Hitachi, Maxtor, Seagate and Western Digital. For home or office use, a single disk is usually sufficient. But for enterprise networks, a cluster of several disks is often essential. The only problem is that these so-called RAID arrays are not exactly cheap.

Many motherboards have already built in RAID controllers, but not all of these are suitable for fileserver applications. Most of them only support the simple modes 0 and 1, and the combination of both called RAID 0+1 (striping & mirroring). While high capacity as well as outstanding performance can be accomplished by RAID 0, the risks of losing data due to a broken drive multiples by the amount of drives likewise. A happy medium between performance and data security can be achieved by a RAID 0+1, mirroring two RAID 0 arrays. The only downside is that the net capacity will be split in half.

If high capacity is first priority, the common option is a RAID 5, which distributes data to all array members and adds rotating parity information, too. The net capacity of the whole array is the sum of all drive's storage minus the capacity of one single drive. However, this solution is not as simple as it seems. Calculating the parity information as well as the real time reconstruction of data in case of a defective drive requires a lot of CPU performance. This forces the user to either buy a pretty expensive RAID controller with a built-in XOR unit, or to rely on a cheaper model that burdens the CPU with the XOR calculation.

So, why not use the RAID 5 software option? If the budget is tight and the usage of a simple RAID controller without the XOR unit is a possibility anyway, software based RAID 5 might be an equivalent choice. RAID 5 that Windows Server offers can include all existing drives, rendering a RAID 5 controller unnecessary. However, if you only need file services, not even the expensive Windows Sever license is needed, since WindowsXP is capable of sophisticated RAID functions after only a few modifications.

This thread is closed for comments
    Your comment
  • Can I grow an array made this way? That is, add another disk without having to lose the data currently held on the raid?
  • op365
    From past experience with Hardware RAID, you would have to first backup your data and then break the RAID and put in the higher capacity drives and create a new container.
    The feature that you want/asking about is called X-RAID
  • micokeman
    I have used this hack and it works, but there are some problems that can occur. First of all, if you do this on SP2 and upgrade to SP3, XP will no longer see the RAID5 drives. Uninstalling SP3 allowed me to regain access to the RAID5 devices, but I would continuously get blue screens. After a repair of XP I no longer got blue screens, but I could also no longer see the data on the RAID5 drives. I suspect XP saw them as foreign drives and XP can't import foreign RAID drives!!! Yes, the hack works, but be aware that a service pack upgrade might render the data inaccessible.
    For those of you wondering, I was able to get my data back by installing Server 2003 and importing the RAID5 drives. No data lost, WHEW! You can also use a trial Windows Server 2003 to access your data for 30 days. Get the download from here.
  • This works with SP3 and also with the x64 version of XP.

    To get it to work with SP3, you just have to redo the changes above.

    To get it to work with x64, just locate those same strings in the files and apply the changes. Notice how the changes are only swapping the locations of the words SERVERNT and WINNT. I'd post the exact changes here, but it would take forever to type out all of those hex values. UltraEdit doesn't seem to allow one to copy the hex data to the clipboard.
  • I have also notice the problem when upgrading to SP3 that the RAID no longer works. Even after changing the files (dmboot.sys, dmconfig.dll, dmadmin.exe) on the SP3 release I still could not get RAID to work correctly. I have taken the 3 files from a system running SP2 and copied them to the system running SP3. It looks like the SP2 files work on SP3 but I have only had the system running for about a week.
  • SlAoTkAiN
    I was lucky and installed sp3 and then used the hack and got a the raid working. The only problem I'm seeing is that XP doesn't start up the raid at boot. I have to go into manage and re-activate the drive. Anyone have any suggestions?
  • I got it working again after migrating from sp2 to sp3, but I have to go into manage and re-activate the drive every time I reboot.
    Anyone has a solution for this?
  • tiborakos
    After spent a week wondering what went wrong with my XP SP2 raid5 setup...i fell into this, and remembered i hd installed SP3 as well!!!
    Is there a way to get those SP2 files from somewhere please? Else i think i might try the server2003 solution.
    As for the "re-activate the drive every time I reboot" it has happened to me in my old PC after the mod, but could not find a way to solve it
  • cwilk
    I am lost with the hex editing. I tried a fix from Randem Systems but that doesnt work. Anyone have a copy of the files i can get?
  • tiborakos
    Cannot help with the files unless you want mine. btw, i managed to get the Raid5 volume working again, after uninstalling SP3 and getting back to SP2.
    What if i copy the files, install SP3 again and just replace them with the current ones? Do you think it might work? Or i will end up needing "reactivate the drive every time i reboot" ?
  • cwilk
    I was able to edit the hex. Rebooted into recovery console, copied files over and went into Disk Management and I got an RPC Server is unavailable error. Rebooted back into recovery console, copied originals over and I still get the same error. Any suggestions?
  • I installed SP3 some time ago, and it killed RAID5 for me. Due to code changes in dmconfig.dll & dmadmin.exe (can see in WinMerge), you need to open the newest (sp3) files in a hex editor (I used FlexHex) and make changes to the new files. This time the offsets (where in the file you need to edit) are slightly different for two files, due to the new M$ code. I would not recommend using the older sp2 files after sp3 upgrades.

    When I did this, I can boot fine, it recognized the array automatically (as healthy too - no rebuild needed), and I do not have to start it or anything.

    dmboot.sys starting at offset 00011070h, the hex between brackets are the only bytes you need to change:
    00011070h: 54007900 70006500 0000[5345 52564552
    00011080h: 4E545749 4E4E5400 0000]0000 00004C41

    dmadmin.exe starting at offset 00001C38h, the hex between brackets are the only bytes you need to change:
    00001C38h: [77696E6E 74000000] 00000000 6C616E6D

    dmconfig.dll starting at offset 00005140h, the hex between brackets are the only bytes you need to change:
    00005140h: 4C414E4D 414E4E54 00000000 [57494E4E
    00005154h: 54000000] 00000000 53455256 45524E54

    Note the new offsets for all but dmconfig.dll. Don't forget to backup files you mod (before and after).

  • tiborakos
    Nice, but now that i uninstalled SP3 and raid5 works, i am thinking twice if i need to go to SP3 and do the mod again...
  • hi,
    i have this solution working but there are major problems. My data transfer speeds have really really slowed down. Another issue is that whenever i reboot it shows that the array is rebuilding again. please help
  • velcro39
    I would like to have seen the benchmarks include a single drive. I want to go to RAID 5 but if there are no speed improvements I might not bother. I already back-up and limited down-time to restore a back-up is not a concern of mine.

    Anyone have any benchmarks to confirm?
  • It is work-ing just fine on xp sp3, as long as yo edit the sp3 files not the sp2 and paste them over. Tested raid-5 on 3 X 500G sataII.
  • tripperdan99
    excellent, thanks. Obviously one would keep the files on ready for updates and also BACKUPS
  • jonfleck88
    I just finished a complete tutorial on how to do a software RAID 5 on SP3 and make it network accessible on Mac OS X, Linux or another Windows machine. I have provided download links to the modified files so there is no need to worry about using a hex editor. Enjoy.
  • anon_lynx
    I don't see anyone posting a fix for the problem of Windows XP breaking the mirror for RAID 1 on reboot as first reported by SlAoTkAiN 09/13/2008 3:21 AM. I can confirm that problem. How Serious is this? Is the mirror valid in every other way? Has anyone tried recovering from a mirror using this hack?