Windows OS Hub
  • Windows Server
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2008 R2
    • SCCM
  • Active Directory
    • Active Directory Domain Services (AD DS)
    • Group Policies
  • Windows Clients
    • Windows 11
    • Windows 10
    • Windows 8
    • Windows 7
    • Windows XP
    • MS Office
    • Outlook
  • Virtualization
    • VMWare
    • Hyper-V
    • KVM
  • PowerShell
  • Exchange
  • Cloud
    • Azure
    • Microsoft 365
    • Office 365
  • Linux
    • CentOS
    • RHEL
    • Ubuntu
  • Home
  • About

Windows OS Hub

  • Windows Server
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2008 R2
    • SCCM
  • Active Directory
    • Active Directory Domain Services (AD DS)
    • Group Policies
  • Windows Clients
    • Windows 11
    • Windows 10
    • Windows 8
    • Windows 7
    • Windows XP
    • MS Office
    • Outlook
  • Virtualization
    • VMWare
    • Hyper-V
    • KVM
  • PowerShell
  • Exchange
  • Cloud
    • Azure
    • Microsoft 365
    • Office 365
  • Linux
    • CentOS
    • RHEL
    • Ubuntu

 Windows OS Hub / Virtualization / VMWare / How to Install VMWare ESXi in a Hyper-V Virtual Machine?

February 28, 2022 Hyper-VVirtualizationVMWareWindows 10

How to Install VMWare ESXi in a Hyper-V Virtual Machine?

I wanted to install a VMWare ESXi in a Hyper-V virtual machine running on Windows 10 for my homelab stand. Hyper-V and VMWare ESXi support nested virtualization so this scenario is possible (though it is not supported officially). However, there are some aspects of ESXi installation on Hyper-V to be noted.

There are no drivers for Hyper-V virtual network adapters in the ESXi image, and this NIC is not supported by VMware (it is not included in the VMware Hardware Compatibility List — HCL). So prior to installing the VMWare ESXi on a virtual machine, you need to slipstream the driver for Hyper-V network adapter (net-tulip) into the ESXi installation image.

Net-tulip is a community DECchip 21140 Ethernet driver to run ESXi as a VM on Microsoft Hyper-V. All ESXi versions up to ESXi 6.5 are supported.

If the ESXi installer does not find any network adapters, it returns the following error and prevents you from going on with the installation:

No Network Adapters.
No network adapters were detected. Either no network adapters are physically connected to the system, or a suitable driver could not be located. A third-party driver may be required.

vmware esxi installer - No network adapters were detected

To add the net-tulip driver to your ESXi image, install the VMWare PowerCLI module on your computer.

