Installing ESXi on a Bean Canyon NUC

There seems to be a lot of questions circling around on how to install ESXi on a Bean Canyon NUC. Especially the i5 (NUC8i5BEH) and the i7 (NUC8i7BEH) models are ideal as they both feature a quad-core CPU with hyper threading. I’ve installed ESXi 6.7 Update 1 successfully on both NUC8i5BEK and NUC8i7BEH with the method described below.

The issue with the Bean Canyon NUC is that there’s only a single network interface on the NUC. You are able to run ESXi with a single NIC, but you’ll probably really want at least two of them. Basically due to the limited expandability using a USB 3.0 network adapter is your best bet here. I got myself a TP-Link UE300 ($7.99 on Amazon) as that’s cheap and seems to be well supported. Ahem, “well supported” is relative in this case. ESXi does not support any USB Ethernet adapters by default so you’re going to go through a little bit of hassle to get it working. Don’t sweat, I’ll show you how to do it.

Software

You’ll need to download a few pieces of software in order to make this happen. The tools I’m using work on Windows 10. I’ve got no idea how to build the installation media on Linux or MacOS X.

  • ESXi-Customizer-PS is a Windows PowerShell script that will make it easy to handle ESXi images.
  • Rufus is a useful tool for writing a bootable USB media. You could use something else, but Rufus just works.
  • Jose Gomes provides ESXi drivers for several USB Ethernet adapters. The TP-Link UE300 adapter is supported by the Realtek 8152 drivers that are included in his ESXi drivers. He also provides drivers for ASIX based adapters. Installation procedure is the same as described here, but instead of Realtek use ASIX.

Note that you don’t need to worry about downloading ESXi, the ESXi-Customizer-PS will take care of that automatically.

Creating a Bootable USB Installation Media

Ok, so you have downloaded all the files in the previous section and it’s time to create the installation media. Start by starting Powershell as administrator (click Windows key, write powershell, right click and choose to run as administrator).

We’ll need to start by installing VMware PowerCLI. First change the execution policy to allow external scripts to be run. Run the following three commands and just say yes when prompted for something.

set-executionpolicy remotesigned
set-executionpolicy -scope Process -executionpolicy Bypass
install-module -name VMware.PowerCLI

It takes a while, but when that’s done, change to the directory where you downloaded the ESXi-Customizer-PS and run it to download an ESXi offline package.

.\ESXi-Customizer-PS-v2.6.0.ps1 -ozip

In my case the offline package was named ESXi-6.7.0-20181104001-standard.zip.

Now copy the r8152-2.06.0-4_esxi65.vib file into a separate directory. I chose to copy it into C:\Users\olli\Downloads\driver. Then run ESXi-Customizer-PS again to create an iso file with the driver.

.\ESXi-Customizer-PS-v2.6.0.ps1 -nsc -remove vmkusb -pkgdir C:\Users\olli\Downloads\driver -izip .\ESXi-6.7.0-20181104001-standard.zip

This will create an ISO image based on the offline package you downloaded earlier and injects all drivers into the ISO image that are in the driver directory. After this you should have an ISO file in the directory:

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       20/11/2018     22:54      329424896 ESXi-6.7.0-20181104001-standard-customized.iso

Fire up Rufus and write this ISO image on to your USB stick. When Rufus is done, there’s one more step. Copy the weaselin.t00 file you downloaded earlier and place it on the root directory of the USB stick.

Finally eject the USB media and reboot the NUC.

Installation

There are issues that prevent the ESXi installer from starting if you have UEFI boot enabled. So we need to disable that in the BIOS of the NUC and boot in legacy mode instead. When the NUC is booting up press F2 to Enter BIOS. Then inside the Visual BIOS press F9 for default settings. After that on the main page disable UEFI boot. We also need to disable secure boot. Go to Advanced -> Boot -> Secure boot and disable secure boot. Finally press F10 to save the settings and reboot.

Now boot from the USB stick (if this doesn’t happen automatically press F10 when you see the “Intel NUC” splash screen and choose your USB stick as boot media) and install ESXi normally.

I was installing ESXi on an NVMe drive and it’s not possible to legacy boot from that. So after the ESXi installation, I had to go back to BIOS and enable UEFI boot again.

That’s it, you’re done, ESXi is installed and your NUC should boot into ESXi now. By default the internal Ethernet adapter was used for management and the NUC fetched an IP address from a DHCP server. The USB NIC will be available for payload. You can change the NIC roles, of course.

ESXi 6.7 on a Bean Canyon NUC

It seems to me that the ESXi 6.7U1 runs pretty well on the NUC. After booting up ESXi 6.7 you should have two working network intefaces. I did boot up a Ubuntu Linux VM and tried iperf from a local computer on the LAN towards the VM I was running in ESXi. Iperf can be used to test the available bandwidth between two hosts. I was positively surprised when I saw that the Ubuntu VM that was using the USB 3.0 network adapter was able to handle almost a gigabit of traffic per second.

