Windows OS Hub
  • Windows Server
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2012
    • 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 2012
    • 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?

September 15, 2021 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

Using Previous Command History in PowerShell Console

January 31, 2023

How to Install the PowerShell Active Directory Module...

January 31, 2023

Enable Internet Explorer (IE) Compatibility Mode in Microsoft...

January 27, 2023

How to Disable or Uninstall Internet Explorer (IE)...

January 26, 2023

How to Delete Old User Profiles in Windows?

January 25, 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

  • Using Previous Command History in PowerShell Console

    January 31, 2023
  • How to Install the PowerShell Active Directory Module and Manage AD?

    January 31, 2023
  • Finding Duplicate E-mail (SMTP) Addresses in Exchange

    January 27, 2023
  • How to Delete Old User Profiles in Windows?

    January 25, 2023
  • How to Install Free VMware Hypervisor (ESXi)?

    January 24, 2023
  • How to Enable TLS 1.2 on Windows?

    January 18, 2023
  • Allow or Prevent Non-Admin Users from Reboot/Shutdown Windows

    January 17, 2023
  • Fix: Can’t Extend Volume in Windows

    January 12, 2023
  • Wi-Fi (Internet) Disconnects After Sleep or Hibernation on Windows 10/11

    January 11, 2023
  • Adding Trusted Root Certificates on Linux

    January 9, 2023

Follow us

woshub.com
  • Facebook
  • Twitter
  • RSS
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?
  • USB Device Passthrough (Redirect) to Hyper-V Virtual Machine
  • Poor Network Performance on Hyper-V VMs in Windows Server 2019
  • Hyper-V Boot Error: The Image’s Hash and Certificate Are not Allowed
  • 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