You can add net-tulip to the image using PowerShell cmdlets from VMware.ImageBuilder module (Add-EsxSoftwareDepot, Add-EsxSoftwarePackage, Export-EsxImageProfile). In this case, you will have to download the ESXi image and the net-tulip driver manually (http://vibsdepot.v-front.de/depot/bundles/net-tulip-1.1.15-1-offline_bundle.zip).

The easiest method is to use a ready ESXi-Customizer-PS module (we discussed earlier in the article on how to inject drivers into an ESXi image).

You can download the latest version of the ESXi-Customizer-PS 2.8.1 module from GitHub ( https://github.com/VFrontDe/ESXi-Customizer-PS/blob/master/ESXi-Customizer-PS.ps1). This script version supports current VMWare ESXi 7.0 and 6.7 versions.

Display the list of ESXi versions available for download:

.\ESXi-Customizer-PS-v2.8.1.ps1 -sip –ozip

In our case, download the image with the number 203 (ESXi-6.0.0-20170604001-standard). Enter 203 and press Enter.

download esxi install image using ESXi-Customizer

Unfortunately, I was not able to run the latest versions of VMWare ESXi 7.0 and 6.5 in Hyper-V. All current versions of ESXi block the legacy Hyper-V virtual network adapter from loading. The highest ESXi version that boots correctly with Net-tulip driver is ESXi-6.0.0-20170604001 Build 5572656. In spite of the fact that ESXi-Customizer-PS 2.8.1 allows to work with ESXi 7.0 image and integrate Net-tulip network driver into it, the installer does not load the driver and does not see the Hyper-V virtual network adapter.

Wait till the script downloads a ZIP file with the ESXi image to the current directory.

To integrate the net-tulip to the ZIP image and get an ISO image, run the command below:

.\ESXi-Customizer-PS-v2.8.1.ps1 -iZip "C:\Ps\ESXi-6.0.0-20170604001-standard.zip" -vft -load net-tulip

This is ESXi-Customizer-PS Version 2.8.1 (visit https://ESXi-Customizer-PS.v-front.de for more information!)
(Call with -help for instructions)
Logging to C:\Users\user\AppData\Local\Temp\ESXi-Customizer-PS-15076.log ...
Running with PowerShell version 5.1 and VMware PowerCLI version .. build
Adding base Offline bundle C:\Ps\ESXi-6.0.0-20170604001-standard.zip ... [OK]
Connecting the V-Front Online depot ... [OK]
Getting Imageprofiles, please wait ... [OK]
Using Imageprofile ESXi-6.0.0-20170604001-standard ...
(Dated 02/07/2020 11:36:33, AcceptanceLevel: PartnerSupported,
For more information, see http://kb.vmware.com/kb/2149958.)
Load additional VIBs from Online depots ...
Add VIB net-tulip 1.1.15-1 [New AcceptanceLevel: CommunitySupported] [OK, added]
Exporting the Imageprofile to 'C:\PS\ESXi-6.0.0-20170604001-standard-customized.iso'. Please be patient ...
All done.

ESXi-Customizer-PS download esxi image load net-tulip

The -vft option means that the latest VIB driver must be downloaded from the V-Front online repository.

So, you have an installation ESXi ISO image. Then create a new virtual machine on your Hyper-V host. Use the following settings for Hyper-V VM:

  • Create a Generation 1 VM;
    hyper-v generation 1 VM for esxi image
  • Add at least 2 vCPUs for your VM;
  • Remove the default Network Adapter in the VM properties and add a new Legacy Network Adapter;
    lagacy hyper-v network adapter for esxi VM
  • Allow using Nested virtualization feature for the VM: Set-VMProcessor -VMName test-esxi1 -ExposeVirtualizationExtensions $true
  • Mount your ESXi ISO image to your VM.

If you try to boot a virtual machine from your ESXi install image, an error of a video adapter incompatible with VMkernel appears:

Shutting down firmware services…
Relocating modules and starting up the kernel…

vmware vmkernel error: Shutting down firmware services… Relocating modules and starting up the kernel

To ignore the problem and continue ESXi installation, press TAB when booting the VM and add the following option:

ignoreHeadless=TRUE

esxi enable headless mode (ignoreHeadless=TRUE)

The ESXi installer will check the hardware configuration, detect a network card and offer to continue ESXi image installation on a virtual disk.

vmware esxi installation wizard starts

Then follow the prompts of the VMWare ESXi installation wizard (the steps are described in detail in the article How to Install and Configure VMWare Hypervisor?).

After the installation is over, restart your VM and press Shift+O when selecting ESXi boot options. Also, specify that ESXi must boot without a videocard check. To do it, type ignoreHeadless=TRUE at the end of the line and press Enter.

disable videocard chek for esxi - ignoreHeadless

To avoid doing it each time when you boot the VM, change your ESXi configuration:

  1. After booting ESXi, press F2 and enter the root password;
  2. Select Troubleshooting Options -> Enable ESXi Shell in DCUI ESXi;
    enable esxi shell
  3. To open the ESXi console, press Alt+F2;
  4. Run the following command in the console prompt: Esxcfg-advcfg -k TRUE ignoreHeadless
    Esxcfg-advcfg ignoreHeadless

Close the console by pressing ALT+F2. Then configure network settings for ESXi host in DCUI and restart the VM. Make sure that ESXi can boot correctly and you can connect to it using vSphere Web Client.

vsphere web client
So, we have shown how to run ESXi in a Hyper-V virtual machine. However, the configuration is not officially supported, but it will help you to work with earlier VMWare ESXi versions in a sandbox on your home computer running Windows 10.

2 comments
6
Facebook Twitter Google + Pinterest
previous post
The computer restarted unexpectedly or encountered an unexpected loop error on Windows 10/11
next post
Change User Password in an RDP Session on Windows

Related Reading

How to Connect VPN Before Windows Logon

November 14, 2023

Using WPAD (Web Proxy Auto-Discovery Protocol) on Windows

November 7, 2023

Zabbix: How to Get Data from PowerShell Scripts

October 27, 2023

Tracking Printer Usage with Windows Event Viewer Logs

October 19, 2023

Reset Root Password in VMware ESXi

October 12, 2023

2 comments

i3laze October 6, 2022 - 8:29 am

Just a reminder that it’s necessary to enable “MAC address spoofing” on Legacy network adapter to allow nested VM traffic.
Also, for some reason VMware will not be reachable (ICMP, HTTP) from the Hyper-V host directly, only from other hosts.

Reply
Lars Day November 4, 2022 - 11:52 pm

Every time we restart the nested ESXi 6.0 VM the root password is again blank and the ignoreheadless config is gone. We have built several custom images ESXi-6.0.0-20170604001-standard-customized.iso thinking something was wrong with the images created previously but the same symptoms. We can ping the gateway from the ESXi 6.0 VM but we cannot ping the ESXi 6.0 VM, nor can we SSH to it or use the vsphere client to connect to it. If we set a static IP for this nested ESXi 6.0 guest VM, after a reboot it goes back to DHCP. Maybe VMWARE blacklisted the net tulip drivers on this 20170504001 build too. So maybe we will have to use an older .ISO verson and customize it. Not sure how to proceed now.

Reply

Leave a Comment Cancel Reply

Categories

  • Active Directory
  • Group Policies
  • Exchange Server
  • Microsoft 365
  • Azure
  • Windows 11
  • Windows 10
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • PowerShell
  • VMWare
  • Hyper-V
  • Linux
  • MS Office

Recent Posts

  • How to Connect VPN Before Windows Logon

    November 14, 2023
  • Removing Azure Arc Setup Feature on Windows Server 2022

    November 9, 2023
  • Using WPAD (Web Proxy Auto-Discovery Protocol) on Windows

    November 7, 2023
  • Send Emails with Microsoft Graph API and PowerShell

    November 6, 2023
  • Zabbix: How to Get Data from PowerShell Scripts

    October 27, 2023
  • Tracking Printer Usage with Windows Event Viewer Logs

    October 19, 2023
  • PowerShell: Configure Certificate-Based Authentication for Exchange Online (Azure)

    October 15, 2023
  • Reset Root Password in VMware ESXi

    October 12, 2023
  • How to Query and Change Teams User Presence Status with PowerShell

    October 8, 2023
  • How to Increase Size of Disk Partition in Ubuntu

    October 5, 2023

Follow us

  • Facebook
  • Twitter
  • Telegram
Popular Posts
  • Hyper-V Virtual Machine Stuck in Stopping/Starting State
  • How to Install Windows 11 on a Hyper-V Virtual Machine
  • How to Install and Configure Free Hyper-V Server 2019/2016
  • Poor Network Performance on Hyper-V VMs in Windows Server 2019
  • USB Device Passthrough (Redirect) to Hyper-V Virtual Machine
  • Windows Cannot Find the Microsoft Software License Terms
  • Selecting the Number of vCPUs and Cores for a Virtual Machine
Footer Logo

@2014 - 2023 - Windows OS Hub. All about operating systems for sysadmins


Back To Top