Using RAID With Windows Home Server
Posted by Wade Burchette at 9:42 PM Hints and Tips
I have been working on a server for a business and needed to use a RAID 1 array. The problem I kept having was "Could not initialize UI subsystem" everytime I tried to install Windows Home Server (or WHS). When I tried to install without RAID, I had success. I spent much time searching for the solution. After much trial and error, I was finally able to find a solution that was actually not too dificult.
The WHS installation process has several steps. In the first step, the installation program formats the hard drive to prepare it for WHS. That was the part where I was getting the dreaded "Could not initialize UI subsystem" error. It is in this that you must enter your product key. This step looks a lot like the Windows Vista setup, even using the same background graphic as Windows Vista. The second major step is when the installation program takes the files created in step 1 and then creates the basic files and folders needed for the next step. This step looks like Windows XP and Windows 2000. (All this seemed strange, but it is what it is.) The next step takes those files from step 2 and prepares them and the registry so that WHS is ready to go. The last step takes a few key updates and installs them automatically. WHS is essentially a modified Windows Server 2003. The last step modifies the installation so that it is fully WHS. Knowing these steps will help you understand what I tried before succeeding.
First, I tried to install without RAID and then create the RAID 1 array. That didn't work. Without the RAID drivers, WHS would not start. The only way to get the drivers installed was to be in Windows. In other words, to get in Windows I had to get in Windows. That just won't work.
I then tried to install a copy of Windows XP so that I could start the WHS setup from Windows. Some installations of Windows allow you to start the install program within Windows. Unfortunately, WHS is one of those versions of Windows in which you cannot install from Windows. I had to install WHS from the DVD. That won't work either.
Next I tried to start the first step without the RAID 1 array and then make the RAID 1 array in the second step. However, in order for the second step to proceed successfully, I needed the RAID drivers installed from step 1. Even though in step 2 it allowed me to specify the drivers, it did not work. But this is close to the actual solution.
I also tried to slipstream the drivers and make my own WHS disc. But the WHS installation disc doesn't have files like on the other installation discs of Windows. That would be a very annoying process.
What I tried next, and succeeded in, was to use a hard drive not in the RAID array. I had a spare one lying around. I connected it and had the RAID 1 array built. Having that hard drive using the standard IDE interface allowed the WHS setup to get past that strange UI subsystem error. The hard drive was connected using the SATA port without the advanced AHCI features, but I could have just as easily used the old PATA port. As soon as I saw the setup introduction, I disconnected the IDE hard drive. The WHS setup froze for a little bit, but then resumed. It prompted me for the drivers to find a hard drive, which had to be on a USB drive. You cannot use a floppy drive. After the drivers were loaded, WHS recognized my RAID 1 array. The setup process continues without a hitch the rest of the way.
These steps may also be required if you are using SCSI hard drives. Of course, if you can afford SCSI disks you probably don't need WHS to begin with.
Why I chose to use the RAID array
I read a lot about not using RAID with WHS. Below will explain the reasoning.
For those that don't know, RAID stands for Redudant Array of Inexpensive Disks. There are several types of RAID. The four most common are RAID 0, RAID 1, RAID 5, and RAID 1+0. RAID 0 is when two or more hard drives are used in conjuction to make one big hard drive with the work spread equally across each hard drive. In the old days, this actually provided a huge boost in performace but now the overhead of RAID 0 does not offest makes it slower than modern hard drives. RAID 1 is when every single hard drive in the array is an exact clone of the other. What happens to one happens to all in RAID 1. RAID 5 is when the work is spread across multiple hard drives, like RAID 0, but with built-in error correction in case one hard drive dies. For this reason, RAID 5 requires at least 3 hard drives. RAID 5 is ideal when you need the safety of RAID 1 but need the operating system to see a bigger logical hard drive than what you can buy. And RAID 1+0 is a combination of RAID 1 and RAID 0.
For my server, I used RAID 1. It is important to remember RAID 1 is not a backup. Do not think of it as a backup up. If you delete a file accidently, the change is reflected on all the hard drives. If you get a virus, you get a virus on all the hard drives. WHS has a built in system for backing up files when you have multiple hard drives. What WHS had is not a software RAID solution, as some have claimed. So by their logic, which was based on an error, using a hardware based RAID was dangerous. One Microsoft engineer wrote a long article talking about how bad RAID 5 is for WHS, but he failed to tell you that the Microsoft system actually had the same problems as RAID 5.
What RAID 1 provides is what is called redundancy. If one hard drives dies for any reason, the system will still operate without missing a beat. Then all you have to do is replace the hard drive without turning off the computer and you are good to go. RAID 1 protects against hard drive failure. The chances of two hard drives failing at the same time is very minute. I chose RAID 1 because I wanted this server to have as much up-time as possible. And that is the purpose of RAID 1 and RAID 5.