If you face the error message “A bootable device has not been detected” after installing Linux on an Intel NUC (serie 6), one solution is to enable both UEFI and “Legacy” boot options in the BIOS.
I finally managed to install Proxmox VE (based on Debian) on an Intel NUC (model NUC6CAYH) in “Legacy” mode (boot through Grub). My BIOS version is AYAPLCEL.86A.0064.2019.0910.1422 (as show through the dmidecode -s bios-version command), and I have the following settings :
- UEFI boot checked
- Legacy boot checked
- Secure Boot deactivated
A serie of issues that came up during a install of Proxmox VE (which is based on Debian) on an Intel NUC (model NUC6CAYH).
First the install would go until the end and then show a message regarding a failure to install UEFI on a bootable partition. I even tried to boot first and to create a specific UEFI partition as per this tutorial.
I still could not manage to write the bootloader to the UEFI partition.
Thinking that this was an issue with the UEFI boot process, I proceeded to disable UEFI (and secure boot) and select “legacy mode” only.
Suspecting an issue with the UEFI boot, I went into the bios to deactivate it, keeping “legacy mode” activated.
I was able to go through the installation process ! Success ?
Well, upon reboot the NUC would switch directly to PXE boot (meaning it could not boot from the hard drive). When I disabled the PXE boot in the BIOS settings, the boot sequence would stop directly at “A bootable device has not been detected”.
The strange part however was that I was able, at each reboot, to select in the “boot menu” shown during startup (you need to press F10), and there I could find the corresponding hard drive entry on which I had installed Proxmox. I was then able to select this entry and boot “normally” into Proxmox.
However any reboot would bring me back to this error message at boot, it would not select that particular entry automatically (although it was the only one present…).
Finding the solution
It was rather difficult to find meaningful results on search engines, since it could be caused by so many issues…
Yet I found a similar issue in a Ubuntu forum.
Just installed Ubuntu Server 19.04 on my NUC and running into “A boot device has not been detected” issue.
Note that if I press F10 and select the same SSD as the boot device, the NUC boots up, loads and runs Ubuntu just fine. It’s just that this doesn’t happen automatically.
I have only 1 SSD installed; no other SSDs or HDDs or USB drives.
- BIOS Version: SYSKLI35.86A.0071.* (upgraded after running into this issue with SYSKLI35.86A.0065.*) - Boot Order / UEFI / UEFI Boot: Disabled (unchecked) - Boot Order / Legacy / Legacy Boot: Enabled (checked) - Boot Order / Legacy / Boot Drive Order: SATA Port 2 Samsung SSD - Boot Priority / UEFI Boot Priority / UEFI Boot: Disabled (unchecked) - Boot Configuration / UEFI Boot / <All Options, except Boot Network Devices Last> : Disabled (unchecked) - Boot Configuration / Boot Devices / Internal UEFI Shell: Disabled (unchecked) - Boot Configuration / Boot Devices / USB: Enabled (checked) - Boot Configuration / Boot Devices / Optical: Enabled (checked) - Boot Configuration / Boot Devices / Network Boot: Disabled (unchecked) - Secure Boot / Config / Secure Boot: Disabled (unchecked)
I re-installed Ubuntu and manually made the SSD as the Boot Device during installation but still same results. Upgraded to latest BIOS version and still no luck.
One answer help me to find the solution:
The solution, in my case, was to check and then uncheck the UEFI Boot option.
Boot Order / UEFI / UEFI Boot: Disabled (unchecked)
Please note that I didn’t really change any setting but somehow it worked.
In my case, I simply checked (activated) the UEFI boot option (the “boot entries” list was empty), and it did work.
Since I spent quite some time troubleshooting this issue, I thought that it was worth a small blog post.