About a couple months ago, I found out my SSD drive had 13% life left. It's been used for a year as the system drive of my file server. I also have a Hyper-V virtual machine, which virtual hard drive (VHD) is on the same SSD on a different partition.
In hindsight, that was a very bad idea. The guest OS does not know the VHD is an SSD, and thus does not make any provisions such as using TRIM on it. It led to a very short life. I new the risks, but I didn't think it would shorten its life that bad!
So a few days ago, I finally decided to move over to a mirrored RAID of two 500 GB laptop drives. The reason I went with a SSD was for power consumption and performance, so I decided laptop drives would help on power consumption side, and RAID 0 (mirror) will help with read performance while maintaining some kind of failsafe redundancy.
How it Works
Moving Windows to a drive on a different disk controller is like replacing the very floor you're standing on. It's doable, but very tricky.
It doesn't matter if you're moving from a single drive to RAID, or if you're simply moving from a Silicon SATA controller to an Intel controller. The concept is the same. Windows is standing on the controller driver from when it was first installed.
Unlike other hardware, where you can change the driver at will, the drive controller is what holding up your hard drive. And from there, your hard drive is holding up Windows. When you just move your hard drive to a new controller, Windows will not recognize it, and therefore won't boot. You might go into a rebooting cycle of doom.
So how do we get around this?
In my case, my RAID controller wasn't another physical controller. That would be too simple. No. My current SATA controller can be set as a RAID controller, and Windows sees it as two completely different controllers! Like Superman, Clark Kent can't exist in the same room.
You need to have a driver installed for the new controller. In my case, I had to install the RAID driver first. This is also tricky. You cannot install a driver for a hardware that does not exist. After all, if Clark Kent was here, I couldn't fit a suit for Superman. Okay, well, you get the idea.
If you were simply moving from one controller to another on the same PC, it's easier. The other controller is already installed on the same PC, and therefore, if you install the correct driver for it, you can simply move the drive over to the new controller.
In my case, I was on the Intel controller that's built into the 965 Express chipset (ICH8R). Depending on how you set it in your BIOS, it can act as a standard SATA AHCI controller, a legacy EIDE controller, or a RAID controller. Even though it is the same hardware, each of those controller settings require a different driver. Ouch!
Here's the solution. First, a list of what we need:
- Intel RST driver (download from Intel's site)
- 2nd disk controller (I used a Silicon Image controller)
- 2nd disk controller driver (download from Silicon Image's site)
- Hard drives for the RAID volume (buy from NewEgg or Amazon)
- Disk cloning software (Symantec Ghost, TrueImage, etc)
Here's what I did:
- Download the Intel Rapid Storage Technology (RST) driver/software (formerly known as Intel Matrix Storage Manager).
- Install a 2nd drive controller (my motherboard had a Silicon Image controller built-in).
- Install the driver for the 2nd drive controller. Make sure it shows up in Device Manager.
- Shut down Windows, move the hard drive to the 2nd controller.
- Go into BIOS and change the Intel Controller type to RAID.
- Boot into Windows that's now on the 2nd controller.
- Windows will detect a new RAID controller. Install driver (RST in my case). Make sure it shows up in Device Manager. Shut down Windows.
- Install your new hard drives for the RAID volume on the Intel controller.
- Boot up your PC, and get into the Intel RAID configuration (for me, I had to hit CTRL-I when prompted).
- Set up your RAID volume. For me, I wanted a RAID 0 mirror volume.
- Use your disk cloning software to clone the single drive on your 2nd controller to your new RAID volume on your 1st controller (which is now a RAID controller - YEAH!)
- When done, remove the single hard drive and see if your PC will boot from the RAID volume.
You might need to repair the boot partition or sector using the Windows install CD (repair the start up, but do not do a repair install!).
I was able to move Windows from a single failing SSD to a RAID 0 mirrored volume on the same Intel controller that's built into the chipset of my motherboard.
Now some may ask why would you want to go through all this trouble if you had to buy a 2nd controller that probably has RAID functionality. I guess you can do that, too. However, I didn't want any extra hardware (I could remove the 2nd controller after I'm done), and I wanted the built-in Intel controller as my RAID controller for my system drive.
If you don't already have a 2nd controller, you can buy one for around $20 or less (heck, check out eBay and Craigslist for even less). You can also try to put the single hard drive on a SATA-to-USB device, but I'm not sure if Windows would boot from a USB controller, but you'd have to buy THAT if you didn't have one laying around (or maybe use an external drive enclosure).
Again, there is simply no way of replacing the floor you're standing on without a temporary platform to stand on while you work.