Saturday, April 28, 2007

The Big Vista Sweep, part III

Well, it wasn't the warmest Saturday we've had here in Boston, but it was quite nice. Passible, really, given the standard New England spring we've had to endure. Nonetheless, it didn't really matter to me - since I was stuck in my home office dealing with...

Mind Transfer #2.1: The Sony RC210G Desktop...continued

Computer:
Sony RC210G Desktop
Native OS: WIndows XP MCE 2005, SP2
Memory: 2 Gig
Hard drive: 320Gig RAID0 (twin 160Gig Seagate SATA drives)
Extra Devices/Features: Support for most digital memory sticks, high end graphics card/processor, specialized Sony NTSC Tuner, specialized Sony 7.1 audio, wireless keyboard/mouse, DVI Sony Monitor (1900x1620)


The next step in this endeavor was to locate software that that could ghost the image of my RAID array onto a standard SATA drive. This lead me to two options, care of King Joey (more about him a little later in other blogs):

I settled on Acronis, mostly because of the pricing schemes for NGSS - Norton apparently assumes that to only people that could possibly be interested in fooling around Vista hard drives are enterprises -- so, they only sell NGSS for a minimum of 5 copies. Not good. In addition, Acronis was getting good reviews, so that sealed the deal.

While the Acronis software was downloading, I ran over to Microcenter to pick up:
  • 2 WD 500 Gig SATA Drives (the soul of my new RAID array)
  • 1 WD 320 Gig SATA Drive (to hold the ghost of the original RAID array and use as the boot drive)
The idea here is that I am going to use this little tiff between Intel and Mircosoft as an excuse to upgrade my system. The single SATA disk will be used as my primary boot disk, and the disk that hold the "program files" folder, while the other two SATA disks will be configured as a 1TB RAID0 array to hold data files, video, audio and other things that need fast access. (RAID0 is faster that a regular SATA drive, but not redundant - so the information is not data safe. Since the stuff I'll be holding on that array is transitory, I am more interested in speed rather than safety. ) This configuration will also give me away to remove my old 150Gig external drive. (I'm always trying to work on ways to slim down.)

Back at the office, the Acronis download is complete - I install it, and the system asks to reboot. No worries, I reboot and...

...oh shit...

...disk errors. A lot of disk errors. Vista valiantly attempts to reposition the salvageable clusters, but when I reboot after the recovery attempt, I find things aren't like they used to be: the Windows Uninstaller is out of commision, for one thing - but more importantly, my Sony Ericsson Smartphone sync application has gone mental. It continually spawns new copies of itself until my process table starts to overflow, which prevents me from doing anything.

I spend about 4 hours trying to shut down the SE Smartphone app -- but without the Windows Installer (which is responsible for uninstalling applications as well) that turns out to be rather tricky. I won't bore you with the details, but I finally figure how to nuke it.

Ok, that's one Saturday morning shot to hell... now let me pick up the pieces and see where I am. The RAID array is definitely failing, apparently - but whether from a legitimate hardware problem, or induced from the nonsense going on with the Intel/Microsoft RAID controller dilemma, I'm not sure. However, it turns out that if I use the Vista system restore and go back a couple of checkpoints, I can recover working versions of the applications - which is all that I need for a ghosting. I have my system stable, I'm ready to go.

Put my 320Gig SATA in an external Firewire enclosure, plug it in, fire up Acronis and select "clone a disk." The Acronis UI is straight forward, and promises to do the right things. It shows the RAID array as a viable option for a source drive, and the external SATA as a viable option for the target drive. Punch the button, it preps the disk, and tells me it has to go through a series of reboots. No problem, hit the reboot button... the system reboots, comes up, and Acronis takes over to examine the partition on the new drive. The Vista system comes back up and....

...no further action.

...shit.

I go through this several times - always with the same results. Acronis does not seem to want to continue the process. It simply never remembers where it left off after it performs the first reboot. Sigh.

So, I try the Vista backup application. It has something that purports to be a cloning function, but its really just a bit-for-bit copy function, which leaves your new drive without a Master Boot Record (MBR). Foiled again.

A Lesson in Vista Boot Sectors

Back to Acronis. I notice that is has a way to burn a CD with a bootable image and the Acronis applications. I find a CD-RW, stick it in the drive and tell Acronis to burn an image. It does, I reboot, and...voila! Acronis is there and it sees both drives. 1.5 hours later, and the image of the failing RAID away (MBR included), is on the new 320 Gig drive. Note: this will be important later: when Arconis brings up the machine, both drives - the original bootable RAID array, and the cloned 320Gig are in the computer. This turns out to be an enormous issue.

