Install Ubuntu 16.04.x from USB media

The Ubuntu 16.04 installation process requires the use of a CD when doing an installation with "physical" media. If you're wanting to do a Ubuntu server installation using a USB stick you will be "shit out of luck" according to the fine folks at Canonical; they have no built in capability to solve this issue or allow Ubuntu Server to be installed with a USB device. During installation the menu will get through all of the keyboard detection processes and fail at the following screen.

At this failure there's no amount of retrying that will help. However you can do 2 very simple commands to get the installation back on track. After the CD-ROM detection failure select the [No] option when asked if you want to retry the mount operation. Then scroll down to "execute a shell" and run the following command:

blkid

This output will show you the partitions available which will all be within your Ubuntu installation USB drive. Look for the partition that has something similar to the following LABEL="Ubuntu-Server xx.xx.x"; in my case the label is Ubuntu-Server 16.04.1 LTS amd64 and that is using the partition found at "/dev/sdd1". With the partition information on hand we're now going to mount that partition as the CD-ROM device using the mount command.

mount -t iso9660 /dev/sdd1 /cdrom -o ro

After running this command type exit to leave the shell and select the Detect and mount CD-ROM option once again to continue the installation normally.


Bonus Breakage

If you run the installation and find that the "Configure the Package Manager" step is failing it's likely due to two lines db_metaget and db_subst causing problems as found in the 50mirror.ubuntu file. To resolve this issue open a terminal once again and edit the file /usr/lib/apt-setup/generators/50mirror.ubuntu.

# Nano is used because vi will not be installed at install time.
nano /usr/lib/apt-setup/generators/50mirror.ubuntu

Now comment out the lines which start with db_metaget and db_subst which come right after the comment "#Text is variable for Debian". Once you've commented out the lines, save the file and exit the terminal. Once returned to the installation menu re-select the "Configure the Package Manager" step and continue the installation normally; installation should actually finish this time.