Stuck Unable to Edit v10 VMs with free ESXi

Stuck Unable to Edit v10 VMs with free ESXi

This week, I am installing a brand new VMware deployment of VMware 5.5 with vCenter. I don’t have any of the licensing yet, so I’m installing everything with trial licenses, and will get that fixed before putting production virtual machines (VMs) onto this new environment. This situation is quite common, especially when some of the licensing is actually being rolled over from an older installation. Anyway, after installing ESXi on the new hosts, I connected from my laptop to one of the hosts using the vSphere fat Client. I created a new VM and installed the Windows operating system. I installed VMware Tools on my fresh VM. That’s when I noticed the hardware was version eight (v8). I thought this odd, since VMware 5.5 has a hardware version of ten (v10), so I upgraded it. Bad idea!

The next time I went to edit my VM, I received the error message, “You cannot use the vSphere Client to edit the settings of virtual machines of version 10 or higher. Use the vSphere Web Client to edit the settings of this virtual machine.” But, I don’t have the web client installed yet. In fact, the VM I am trying to edit is supposed to become the vCenter server. I’ve backed myself into a corner and need to downgrade the hardware version.

So, for anyone that has put themselves into this position, here’s the blog post which will help you. It shows how to downgrade the VM back to version nine (v9) so that the regular fat client will work again and you’ll be able to edit settings such as network adapters, disks, CPUs, memory, swap space, and DVDs. You will need to have access to Putty or some equivalent SSH client.

  1. Enable SSH access to your host:
  2. Login to your ESXi host:
    • Highlight your host in the vSphere client
    • Goto the summary tab and note its IP address
    • ssh root@10.10.10.100
      (Note: replace the IP above with the actual IP address of your host)
  3. Find the name of the datastore:
    • Highlight your host in the vSphere client
    • Goto the Configuration tab
    • Click the Storage link (on your left)
    • Right-click a potential datastore and select the Browse menu item
    • The directory names should equal your VM name…
    • Continue browsing different datastores until you locate which one has your VM
  4. Move to the datastore which has your VM:
    • cd /vmfs/volumes
    • cd datastore
      (Note: replace the word datastore with the actual name of your datastore)
  5. Validate you have the correct VM:
    • cat TestServer.vmx | grep “virtualHW.version”
    • Replace the TestServer name with the name of your VM in the above command
    • You have an upgraded VM is the result is: virtualHW.version = “10”
  6. Shutdown the VM:
    • Back in the vSphere Client, highlight your VM
    • Goto the “Getting Started” tab
    • Power down the VM… this works great if you have already installed VMware Tools… if not use the VMware console tab to shutdown nicely
  7. Edit the VM:
    • Back in your SSH session, run: vi TestServer.vmx
      (Note: if you are not familiar with vi make a backup copy of vmx before editing.)
      (Second Note: do not get tempted to use notepad on the vmx file… that’s not a UNIX utility.)
    • Use the down arrow to move to the correct line in the file
    • Use the right and left arrows to move your cursor above the zero in “10”
    • Press the key: x
    • Press the key: x
    • Press the key: i
    • Press the key: 9
    • Press the escape key
    • Press the colon key
    • Press the keys: wq
  8. Validate your changes:
    • cat TestServer.vmx | grep “virtualHW.version”
    • Replace the TestServer name with the name of your VM in the above command
    • You have a downgraded VM is the result is: virtualHW.version = “9”
  9. Start your VM:
    • Go back in the vSphere client
    • Highlight your VM | Goto the “Getting Started” tab
    • Try clicking “Edit virtual machine settings” button… it should now work!
    • Try clicking the “Power on the virtual machine” button… it should still work!

I am really at a loss to understand why VMware allows the fat client to upgrade the hardware to a version that’s not usable by the fat client. And, I don’t think the warning message which basically states “the hardware cannot be downgraded” is very helpful. It doesn’t warn you that vCenter has to be installed and working before its safe to upgrade the client hardware.