RECOVERY CONSOLE TO CHANGE FROM IDE TO SCSI (OR ADD NEW SCSI)
f6 while booting to recovery console and floppy with proper drivers recovery console -> list svc
That made me wonder what would happen if I just replaced the driver file for the original IDE controller with the one for the virtual SCSI controller.
If your old disk was attached to a SCSI or Serial ATA controller, you can't use atapi.sys. You need to find the driver file for your type of disk controller and copy vmscsi.sys over that file. The recovery console command LISTSVC might give you an idea what the name of the driver is. Look for entries with SERVICE_BOOT_START, which represents drivers to be loaded early on in the boot process. The disk controller driver must be one of them.
Activate the recovery console and cd C:\WINDOWS\SYSTEM32\DRIVERS ren atapi.sys atapi.old copy a:\vmscsi.sys ren vmscsi.sys atapi.sys
If the disc doesn't boot, use FIXMBR and FIXBOOT commands in the recovery console.
The command to use is:
expand Cd drive:\i386\Ntoskrnl.EX_ C:\windows\system32
So for example if your CD ROM Drive is normally D:
you would use:
expand D:\i386\ntoskrnl.ex_ C:\windows\system32
If it fails because it says the destination is read only you will need to use this command and then try the expanding again:
attrib -R C:\windows\system32\ntoskrnl.exe
Run Windows 2000 recovery console by booting up on the Windows 2000 CD and delete the Hal.dll located under c:\winnt\system32
Create a new virtual hard disk that is large enough to hold all the files on the VM server's C: drive. I chose to make the new hard drive the same size as the old one. For the .vmdk file name, I suggest using a descriptive one, that includes the server's name. It will help later. Use the Advanced menu near the end of the wizard to specify that it should be a SCSI drive. Partition and format the SCSI drive under W2K3 (which should automatically load a driver for the virtual SCSI adapter). Assign it a drive letter (I used E:). Perform a backup that includes the System State. This will put current copies of the registry files in C:\Windows\Repair. (Reference) Use ROBOCOPY from the Resource Kit to copy the file structure from C: to E: as follows:
ROBOCOPY C:\ E:\ /SEC /MIR /R:0 /W:0
(That copies over everything that isn't currently locked for reading, so it's best to shut down as many services as possible before attempting this.) Mark the E: partition as active in Disk Management. Shut down the VM and remove the virtual disk that is the IDE C: drive from the VM's configuration. Obtain VMware's SCSI driver floppy image and put it on your GSX server. (Reference) Boot the VM to the W2K3 installation CD and hit F6 to specify that you're going to load a manufacturer-supplied SCSI driver. (W2K3 doesn't ship with support for the virtual SCSI adapter. This reference says that you shouldn't use the VMware-supplied driver with W2K, though. Perhaps W2K does support that adapter out of the box.) When prompted for the Manufacturer-Supplied Adapter disk, mount the VMware SCSI Driver floppy image (the *.flp file you saved before) in the VM's virtual floppy drive and connect it. When prompted, boot the Recovery Console. In the recovery console, specify the installation you want to access (usually 1, for the default OS installation). At the C:\Windows> prompt, issue the "fixboot" command. This ensures that your new boot drive has a good boot sector. (I'm not entirely sure this was necessary, but I did it as a precaution.) Since the registry files were not copied over via the ROBOCOPY command, they need to be copied over from the C:\Windows\Repair\ directory to the C:\Windows\System32\Config\ directory. Type the following commands into the Recovery Console (reference):
copy c:\windows\repair\system c:\windows\system32\config\system copy c:\windows\repair\software c:\windows\system32\config\software copy c:\windows\repair\sam c:\windows\system32\config\sam copy c:\windows\repair\security c:\windows\system32\config\security copy c:\windows\repair\default c:\windows\system32\config\default
Exit the Recovery Console and let the system reboot. Boot to the W2K3 install CD again and hit F6 to load the VMware SCSI driver as before. (You may need to dismount the floppy drive if it is ahead of the CD-ROM drive in the VM's boot order BIOS setting.) This time, select to repair the existing installation of Windows. Select to "set up Windows now" and then "repair...". The VM will run through the W2K3 repair process (it seems like an upgrade). When it's done, the VM should boot up and look OK when you login to it. (I didn't use a particularly complicated VM for my testing, so YMMV.)