A. The following was mailed to me by Peter Smith and I felt it may be useful to many people.
"I wanted to upgrade the hard disk on one of my machines running Windows
2000. As before with NT4, I added the new disk as a second drive, booted from a minimum NT installation I keep on the disk for emergency
purposes and, after partioning and formatting the new drive, used SCOPY to copy the
contents of the old disk to the new drive, preserving security information.
Next, create an up-to-date RDISK from the Backup utility, shut down and remove the old drive, leaving the new, bigger one as the master. Boot from the NT CD and use the recover option to rewrite the boot sector. Then, the new disk is bootable as the BIOS correctly sees it as the C: drive, boot.ini sees it as the first partition on the first disk and the whole system comes up. But, and here's the rub, when you log on, shortly after the dialog box that says "Loading your personal settings", you get another that says
"Saving your settings" and you're logged off! After such dramatic success in getting the new disk bootable very quickly and easily, I spent ages redoing things and puzzling why the instant logoff. The February Technet was no help but, by connecting remotely and examining the registry, I found the following:
The trouble seems to be that the drive letter appears to NT as the one you used when both drives were in the machine (K: in my case) - not as the C: drive detected by the BIOS. However, the path to userinit.exe
is hard-coded as C:\winnt\system32\userinit.exe having copied everything including the registry from the true C: drive.
The way I got around it was to use regedt32 remotely to go to HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices and copy the hex GUID allocated to the \DosDevices\K: drive and paste into the value for the \DosDevices\C: drive - then delete the K: value and reboot. Hey, presto everything works!
I've had more information with the following:
"I normally rename the drive letter portion of the values stored under HKEY_LOCAL_MACHINE\....\Mounted devices\ rather than cutting and pasting the volume UID information.
Further, I generally find that if I am dealing with the simplest case scenario, also by far the most common. A system that will end up with one hard disk with one partition booting as C:
Just delete all values under mounted devices and W2K will recreate them at the next boot assigning the boot/system drive as C:.
Editing the registry on the effected machine can even be done remotely when after moving the system you can get it to boot but because of the drive letter problems can not log on."
Editors note: I'm note sure of the possible problems of this, it seems safe but I have not tested. One other person who has tried said it worked but in his case the system told him he had no Page File, or it couldn't locate the page file, and the only way he could get 2000 to run again was to do a repair.