ace101

Cloning a Raid-0 stripe to a single drive

Recommended Posts

I've been having some real trouble cloning my raid-0 stripe to a single drive. I'm upgrading my disks from the raid-0 to a Raptor (among other hardware changes), and for the life of me, I can't get a working clone.

Most of this is my lack of understanding in certain areas. First off is disk handling by Windows XP. I added my new hard disk to the machine with the Raid-0. I used Ghost to copy the disk to the new disk. The disk shows all the files but won't boot. So I found that my drive had been formatted as a dynamic Windows disk, and apparently it needs to be a basic disk, with the OS in a primary partition, which is set as active, and a master boot record is either copied or created on the drive. So I convert my drive from a dynamic drive to a basic drive, set the partition as active, and had Ghost move over the MBR.

Ok, now Windows boots....kindof....

Pretty much all my windows applications and settings are hosed for some reason. I happen to look at the new drive and find that it's considered drive F, not C. So essentially all the Ghosted stuff I brought over from my disk, which refers to a disk called C, is broken. So I go to change the drive letter using Microsoft Storage Manager, and it can't change the drive letter of a System disk. Ok, so I take the disk out and put it into another computer, and try to use Partition Magic to change the drive letter. I can change it.....but not to drive C because that's what the system disk is using! The reason why it is set as drive F is that was the drive letter assigned to it when I converted it into a basic drive from a dynamic drive.

So I'm lost. Granted I didn't understand dynamic vs. basic disks, but having a drive letter persist from machine to machine is new to me. I tried removing the drive letter from the drive, but still it shows up now on a new machine as drive F. I just want to point out that I realize that being raid-0 isn't what is causing my problems, but the fact that I can't take the raid-0 off-line to copy it is causing the extra hardship. Normally, I'd just take the source drive and target drive and put them on another computer, and clone away. Can't do that with raid-0.

What would be the process to format a single drive and clone a raid-0 stripe onto it?

Thanks as always guys.

Share this post


Link to post
Share on other sites

A follow on question. Do clone programs such as Ghost care if you are pulling data from a raid or not? I'm reading posts on the web that say you need a program that recognizes raid to correctly clone a disk, and Ghost does support raids. Is that right?

Share this post


Link to post
Share on other sites

Sounds like Ghost did the job just fine, except that the MBR still had information from being previously installed as F: on XP.

Best to Ghost the array to the drive again, then unplug all of the RAID0 array.

*Before* attempting to boot from the drive, either: Boot from your handy Win9x floppy and enter FDISK /MBR or else boot to the "repair" command prompt on the XP CD and try FIXMBR or FIXBOOT.

Should then be able to boot to XP with the drive correctly recognized as C: :)

Share this post


Link to post
Share on other sites

When you image the drive, you need to grab the volume GUIDs, or drive letters will go crazy. In Ghost, I've found that the image all option catches this.

Share this post


Link to post
Share on other sites

This is quite strange. I resolved all of the booting issues by following the instructions here. The disk now boots fine. The problem is that when it tries to load Windows, the machine crashes and reboots itself or gives the blue-screen that something in Windows is corrupted and the system shut down to avoid further problems. It does the crash thing when I try to boot to safe mode as well. So I tried to isolate what about the cloned disk is a problem, and I've isolated it somewhat.

I clone the drive using Ghost and set it for boot. It is cloning a raid-0 stripe, but seems to read the stripe just fine. It completes without error. I tried installing Windows on this disk from scratch just to make sure that would work, and that works fine. I also made a copy of the Windows directory from the fresh install, and copied it on top of the Windows folder on the drive that was cloned. When I do that, the drive boots Windows with no problem, except I've lost too much information for it to run any programs correctly, and I'm assuming that is because I've replaced the Windows registery in the Windows directory with the one from the fresh install.

I also tried just replacing the "driver", "inf" and "cab" folders with the folders from the fresh install, but it had no effect. What would cloning have done to make Windows unbootable? It's hosing something in the Windows directory, but I have no clue what it might be. But why would it be hosing anything?

Could it be that the machine the raid-0 clone is coming from has an AGP video card, and the new machine has a PCI-e video card? I thought safe mode only loaded the basic drives so any hardware would work. Could anyone suggest other Windows directories that might need to be wacked and replaced with the clean Windows files? Any ideas would really be appreciated. This is going on four days of backing up and restoring, with no luck and my brain hurts.

Share this post


Link to post
Share on other sites

Good lord, if you are changing motherboards too, then you'll have to do a repair install of XP (press R the SECOND time it gives you the option after booting from the XP CD).

Note that, even if you just picked up and moved the original RAID-0 array to the new motherboard, you would have to do the same thing. This is because unlike Win 9x, XP doesn't have a generic "DOS compatibility mode" to fall back to when the drivers aren't installed yet. "Safe mode" doesn't cut it.

Share this post


Link to post
Share on other sites

I found out what was going on, and I was able to move the drive over successfully, but it is complex and time consuming. Essentially, this is all about the drivers specified in the registery. When you clone the disk, it carries with it all of the hardware references of the old hardware. It loads them on start up, and crashes the machine even if you load in safe mode. If you try to perform a repair as was suggested here, it will complete the repair but when you reboot, you'll be crashing again.

