I just finished what I would consider to be an annoying hard drive replacement/upgrade on a Windows 7 desktop machine. The annoyance resulted primarily from the time writing and restoring large disk images, only to realize it didn’t work right, and then starting all over again.
(Most of that was admittedly my fault of course, but that fact didn’t make it any less annoying…)
My desktop machine is the PC that I have running RAID 1 (mirrored) drives.
The problem with RAID drives is that they have to be initialized as RAID drives. You can’t initialize a drive as non-RAID, put data on it, then convert it to RAID later. When you initialize the drive as RAID all data on it is lost.
Too bad I forgot that when I started the project…
I bought two 2 TB drives to be put into a RAID 1 configuration, to replace the two 1 TB drives I had already installed in a RAID 1 configuration that were getting full.
I thought about creating a RAID 5 array but as I wasn’t looking for increased performance decided to stick with my RAID 1 configuration. (I had run a RAID 0 (striped) drive configuration a while ago and couldn’t tell the difference in performance anyway then.)
At first I forgot about having to initialize a drive as a RAID drive, so I initialized one of the new 2 TB drives in Windows 7 and simply used Macrium Reflect Free Edition to write an image to it.
I discovered Macrium Reflect last year when I was cloning drives.
Drive imaging programs won’t let you write an image to the same drive you’re going to write the image to later (although you can write to a separate partition on the same drive). That means you need two new drives (or at least one new drive twice the size of the drive you’re copying) to copy/clone an existing drive; one to write the image to, and the drive the image will be written to.
After I created the image of the original drive with Macrium Reflect on one of the new 2 TB drives I wrote the image on it back to the other new drive with Macrium Reflect again.
But when I tried to boot Windows 7 off the new drive it wouldn’t work.
I got a “windows failed to start”, “file:windowssystem32winload.exe”, “status 0xc000000e” error.
It didn’t matter anyway, because as I mentioned, the drive wasn’t initialized as a RAID drive to begin with, so once I did that the data on the drive was lost. Duh…
So I started all over.
I could of course run the single RAID drive as a “degraded” RAID array so that I could use the other to write the image to (once the second drive was added to the degraded array it would rebuild the array, mirroring the files to the other drive), but instead opted to create the RAID array first with both drives, then create a separate partition for the image on the same drive as the image would be written to.
My logic was that I would save the time it would take to rebuild the array this way.
This time I decided to try and use the Windows 7 backup utility. But after running overnight I realized it had locked up on me without finishing. Had it worked I’m not sure I would have gotten the desired result anyway, so I certainly wasn’t willing to waste the time trying it again anyway.
So I went back to using Macrium Reflect again, writing the original drive image to a partition spannning half of the new RAIDed 2 TB drive.
Then I restored the image to the other half of the new drive.
Unfortunately I was to discover this to be a painfully slow process. Because both partitions were on the same drive, writing about a 1 TB image from one partition on the drive to another on the same drive took about 20 hours!
In retrospect it would probably have been a lot quicker to write the image to one of the new drives, and restore the image from it to the other drive running as a single degraded RAID drive. Then I could have added the second drive to the RAID array and then let the RAID rebuild the array in the background. If I ever do this sort of thing again I’ll have to try and remember to try doing it that way.
Once that was finally done, I tried to reboot onto the new drive again and experienced the same error.
In order to restore the system files, I had to boot off the Windows 7 install disk (a Windows 7 repair disk will work too) and do a repair installation, which made some changes to the drive, and then reboot on the install disk again, which made some more changes.
Once that was done I was finally able to boot off the cloned drive.
After I had successfully booted up Windows 7 I ran disk management (Right click on computer | Manage | Storage | Disk Management). There I was able to delete the partition on the drive containing the drive image, and then resize the other partition to span the entire drive.
I’ll give Microsoft just a bit of credit for finally adding a partition resizing function into the Windows 7 operating system, but it would be nice if they would have a clone drive/replace drive functionality built in as well.
I’m still stuck with my Windows 7 installation on the D: drive (when I installed Windows 7 it preserved my Windows 7 RC1 installation on the C: drive) too, but I don’t believe there is an easy fix for that, save for a complete operation system install. Although I contemplated doing that, that’s a project for another time.