In this article, we’ll consider how to add (inject) drivers into the VMware ESXi installation ISO image (6.7 or 7.0). The ESXi installation image supports (certified) the most popular server models. If you try to install an ESXi image on a desktop computer, you will most likely encounter a situation where some device drivers (RAID controller, video card or network adapter, etc.) are missing from your distribution.
Most often, when trying to install ESXi from the original installation image on a desktop computer, you will see an error:
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. Ensure that the is at least one network adapter physically connected to the system before attempting installation. If the problem persists, consult the VMware Knowledge Base.
The standard ESXi ISO image doesn’t support most desktop NIC adapters. To install ESXi on such a computer, you will need to inject the drivers for your network adapter into your ESXi installation image
Let’s see how to add the driver to the VMware ESXi 6.x and 7.0 installation ISO. In this example, we’ll show how to integrate the driver for the Realtek network adapter into an ESXi image.
VMware recommends using the official vSphere ESXi Image Builder to customize ESXi images. But it requires vCenter Server Appliance (vCSA). Instead, most system administrators use the third-party ESXi-Customizer tool.
How to Download Drivers for VMWare ESXi?
First, you must find and download ESXi drivers for your hardware. They can be found:
- On the VMWare website under VMware Compatibility Guide;
- You can use ESXi community drivers;Community Networking Driver for ESXi (https://flings.vmware.com/community-networking-driver-for-esxi) – a set of ESXi drivers from VMware Community that allows you to use most modern network adapters (not available in VMware HCL) connected via PCIe. USB Network Native Driver for ESXi (https://flings.vmware.com/usb-network-native-driver-for-esxi) – drivers to support popular USB network adapters (ASIX USB 2.0 — ASIX88178a, ASIX USB 3.0 — ASIX88179, Realtek USB 3.0 — RTL8152/RTL8153, and Aquantia AQC111U.
- Check the hardware vendor’s website;
- On the website of ESXi-Customizer author’s (https://vibsdepot.v-front.de/wiki/index.php/List_of_currently_available_ESXi_packages). I have downloaded the driver
net55-r8168for my Realtek network adapter here;
- Use Google search (something like “
Realtek NIC drivers for ESXi“).
Please note that you need the driver in one of the following formats: .vib, .tgz or .zip (offline bundle).
You can also find the drivers by device VID. Boot your computer using Linux LiveCD and see VID and PID of your device, by running this command:
# lspci -nn
Using these IDs, you can search .vib drivers on the Web.
Adding Drivers to ESXi ISO Image with ESXi-Customizer-PS
The ESXi-Customizer-PS PowerShell script (https://www.v-front.de/p/esxi-customizer-ps.html) can be used to integrate drivers and updates into the ESXi 5.x, 6.x, and 7.0 installation images. To use this script, you must have VMware PowerCLI installed on your computer.
Download the current version (2.8.2) of the ESXi-Customizer-PS.ps1 file from GitHub (https://github.com/VFrontDe/ESXi-Customizer-PS/releases), unblock the PS1 file downloaded from the Internet (by checking Unblock in its properties), and open the PowerShell console:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
You can display help on the script parameters as follows:
An unexpected error occured:The VMware.ImageBuilder module is not currently supported on the Core edition of PowerShell.
This means that you are trying to run a PS1 script from a new version of PowerShell Core (pwsh.exe), which is not supported by the ESXi-Customizer-PS. Use the Windows PowerShell console instead (powershell.exe).
List available ESXi images:
To download the latest ESXi 6.7 ISO image with updates from the VMware Online Depot website, run this command:
In the same way you can download other ESXi image versions ( -v70 | -v67 | -v65 | -v60 | -v55 | -v51 | -v50).
The script allows you to use one of three modes:
- Create an ISO or Offline Bundle installation image directly from the VMware Online depot (default);
- Create an ISO installation image from the local Offline Bundle file(-izip);
- Update local ESXi Offline Bundle from VMware Online depot (-izip -update).
In order to generate an ESXi ISO and immediately inject all offline bundles and VIB driver packages from C:\distr\esxi\driver, use this command:
.\ESXi-Customizer-PS.ps1 -v67 -pkgDir C:\distr\esxi\driver
The installation ESXi ISO image will appear in the target directory in 15-20 minutes.
You can modify the offline bundle (this is a ZIP archive with ESXi installation files) by adding all VIB drivers from the specified directory to it:
.\ESXi-Customizer-PS.ps1 -izip .\VMware-ESXi-6.7.0-HPE-Gen9plus.zip -pkgDir C:\distr\esxi\driver
Using the following command, you can create an ESXi ISO from your offline bundle:
.\ESXi-Customizer-PS.ps1 -izip .\VMware-ESXi-6.7.0-HPE-Gen9plus.zip
The V-Front online repository has a rather large library of vib drivers. You can integrate specific drivers from this repository into an ESXi image like this:
.\ESXi-Customizer-PS.ps1 -v67 -vft -load sata-xahci,net55-r8168,net-e1000e,esx-ui
In this example, we’ll integrate the following drivers into the ESXi distribution:
- net-e1000e – a network driver for Intel I21782579LM/82574L;
- net51-r8169 – Realtek 8168/8111/8411/8118 NIC driver (it has been removed from ESXi 5.1 and newer);
- esx-ui — ESXi Embedded Host Client, a convenient host web interface (used by default from esxi 5.5);
- sata-xahci — map driver to correctly identify some SATA controllers.
As a rule, for most desktop devices it is enough to add the following drivers to the ESXi image:
-v60 -sip -vft -load net-e1000e,net51-r8169,net55-r8168,esx-ui,sata-xahci,net51-sky2,esxcli-shell
To update the Offline bundle with the latest patches from the VMware repository:
.\ESXi-Customizer-PS.ps1 -v67 -izip .\VMware-ESXi-6.7.0-HPE-Gen9plus.zip -update
If you receive:
An unexpected error occured: Could not find trusted signer while exporting the image, disable driver signature verification with the -nsc (
-noSignatureCheck) option. Also, try this option if an error occurs:
[WinError 10054] An existing connection was forcibly closed by the remote host.
Inject Custom Drivers to ESXi Image with ESXi-Customizer GUI
ESXi-Customizer (GUI) is a small graphical tool with a simple interface that allows you to automate the process of integrating drivers and .vib files into an ESXi ISO image.
Download ESXi-Customizer-v2.7.2.exe (https://www.v-front.de/p/esxi-customizer.html), extract the archive, and run the tool (
ESXi-Customizer.cmd). ESXi-Customizer doesn’t officially support modern Windows versions, so when started in Windows 10 or 11, an error appears:
--------------------------- ESXi-Customizer v2.7.2 - Message --------------------------- FATAL ERROR: Unsupported Windows Version: 10.0. At least Windows XP is required!
To fix it, edit the ESXi-Customizer.cmd file and comment out the following line (add REM in the beginning):
if "!WinVer!" LSS "5.1" call :earlyFatal Unsupported Windows Version: !WinVer!. At least Windows XP is required & exit /b 1
Save ESXi-Customizer.cmd file and run it. In the next window, specify the path to the source ESXi ISO image, the driver file (VIB file or TGZ archive with drivers), and the folder, to which the resulting image with the integrated driver must be saved. Uncheck the automatic update option.
Click the Run button and n a few minutes a new ESXi ISO image will appear in the target directory. You can use this image to install ESXi on your hardware.
If you are trying to add drivers into an ISO image with ESXi 6.7 or 7.0, an error will appear:
FATAL ERROR: Error un-taring IMGDB.tar!
In order to fix this fatal error, you need to manually modify the ESXi image:
- Extract your VMware ESXi installation ISO to a directory on disk;
- Install the 7zip archiver on your computer (you can quickly install apps on your computer using the winget package manager:
winget install 7zip.7zip);
- Open the file IMGDB.TGZ with 7ZIP and rename the file inside to IMGDB.tar;
- Now you need to build the ISO image. You can use the free IsoCreator (download IsoCreator.msi, open the file with 7ZIP, and run
- Specify the directory with the ESXi installation files and the name of the ISO file;
- Now you can use this custom ISO image in ESXi-Customizer GUI.
Now you can use your ISO image to deploy ESXi on your target host.
Use vCenter Image Builder to Add Drivers to ESXi Custom Image
In vCenter Server, you can use the built-in Image Builder to modify your ESXi installation images. This service is disabled by default. Enable it via vCenter -> Auto Deploy -> Enable Image Builder.
Now you need to create a new Software Depot and import your ISO image, vib (zip) driver files, and the necessary ESXi updates into it.
Now clone your image. When cloning, you can choose which packages (drivers) to add to this ESXi depot.
After that, click the Export button and download your ESXi installation ISO image with integrated third-party drivers.