As some of you may remember, I ran into an issue a while ago when I was deploying VMware View 4.5 for customer demos. The problem I had was that the View Transfer Server required a virtual machine that had a LSI Logic Parallel SCSI adapter but the default for deploying virtual machines in vSphere was always LSI SAS (http://terenceluk.blogspot.com/2010/10/gotcha-vmware-view-transfer-servers.html). As I was in a rush to get the environment up, I simply went ahead and deployed a new virtual machine with the correct SCSI adapter but added an item on my “to-do” list to try changing the adapter in the future. I finally got some time over the weekend to test this out and after doing a bit of searching on the internet, it looks like VMware actually has a public KB for this here: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1002149. What I’ve noticed was that the KB omits a few steps that you should take so I thought I’d write a post about this with screenshots.
You need to change the SCSI controller for your virtual machine’s boot drive but when you try doing so, you get a blue screen during bootup:
This probably isn’t a surprise to the seasoned Windows administrators out there as we all know what happens if we take a full system backup and restore it to a server with different hardware.
As I noted earlier, VMware actually has a public KB that lists the steps for how you can change this. However, it doesn’t mention about BIOS changes that you may need to do in case your virtual machine doesn’t boot so here are the complete steps you’ll need to take:
Shutdown the virtual machine and open up the settings with the Edit Settings option for the virtual machine:
Click on the Add button and proceed with adding a new hard drive:
The following step is important because in order for a new SCSI controller to be created, you’ll need to select a Virtual Device Node with a number that you currently don’t have a hard disk attached to. If you only have 1 hard disk for your virtual machine, it will almost always be sitting on SCSI (0:0) but make sure you check. For this example, I used SCSI (1:0):
Complete the wizard with the new hard disk and new SCSI controller:
Notice that the new SCSI controller defaulted to the same type as the one you already had so change that to the type that you want. In this example, I changed it to LSI Logic Parallel:
Once you’ve completed the configuration, you may notice that your virtual machine no longer boots into the operating system:
The reason for this is because when you add a new hard disk with a new SCSI controller whether it’s the same type as the first SCSI controller you had or not, the boot order will most likely change. To fix this, simply reset the virtual machine and go into the BIOS via F2:
Navigate to the Boot section in the BIOS, expand the Hard Drive list and you’ll now see the boot order of devices:
You will now immediately notice that the boot order has Bootable Add-in Cards and the new hard drive on SCSI (1:0) on the top (priority is top to bottom) which would explain why you’re not able to boot into the OS anymore. All you need to do now is to use the + and - buttons to change the priority of the devices you can boot from:
Once you’ve changed the boot order, save the changes and reboot:
With the devices in the proper boot order, you’ll be able to get back into the OS now:
Log into the OS to verify that it actually see’s the new drive in the Disk Management display:
Shutdown the VM:
With the drives automatically installed when you booted up Windows, you can now proceed with changing the SCSI controller type of your boot drive:
Once you’ve completed the change, you’ll notice that you may run into the issue earlier where your BIOS has the ordering of the boot device wrong so refer to the steps earlier in this post to fix the priority:
Once you’ve fixed the boot order, you will now be able to boot into the operating system:
Not that you had to wait till you’ve successfully booted into the OS before you remove the old drive but I went ahead to do it after:
… and we’re done! Sure beats reinstalling the operating system.