VMware Cloud Community
hmartin
Enthusiast
Enthusiast

Is it possible to switch virtual disk from IDE to SCSI?

I have ESX 4 Update 1 and vCenter Server 4 Update 1. I have found that new or imported Win XP VMs get IDE-based virtual disks. However, I'm 'assuming' that IDE is not the best controller type (from either a host or guest standpoint). Therefore, I'm trying to figure out how to change an existing virtual disk from IDE to SCSI. In ESX 3.x, we frequently changed the SCSI device from Buslogic to LSI for Win XP based on VMware best practices. Unfortunately, I haven't been able to come up with a way to get from IDE to SCSI. I've even tried creating a new VM using Custom setup to include SCSI disks, then adding a hard disk, pointing it to the existing .vmdk file. However, in this case, I still only get IDE as an option. Also, when I use Converter to import a VM, there's no way to choose the controller type.

Is there any way to get an existing virtual disk to use a SCSI controller with ESX? Thanks.

Reply
0 Kudos
1 Reply
hmartin
Enthusiast
Enthusiast

Solved. I had to modify the .vmx file directly, but it worked perfectly. Here's what I did:

In the VM, create a new disk (1 GB), but specify a new controller ID (Virtual Device Node), such as SCSI 1:x.

Next, modify the new SCSI controller, specifying LSI Logic Parallel as the controller type.

Power on the VM and add the LSI drivers when prompted by the Found New Hardware wizard (simply paste in the path above).

Power off the VM.

Browse to the VM’s datastore and do the following:

Download a copy of the .vmx file to your computer’s hard drive.

In the datastore, rename the .vmx as .vmx.org to preserve the original file.

Edit the downloaded copy of the .vmx file (using Wordpad) as follows:

Find the lines beginning with ide0: and change them to scsi0:

Referring to the final list of lines below, add any remaining missing lines:

scsi0.present = "TRUE"

scsi0.sharedBus = "none"

scsi0.virtualDev = "lsilogic"

scsi0:0.present = "true"

scsi0:0.fileName = ""

scsi0:1.deviceType = "scsi-hardDisk"

sched.scsi0:1.shares = "normal"

Upload the updated .vmx file back to the datastore

Remove the VM from the vCenter inventory and re-add it to vCenter.

Delete the new hard drive. This should also delete the added SCSI controller

Reply
0 Kudos