How To Inject NIC Drivers into the ESXi Installation Image

Update 1/10/2021:

ESXi-7.0 isn’t compatible with the drivers in our previous illustration. Thus, this is the currently recommended method:

mkdir c:\temp
cd c:\temp
wget https://www.v-front.de/p/esxi-customizer-ps.html #download
.\ESXi-Customizer-PS-v2.6.0.ps1 -v67 -sip -vft -load net55-r8168,net51-r8169,net51-sky2,esx-ui,sata-xahci,esxcli-shell,net-e1000e

Sample Output:

PS C:\Users\kim\Desktop\esxi-customizer> .\ESXi-Customizer-PS-v2.6.0.ps1 -v67 -sip -vft -load net-e1000e,net55-r8168,esx-ui,sata-xahci,esxcli-shell
... Truncated for brevity ...
32 : ESXi-6.7.0-20190604001-no-tools
33 : ESXi-6.7.0-20190504001-standard
34 : ESXi-6.7.0-20190504001-no-tools
35 : ESXi-6.7.0-20190404001-standard
36 : ESXi-6.7.0-20190404001-no-tools
37 : ESXi-6.7.0-20190402001-standard
38 : ESXi-6.7.0-20190402001-no-tools
39 : ESXi-6.7.0-20190401001s-standard
40 : ESXi-6.7.0-20190401001s-no-tools
41 : ESXi-6.7.0-20190304001-standard
42 : ESXi-6.7.0-20190304001-no-tools
43 : ESXi-6.7.0-20190104001-standard
44 : ESXi-6.7.0-20190104001-no-tools
45 : ESXi-6.7.0-20181104001-standard
46 : ESXi-6.7.0-20181104001-no-tools
47 : ESXi-6.7.0-20181004001-standard
48 : ESXi-6.7.0-20181004001-no-tools
49 : ESXi-6.7.0-20181002001-standard
50 : ESXi-6.7.0-20181002001-no-tools
51 : ESXi-6.7.0-20181001001s-standard
52 : ESXi-6.7.0-20181001001s-no-tools
53 : ESXi-6.7.0-20180804001-standard
54 : ESXi-6.7.0-20180804001-no-tools
55 : ESXi-6.7.0-20180704001-standard
56 : ESXi-6.7.0-20180704001-no-tools
57 : ESXi-6.7.0-20180604001-standard
58 : ESXi-6.7.0-20180604001-no-tools
59 : ESXi-6.7.0-8169922-standard
60 : ESXi-6.7.0-8169922-no-tools
-------------------------------------------
Enter selection: 1

Using Imageprofile ESXi-6.7.0-20201104001-standard ...
(dated 11/11/2020 12:40:19, AcceptanceLevel: PartnerSupported,
Updates ESXi 6.7 Image Profile-ESXi-6.7.0-20201104001-standard)

Load additional VIBs from Online depots ...
Add VIB net-e1000e 3.2.2.1-2vmw.670.0.0.8169922 [IGNORED, already added]
Add VIB net55-r8168 8.045a-napi [New AcceptanceLevel: CommunitySupported] [OK, added]
Add VIB esx-ui 1.34.4-16668064 [OK, replaced 1.33.7-15803439]
Add VIB sata-xahci 1.42-1 [OK, added]
Add VIB esxcli-shell 1.1.0-15 [OK, added]

Exporting the Imageprofile to 'C:\Users\Doan\Desktop\esxi-customizer\ESXi-6.7.0-20201104001-standard-customized.iso'. Please be patient ...


All done.

Problem:

VMware ESXi bundles drivers for Server-grade platforms. Thus, consumer grade motherboards with consumer grade NICs would throw these errors when the hypervisor OS is attempted on them:

No network adapters were detected. Ether 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.
Resolution:
Step 1: Download NIC drivers

Search for the correct NIC model. For instance, the integrated MSI A320M PRO-VH NIC is Realtek RTL (source: http://all-driver-motherboard.blogspot.com/2020/10/msi-a320m-pro-vh-driver-xp-vista-win7.htm)

Download the correct driver package from https://vibsdepot.v-front.de/wiki/index.php/List_of_currently_available_ESXi_packages (e.g net55-r8168)

Step 2: Obtain the ESXi-Customizer tool

Download ESXi-Customizer-v2.7.2.exe from https://www.v-front.de/p/esxi-customizer.html > Extract the bundle onto a local directory > Edit ESXi-Customizer.cmd

Remove this line:
if "!WinVer!" LSS "5.1" call :earlyFatal Unsupported Windows Version: !WinVer!. At least Windows XP is required & exit /b 1

Windows 10 Customizer Error would occur if .CMD file is unfixed:

---------------------------
ESXi-Customizer v2.7.2 - Message
---------------------------
FATAL ERROR: Unsupported Windows Version: 10.0. At least Windows XP is required!

Edit this:

findstr /I /L "<payload" %1 | "%SED%" -e "s#.*<payload name=\"#set %2PayloadName=#I;s#\".*##I" >>%3
echo.>>%3
findstr /I /L "<payload" %1 | "%SED%" -e "s#.*<payload .* type=\"#set %2PayloadType=#I;s#\".*##I" >>%3

To this:

 findstr /I /R "<payload.*name" %1 | "%SED%" -e "s#.*<payload name=\"#set %2PayloadName=#I;s#\".*##I" >>%3
echo.>>%3
findstr /I /R "<payload.*name" %1 | "%SED%" -e "s#.*<payload .* type=\"#set %2PayloadType=#I;s#\".*##I" >>%3

Run ESXi-Customizer.cmd > Browse and select ISO, OEM Driver archive, and export directory > uncheck the ‘Enable automatic update check’ option > click Run

Once the process completes, there shall be an ISO file at the ‘working’ export directory

Common Errors:
The installation profile could not be validated due to the following errors: VIB VfrontDe_bootbank_net51_r8169_6.011.00-2vft.510.0.0.799733 requires vmkapi_2_1_0_0, but the requirement cannot be satisfied within the ImageProfile

The workaround for the error above is to exclude those drivers from the bundle of the selected image.

Leave a Reply

Your email address will not be published. Required fields are marked *