Downgrading ESX virtual hardware 7 to 4

By | Friday, November 19, 2010

When you upgrade your vSphere environment you normally also upgrade the VM’s virtual hardware to version 7, to take advantage of the new features. This is pretty normal procedure for all VMware admins.

But in some very very rare cases you might need to move a VM upgraded to hardware version 7, to a host that doesn’t support VM’s running hardware version 7.
From a host running ESX 4.x to a host running ESX 3.x

So what to do.
There is two ways you can accomplice this task.

The first way is to use the free VMware Converter tool.
Some great guides have been created by others so I don’t want to do it all over again.
The only thing is that it can take some time to convert the VM, but it is a proven and stable method.
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1028019
Or
http://www.techhead.co.uk/vmware-esx-how-to-downgrade-a-vms-vm-versionhw-level-from-7-4-0-to-4-3-x
Or
http://blog.vmpros.nl/2010/04/09/vmware-how-to-downgrade-vm-hardware-level-7-to-4/

The other way is to do it manually, this way is a lot faster, but there is a risk that it will corrupt the VM, so make sure you have a working backup.
Use this guide on your own risk

  • Powered off the VM
  • Make sure the VM doesn’t have any snapshots before proceeding
  • From the ESX console or from a Putty session, edit the VMs VMX file, using your favorite editor
    vi /vmfs/volume/DS1/WIN2008-001/WIN2008-001.vmx
  • Change the virtual hardware version from:
    virtualHW.version = “7”

    To

    virtualHW.version = “4”
  • You don’t need to change config.version = “8”, since ESX 3.x already uses this version
  • Change the virtual controller, because virtual hardware version 4 doesn’t understand the version 7 virtual controller, from:
    scsi0.virtualDev = “lsisas1068”

    To

    scsi0.virtualDev = “lsilogic”
  • From the ESX console or from a Putty session, edit the VMs VMDK pointer file/files (if more than one virtual disk), using your favorite editor
    vi /vmfs/volume/DS1/WIN2008-001/WIN2008-001.vmdk
  • Change the virtual hardware version from:
    ddb.virtualHWVersion = "7"

    To

    ddb.virtualHWVersion = "4"
  • You should now be able to power on the VM as virtual hardware version 4.

11 thoughts on “Downgrading ESX virtual hardware 7 to 4

  1. Dan

    Superb!! Been looking around for how to convert from 7 to 4 manually – converter’s OK, but can take an age when you have VM’s with large disks. Hacking the vmx and vmdk files is the way to go for me!!

  2. A. Mikkelsen Post author

    Hi,
    You only edit the *.vmdk file and not the *-flat.vmdk file.
    The flat file is the 96 Gb one the other is only a few KB.

    Remember this only works on ESX or ESXi not on WRK or Server.

    br
    A. Mikkelsen

  3. Kumar

    Hi, its worked for my debian 6 system. Downgraded from Vsphere 5 to Vsphere 4.

    Thanks Mikkelsen.

    Regards
    Kumar

  4. Luke

    I really need to convert a vm template which was sent to me with v8 HW to a v7 HW to get it working on a vSphere 4.1

  5. A. Mikkelsen Post author

    Hi Luke,
    The guide also works on downgrading vHW8 to vHW7.
    I haven’t tested it on a template, but it should work.
    Just remember to take a copy of the template, prior to changing the vHW.

    A. Mikkelsen

Leave a Reply

Your email address will not be published. Required fields are marked *