I have to hand it to Sony hardware engineers - the RAID array cage on the RC210G is a thing of beauty for a consumer product. One Phillips screw holds in each 2-drive shelf, which is hidden behind a separate, no-screws door in the side of the cabinet of the unit. Unscrew the Phillips, and the entire shelf assemble slides out. This makes swapping drives a snap.

I take the 320Gig SATA out of its enclosure, take out the two failing SATA drives that were in the port 0 & port 1 cage, and put the new SATA in port 0. In the second shelf I insert the two 500 Gig SATA drives....reboot and....

...oh shit.

The first thing I notice is that, after the BIOS loads, there are two "bootable" partitions that Vista sees - both of these are called "Windows Vista Ultimate (Recovered)" After some futzing around (including a few more boots), I discover that the first "bootable" partition points nowhere - the second bootable partition is the actual cloned drive. I select it, and the machine comes back to life.

...sort of.

Although I get my login prompt, and it accepts my password, things get off after the login. Vista produces a blank screen with the phrase "creating desktop". When it is finally done, I am presented with a blue screen, and a working mouse pointer. The system is clearly running, tho, so after a another brandy I hit cntl-alt-del and up comes the task manager. Finally, a friendly face.

Selecting "Run..." from the task manager, I type it "explorer," and up comes the desktop...sortof. The desktop is severly altered, and only 1/3rd of my desktop icons are there. A few minutes of digging around reveals the problem. My newly cloned, bootable drive has the "F:" drive designation. (The same designation it had during the cloning process.) There was no "C:" drive, which is where Vista - and 90% of the apps in existence, expect to find everything.

WTF?

The full explanation of this can be found at Multibooter - Cloning Vista, many thanks to the folks at that blog for this vital information.

Essentially, every hackers favorite file boot.ini is gone, ladies and gentleman, and winloader.exe has been moved out of the system partition into \windows\system32 where it belongs. This is a better, less hacky, arrangement -- but it makes cloning the boot drive tricky. In fact, its impossible to do without a little bit of tweaking.

Best I can piece together what happened follows:

When Arconis finished successfully creating the cloned boot drive, it auto-rebooted the computer. This is behavior I would have expected, giving you a chance to check the cloned disk against the original... unfortunately, rebooting a machine with two bootable partitions is a no-no under Vista. The system gets seriously confused and assigns the boot partition to the new drive, and the system partition to the old drive. This has the effect of making the machine unusable
unless both drives are in the system. In addition, Vista does not allow you to change the drive identifier on the bootable drive, insisting in all its Vista-tude that it knows best. All together now: ew.

There are two ways to deal with this - the slick way and the sledgehammer way. (Guess which way I chose?)

The Slick Way


Vista provides you with a command line utility called bcdedit.exe (BCD stands for Boot Configuration Data) which allows you to play with, and set, all of the attributes associated with booting the system. (Both bcdedit, and bootmgr - the replacement for ntldr.exe is beautifully explained here at Multibooters.)

As the folks at Multibooters point out, you can correct the drive letter configuration problem, and the system partition appearing on the wrong drive problem, with three commands:

bcdedit /set {bootmgr} device boot
bcdedit /set {default} device boot

bcdedit /set {default} osdevice boot


Ok, that's very cool. I could have looked up all the options, but it was 1am now and I was pretty annoyed, leading me to...

The Sledgehammer Way

All of this information is dutifully stored in the system registry under the key:
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices

An example of the contents of that key can be seen on the right hand side of this blog. As you can see it stores the information for both the boot and system partitions, as well as drive letter configurations. Some digging on the web shows that if Vista can't find that key, it recreates the contents at boot time.

Uh...so...nuke it.

I deleted the contents of
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices in its entirety, and rebooted.

...up it came. All of it. My old machine was back, the desktop was up and normal, the applications all worked, and the new RAID0 array was delegated to the non-bootable drive -- my original goal in the first place.

The RC210G had been transformed to a full-fledged Vista machine, with a 320Gig single SATA disk as the bootable drive and drive to hold applications that don't need the speed, and a 1TB RAID0 SATA Array significantly faster than the 2 7200 SATA drives that comprised it would imply.

Verdict: Success, with frustration.
Round-trip Rocket Time for Upgrade: 17 Hours.
Rocket Cost: Vista Ultimate ($250) + 320 Gig WD SATA drive ($125) + 2 500 Gig WD Sata Drives ($200 each) + Arconis True Image Workstation ($75) = $850.


1 comment:

Anonymous said...

Thanks very much, the sledgehammer way has just worked perfectly for me and saved me a lot of pain!

jbrad.