Bootable USB drive for Intel NUC 12

I had some problems with using bootable USB drive on Intel NUC 12. Option to boot from it have not appeared at all after pressing F10 after machine restart.

For some reason only I was only managed to boot Ubuntu install on it using official guide.

After hours of Googling I finally discovered the reason (I forgot source - sorry), and it seems that Intel NUC 12 simply does not support booting from non-GPT partitions. Most of Linux distros and tools - to create bootable USB - create old style MBR partition though.

Assuming that you have working Linux-box, fix is quite simple:

  1. Boot your distro
  2. Use GParted (or other tool of your choosing)
  3. Create new GPT partition table on USB drive
  4. Create new FAT32 partition
  5. Right click on new partition and select "Flags"
  6. Make sure that "boot" is checked
  7. Save changes to partition table

To actually install OS files on USB drive: Mount created partition e.g.:

mount /dev/sda1 /mnt/usb_drive

Then you need to download your ISO, mount it via:

mount -o loop ~/path_to_iso.iso /mnt/iso

And copy files, simple cp should do:

cp -r /mnt/iso/* /mnt/usb_drive/

Don't forget to umount.

And thats it, after hitting F10, you should be able to select boot device on NUC, and your USB drive should appear.

I managed to successfully install OpenSUSE that way.

EndeavourOS (arch?) note

For EndeavourOS folks (and I assume other arch based distros), you need to also make sure that label of FAT32 partition on the USB drive is what installer is expecting. Failing to do so will display text that mounting /dev/disk/by-label/something failed. Remember that something. Install dosfstools or other package providing fatlabel command on currently working Linux-box, and then just use that:

fatlabel /dev/sda1 something

That is all, I managed to install current version of EndeavourOS without any more hickups :)