In this article, we’ll consider how to add (inject) drivers into the ESXi 6.7 installation ISO image. Despite VMWare ESXi image is certified (supported) for most popular server models, it doesn’t contain hardware drivers for all of them (unlike Windows). If you try to install ESXi 6.7 image on a typical desktop computer, you are likely to face the situation when you don’t have a driver for some hardware (RAID controller, video card or network adapter, etc.) in your installation ESXi ISO.
The most frequent error you see when trying to install ESXi from the original ISO image on a desktop computer is ‘
No Network Adapters’. Indeed, the ESXi image doesn’t support most of LAN NIC adapters. To install ESXi on such a computer, you will have to inject the drivers for your network adapter into your ESXi installation image.
Let’s see how to add a driver to the VMware ESXi 6.7 installation ISO. In this example we’ll show how to integrate the driver for Realtek network adapter into the VMWare ESXi image.
To customize ESXi images VMware recommends using official tool – vSphere ESXi Image Builder. But is it very specific and requires vCenter Server Appliance (vCSA). Most system administrators use a third-party tool ESXi-Customizer instead.
How to Find and Download Drivers for VMWare ESXi?
First of all, you must to find drivers for your hardware. You can search for them in VMware Compatibility Guide section on VMware website, on the vendor 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-r8168 for my Realtek network adapter here) or using 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 find VID and DID of your device, for example, by running this command:
Using these IDs, you can search .vib drivers in the Web.
How to Inject a Driver into ESXi Image Using ESXi-Customizer GUI Tool?
ESXi-Customizer is a graphical tool with a simple interface that allows you to make the integration of drivers and .vib files into ESXi ISO automatic.
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 does not officially support Windows 10, so when started in Windows 10, this 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 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 again. In the next window, specify the path to the original ESXi ISO image, the driver file (VIB file or TGZ archive with drivers) and the folder, to which the resulting ISO image with the integrated driver must be saved. Uncheck the automatic update option.
Click the Run button and after 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.
Adding Drivers Using the PowerShell Script – ESXi-Customizer-PS
The ESXi-Customizer-PS (https://www.v-front.de/p/esxi-customizer-ps.html) PowerShell script can be used to integrate drivers and updates into the ESXi 5.x and 6.x install image. To use this script, VMware PowerCLI 5.1 or newermust be installed on your computer.
Download ESXi-Customizer-PS-v2.6.0.ps1 file (unblock the PS1 file downloaded from the Internet by checking Unblock in its properties) and start PowerCLI. Run the command:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
You can display help on the script parameters as follows:
To download the latest ESXi 6.7 ISO image version with the latest updates from VMware Online Depot website, run this command:
In the same way you can download other ESXi versions (-v67 | -v65 | -v60 | -v55 | -v51 | -v50).
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-v2.6.0.ps1 -v67 -pkgDir C:\distr\esxi\driver
In 15-20 minutes, the installation ESXi ISO image will appear in the targer directory.
You can modify the downloaded offline bundle (it is a ZIP archive with the ESXi installation files) by adding to it all VIB drivers from the specified directory:
.\ESXi-Customizer-PS-v2.6.0.ps1 -izip .\VMware-ESXi-6.7.0-9484548-HPE-Gen9plus-6126.96.36.199.6-Sep2018.zip -pkgDir C:\distr\esxi\driver
Using the following command, you can create an ESXi ISO from your offline bundle:
.\ESXi-Customizer-PS-v2.6.0.ps1 -izip .\VMware-ESXi-6.7.0-9484548-HPE-Gen9plus-6188.8.131.52.6-Sep2018.zip
In V-Front online storage there is a large VIB driver library, and you can integrate the specific drivers from this depot into your ESXi image as follows:
.\ESXi-Customizer-PS-v2.6.0.ps1 -v67 -vft -load sata-xahci,net55-r8168,net-e1000e,esx-ui
In this example, we’ll integrate these 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 computers it is enough to add the following drivers into 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 VMware repository, run this command:
.\ESXi-Customizer-PS-v2.6.0.ps1 -v67 -izip .\VMware-ESXi-6.7.0-9484548-HPE-Gen9plus-6184.108.40.206.6-Sep2018.zip -update