There are ways to remove the drivers and load Windows with generic entries in the registery, but getting the values into the registery is a major pain. Microsoft simply recommends that you buy new hardware that is the same as the old hardware when performing this function. Let me repeat this. They recommend you buy the SAME hardware that you have! So doing it their way (which I tried) requires you to clone your disk and put it on another machine so that you can edit the registery. On this other machine after windows boots, run REGEDT32 and select the Add Hive option. Browse to the cloned hard disk and specify that system (registery) file. It opens under the key you placed it in, and you can now perform changes. It's hairy to do, easy to screw up, and doesn't work all the time. Thanks Microsoft. Anyhow, if you're a masochist, here is a link to the page for future reference.

But since their page didn't include SATA drives, it didn't solve my problem. But it made me realize that it was hardware references in the registery, which is essentially a more complex Access database (big understatement, but it works for the analogy). So I wondered if I could export some of this database but not the hardware references. You sure can, you just need to create registery files (export) for each of the sections in the Registery. I copied:

HKEY_CLASSES_ROOT

-- All of it

HKEY_CURRENT_USER

-- All of it

HKEY_LOCAL_MACHINE

-- SOFTWARE

HKEY_USERS

-- All of it

HKEY_CURRENT_CONFIG

-- Software

I double checked that there are only hardware references in the sections I didn't copy. So here's what I did in case some people are foolish enough to try it. Add every responsibility disclaimer here. :blink:

- Create a registery file for each of the sections I listed above.

- Back up the drive you want to copy, to another drive. I'll refer to this as Cloned Drive. I cloned my working source disk to another scratch disk using Ghost.

- Perform a fresh install of Windows on your new drive using the machine you wish the drive to reside in when your done. I'll refer to this as New Windows Drive.

- Put New Windows Drive into another machine, and copy the registery file SYSTEM somewhere safe. It's in c:\windows\system32\dllcache on XP.

- Get both Cloned Drive and New Windows Drive on the same machine and copy (good old fashioned) the entire contents of Cloned Drive on top of New Windows Drive, but either don't overwrite the SYSTEM file or when you're done, copy the SYSTEM file back onto New Windows Drive.

- Copy the registery files you created earlier onto New Windows Drive in a easy to find folder.

- Put New Windows Drive into your new computer. It will boot. You'll see your icons for your desktop when you log in, but no programs will work because they aren't listed in the Registery.

- Double click on each of the registery files you created earlier. You will receive some errors that you are trying to overwrite registery items that are currently in use. That's not a problem.

- Reboot.

When the new machine comes back up, you'll have all your old settings intact and all your programs will work. This would conceivably work regardless of the before-hardware and after-hardware, because you've set up the new drive to recognize the hardware. Mission accomplished.

Why hasn't Microsoft come up with a program that will detect BEFORE trying to boot that the hardware has changed, and allow you to specify the new hardware? Why does the repair function not do this? Repair appears to address files only, although it claims to be resetting the hardware settings in the registery. It's not, I can assure you.

There must be some extra dollars in it for Microsoft for them not to have done this.

Ron

Share this post


Link to post
Share on other sites

Oops, I meant to say the SYSTEM registery file is in c:\windows\system32\config. It's not in c:\windows\system32\dllcache. I had a brain cramp.... :huh:

Share this post


Link to post
Share on other sites

? Repair installs have always gone through the entire hardware redetection routine for me. There's not even a trace of the old hardware left when you set SHOW_NONPRESENT_DEVICES=1. The only minus is the Start Menu and Favorites has those items that Microsoft deems so important added back again. The other settings are retained.

You did try to run the repair install with the disk in the NEW machine right :blink: ? The only generic drivers loaded are from the Windows PE on the XP CD, and those NEVER get loaded onto the disk during a repair or any other install.

Microsoft does have a utility for moving Windows--SYSPREP. Unless you are rolling out an army of cloned machines and want a different SSID on each, the repair install is a lot easier.

Share this post


Link to post
Share on other sites

I don't get it then. The repair ran but didn't solve the problem. After completion, it still gave me the blue screen of death. The only differenve between the blue screen of death and a successful startup is the hardware setting in the registery. But based on what your saying, I really don't understand what's going on in my situation. It seems like drivers are getting loaded that shouldn't be loaded.

Edited by ace101

Share this post


Link to post
Share on other sites
I don't get it then. The repair ran but didn't solve the problem. After completion, it still gave me the blue screen of death. The only differenve between the blue screen of death and a successful startup is the hardware setting in the registery. But based on what your saying, I really don't understand what's going on in my situation. It seems like drivers are getting loaded that shouldn't be loaded.

Imho bfg9000 was right to advise MS Sysprep ?

It removes all drivers and references that could hinder boot on a different system - Downloads here.

Don't forget to make a ghost image first - sysprep will not hinder your installed apps nor data, but after sysprep has run you get a 'mini setup' where you need to enter your registration number and loads of other things.

the order of doing things would be :

1. create image of current situation "original.gho"

2. run sysprep and create image "sysprepped.gho"

3. restore the 'sysprepped.gho' to the single disk

4. change mobo and other hardware you want

5. boot from the single disk which now holds the 'sysprepped.gho'

6. a mini-setup will start and things will hopefully go right.

There will be no old drivers loading, so in that sense the system got a nice 'cleanup' that a repair will never do for you.

If all goes wrong, at least you have the 'original.gho' and you will be able to return to the current situation.

Restore the 'original.gho' after you rebuild the system to the 2 disks and you should be fine.

I would expect success though, sysprep is designed for just this.

good luck.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now