26

Can VMWare ESX or ESXi be installed and used inside a virtual machine?

It can be installed inside VMWare Workstation or Server, but then it doesn't work; the main symptoms are:

  • It runs REALLY slowly.
  • It lets you create VMs, but when powering up them it gives an error stating "You may not power on a virtual machine in a virtual machine".
Massimo
  • 68,714
  • 56
  • 196
  • 319
  • 1
    It isn't really a typical Q&A. Maybe you should ask and answer it yourself. :) Or since you mentioned it was asked many times, you can post your perfect solution there too. – kentchen Jun 18 '09 at 22:53
  • You might want to throw this into the wiki instead. – dr.pooter Jun 18 '09 at 23:20
  • It was never asked in this website, so I hadn't anything to answer... but I thought it'd be really useful to share, since it's asked quite often in other places (where I saw it asked when looking for a solution). – Massimo Jun 18 '09 at 23:37
  • 2
    Quick update: VMware Workstation 8 supports virtualizing ESX/ESXi *natively*. It's as simple as selecting "VMware ESX" for the virtual machine type. – Massimo Oct 12 '11 at 19:40

3 Answers3

43

VMWare ESX or ESXi CAN run inside a virtual machine, provided certain prerequisites are satisfied.
This kind of setup is of course completely useless (and totally unsupported) in a production environment, but can be very useful for two purposes:

  • Testing or studying ESX or ESXi if you don't have a physical server available.
  • Testing or studying the whole Virtual Infrastructure if you don't have at least two servers and a SAN.

Prerequisites:

  • You need some physical resources. In order to run ESX or ESXi in VM, the VM needs at least 1.5 GB of memory, two VCPUs and enough disk space for the server itself and for the VMs you will run inside it.
  • You absolutely need a physical CPU with native virtualization support (Intel VT or AMD-V).
  • You need to run VMWare Workstation 6.5, VMWare Server 2 or VMWare Fusion 5 on the physical host. Previous versions can't succesfully run ESX or ESXi in a VM.
  • A 64-bit OS on the physical host is useful but not required.

Setup:

  • Enable native virtualization support for your CPU in the motherboard BIOS (it's often not enabled by default).
  • Install your preferred virtualization software. I've tested everything succesfully using VMWare Workstation 6.5.2 on a Windows XP x64 host, but it should work with VMWare Server 2.0 and/or Linux hosts, too.
  • Create a custom VM using those setting:
    • Hardware compatibility level: latest
    • Guest operating system: other 64-bit
    • Virtual CPUs: at least 2
    • Memory: at least 1.5 GB
    • Networking: Host-only or NAT
    • SCSI adapter: LSI Logic
    • Virtual disk type: SCSI
    • Virtual disks: as you wish; I suggest using at least two virtual disks, a 10-GB one for installing the system and another one where to create a datastore. The space should be pre-allocated.
    • Remove floppy, sound card, USB controller, etc. Leave only networking and storage.
    • CPU Execution mode: Intel VT-x or AMD-V (very important).
  • Manually edit the VMX file of the virtual machine you created, setting the following parameters:

    guestOS = "vmkernel"
    monitor_control.vt32 = "TRUE"
    monitor_control.restrict_backdoor = "TRUE"

  • Start the VM and install ESX or ESXi from the installation ISO image.

  • Configure the networking to allow the ESX or ESXi virtual server to talk with the host.

Usage:

  • Use your web browser to connect to you virtual server's IP address and download the VI Client.
  • Install the VI Client on the host.
  • Connect to the virtual ESX/ESXi server.
  • Create a VM as you wish.
  • Power up the VM.
  • If everything is done correctly, the VM will start. If it complains about not being able to power on a VM inside a VM, then there is an error with the `monitor_control.restrict_backdoor' parameter (or you're using an old version of VMWare Workstation/Server).

  • Enjoy :-)

Massimo
  • 68,714
  • 56
  • 196
  • 319
  • If you're running VMWare Server 2.0, you won't be able to select the CPU execution mode in the GUI; you can fix this by adding the following line to the .vmx file: monitor.virtual_exec = "hardware" – Massimo Jun 24 '09 at 20:03
  • 1
    Another addendum: it all works inside ESX 4.0, too. Same settings as Workstation/Server. – Massimo Jun 25 '09 at 17:15
  • 1
    Same basic process for getting this working in VMWare Fusion (Mac) as well. – Clint Miller Jul 23 '10 at 14:24
2

Installing a 64 bit OS is pre required for installing the VM ware ESXi version.I dont think u can carry on with ths installation if the CPU dosent support.

ashesh
  • 21
  • 1
1

I was able to successfully install ESXi 4.1 into a Virtualbox VM. I had the same issue with the keyboard not being recognized. Out of a whim, I tried installing it on Virtualbox 3.2.6 making a few adjustments and found no problems.

When you create the VM, set memory to 2gb, the hard drive to 10gb, I changed the network card to Bridged so I could use the client from my host desktop, then click the advanced option and select the Intel 1000 Server MT card. I also changed the video to 128mb, but I doubt that would hinder anything if it were lower. Walla, no keyboard problems and the install completed fine. you can then do all your configuration changes with no problems.