How To Change SCSI Controller Type on a VMware VM

While working on a View 5 install, I was asked to install the Transfer server role onto an existing VM server. If you’ve worked with the Transfer server before, you’ll know that it requires a specific SCSI controller type (LSI Logic Parallel) in order to be installed. I’d imagine this is due to the way that the server is manipulated to have 4 controllers for increased IO capabilities to handle local mode images being transferred.

Per the VMware Installation Guide:

CAUTION Verify that the virtual machine that hosts View Transfer Server is configured with an LSI Logic
Parallel SCSI controller. You cannot install View Transfer Server on a virtual machine with a SAS or VMware
paravirtual controller.
On Windows Server 2008 virtual machines, the LSI Logic SAS controller is selected by default. You must change
this selection to an LSI Logic Parallel controller before you install the operating system.

If you try to install the Transfer server onto a VM using an incorrect controller type, you’ll actually get an error and not be able to continue the install:

While you could take the advice of the warning and select a different computer, I’ll show you a way to change the controller on the VM without having to start from scratch.

Add a New LSI Logic Parallel SCSI Controller

The first set of steps involve adding a new disk to the VM to force creation of a new SCSI controller.

Start by editing the VM settings while it is powered on. You should notice that SCSI controller 0 is set to be an LSI Logic SAS type.

Click the Add button to begin the Add Hardware wizard. Choose the “Hard Disk” item. Notice that there is also a “SCSI Device” option that is currently greyed out (because the VM is running) – this is not where you add a SCSI controller (I often have people ask).

Choose the “Create a new virtual disk” option.

Set the Disk Size to 1GB. Since we’re only using this disk to force a new SCSI controller, the size of the disk is not important. You can also choose to Thin Provision the disk to create it quickly (in this screenshot I’m using an NFS datastore, which only supports Thin).

Here is the key step. Make sure to choose “SCSI (1:0)” for the virtual device node. The first number (1) denotes the SCSI controller to use, and since only SCSI controller 0 exists, the VM will be forced to create a new SCSI controller.

You should now see two new entries in bold: New SCSI Controller and New Hard Disk.

Edit the New SCSI Controller and change the SCSI Controller Type to “LSI Logic Parallel”.

Note: If you’re not working with a Transfer server and wish to change to another controller type, such as the high performance VMware Paravirtual type, you can choose it here.

Verify that the New SCSI Controller shows a type of LSI Logic Parallel and click OK.

Within the Guest OS you should see a tray popup stating that the driver software was installed successfully. At this point the goal of the exercise has been realized – the driver needed for the new SCSI controller is installed and ready to go.

You can now go back into the VM settings and delete the new hard disk. Make sure to choose the “remove from virtual machine and delete files from disk” to purge the new disk from the datastore. Optionally, you can also remove the new SCSI controller 1, but I find that it typically removes itself when there are no disks remaining on it.

Change the Existing SCSI Controller Type

You can now power down the VM. Edit the VM settings once more and confirm that the new SCSI controller 1 is no longer listed. Then, edit SCSI controller 0 and click the “Change Type…” button to select a new type. Make sure to choose the same type that you used with the new SCSI controller. In this case, it is the LSI Logic Parallel type for the View Transfer server.

You will see that the VM actually replaces the existing SCSI controller with a new one. Leave the Bus Sharing policy set to “None”.

Power the VM on and verify that Windows boots up successfully. When you log into the OS for the first time, you should see a message stating that Windows wants to restart to apply changes. Make sure to restart.


Although this method does require a reasonable amount of steps, I’ve not found an instance where it doesn’t work. I have typically used this method in the past to change Windows Server from the LSI Logical Parallel or SAS types to the newer Paravirtual type, as it has a lot of benefits in vSphere 4.1 and 5.0.