root@vm1:~# iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 10.0.0.1, port 52628
[  5] local 10.0.0.2 port 5201 connected to 10.0.0.1 port 52629
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-1.00   sec   107 MBytes   894 Mbits/sec
[  5]   1.00-2.00   sec   112 MBytes   941 Mbits/sec
[  5]   2.00-3.00   sec   112 MBytes   941 Mbits/sec
[  5]   3.00-4.00   sec   112 MBytes   941 Mbits/sec
[  5]   4.00-5.00   sec   112 MBytes   941 Mbits/sec
[  5]   5.00-6.00   sec   112 MBytes   941 Mbits/sec
[  5]   6.00-7.00   sec   112 MBytes   941 Mbits/sec
[  5]   7.00-8.00   sec   112 MBytes   941 Mbits/sec
[  5]   8.00-9.00   sec   112 MBytes   941 Mbits/sec
[  5]   9.00-10.00  sec   112 MBytes   941 Mbits/sec
[  5]  10.00-10.05  sec  6.00 MBytes   940 Mbits/sec

Now that’s it, have fun with ESXi 6.7U1 running on your NUC!

Click here to see and buy all you need to run ESXi 6.7 on an i7 NUC (Amazon). If you’d prefer something else, check out our NUC configuration tool: the NUC Guru!

11 Responses

  1. Kenni says:

    Thanks for the write-up. On a related note, if anyone wants to run Windows Server 2016 directly on their Bean Canyon or Kaby Lake NUC, for example to run Hyper-V for virtual machines, then it can be quite messy, as there’s no driver support for Windows Server for these non-commercial NUC series.

    I spend many hours on getting the built-in NIC to work, but once the NIC is working and the NUC gets internet connection, Windows update will be able to fetch some of the basic drivers, which will be sufficient to run the NUC as a Hyper-V host. Audio, Wifi and Bluetooth will most likely not work (I haven’t tested), but these could be disabled on a Hyper-V host anyway.

    There’re several guides on how to disable driver signing and manipulate for example the Windows 10 NIC drivers to work on Windows Server, but I found a much easier and prettier way (no need to hack drivers or turn off driver signing) to get the NIC working: Force Windows to use the Intel I219-LM driver, included in Windows, for the Intel I219-V NIC, as the two are compatible.

    I’ve tested this on both a NUC8i7BEH and NUC7i5BNH (both with I219-V NIC) and Windows Server 2016:
    – Go to Device Manager and select to update the driver for the Unknown Ethernet Controller.
    – Select “Browse my computer for driver software”
    – Select “Let me pick from a list of device drivers on my computer”
    – Select “Intel” as vendor
    – Select “Intel(R) Ethernet Connection I219-LM” as model

    Windows should now install the driver and confirm with “Windows has successfully updated your driver software” and state that the device is a I219-LM, even though the device is a I219-V. I’ve been running with this setup for a month on the Kaby Lake NUC and a week on the Bean Canyon NUC – Works perfect and without the security risk of disabling driver signing on your server 🙂

    • Clemens says:

      Works great on Server 2016, but unfortunately not on the (not yet) released Server 2019. Let’s cross fingers there will be a similar hack 🙂

  2. Has anyone been able to VT-d pass-through the GPU to an ESXi guest on the Bean Canyon NUC8i7BEH?

    When I list pci devices, I only see “Display Controller”, not the “Intel Corporation HD Graphics” as a device listed as pass-through eligible.

    [root@NUCESXi01:~] lspci | more
    0000:00:00.0 Bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers
    0000:00:02.0 Display controller:
    0000:00:08.0 Generic system peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model

    • Cal Martin says:

      I’ve been struggling with the same thing. It only shows up as “VGA compatible controller” in my list on ESXi 6.7. Cant pass it through. Is it the Iris graphics that’s messing things up?

  3. Clemens says:

    Thanks for this detailed tutorial.
    Unfortunately, I’m failing right at the beginning when trying to start the installer.
    Error displayed:
    “Shutting down firmware services…..
    Using “simple offset” UEFT RTS mapping policy”

    A lot of people are complaining about that (https://communities.intel.com/thread/127168), but they are talking about
    a different NUC model (NUC8I7HNK), which recently received a new bios version the issue could be fixed.
    In my case I’m trying to use a NUC8I5BEH – the lastest bios version 51 does not solve the problem.

    So, I’m wondering, what was the trick in your case?

  4. Jeff Urlwin says:

    Quick update for others — I found that with the 6.7 U1 release, I could get everything out of the box. Some parts of the install were slow, but they worked. The key was booting in legacy mode. I didn’t need, for my small setup, a second NIC and ESXi is ok with that.

  5. Jeff Urlwin says:

    also, i’m using the latest BIOS from Intel for the NUC. Downloaded 11/28/2018 for reference. BECFL357.86A.0048.2018.0919.2013 released in Sept of 2018.

  6. Clemens says:

    Yes Jeff, also found this solution… finally 🙂
    https://www.reddit.com/r/homelab/comments/9k0hm8/esxi_on_nuc8i7beh_a_success_story/

    Ad: there also a newer version available for NUC8i5BEH: https://downloadcenter.intel.com/de/download/28362/BIOS-Update-BECFL357-86A-?product=126148
    It was not visible yesterday although release date was back in october… however, now it is.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.