Ubuntu Server 16.04 installs on /sdc but fails to boot

I am doing a clean install of Ubuntu Server 16.04 LTS on a machine with a single internal SSD. After completing the install, the system fails to boot and prints a single line fsck output, with the rest of the screen entirely blank.

enter image description here

This very same server installs Ubuntu Server 14.04.4 LTS just fine, so this is very specific to 16.04 LTS. I've tried installing every which way I can think of in 16 and I get the same results every time: installation completes with no errors, but upon reboot I get a black screen with that one line of fsck output after rebooting :(

I noticed that one big difference between 14 and 16 installs on this server machine (which is unexceptional, it's just a generic Broadwell i5 box with 16GB RAM and Samsung 850 EVO SSD) is that Ubuntu 14 detects and installs the drive as /sda whereas Ubuntu 16 detects and installs the drive as /sdc -- furthermore, Ubuntu 16 detects the USB flash drive with the Ubuntu install as /sda! This strikes me as .. very incorrect.

enter image description here

How can I get the Ubuntu Server 16.04 install to stop treating the USB installation drive as /sda?

Edit: per request, here's the output of fdisk after pressing alt+ near the end of the install

fdisk during install

here's the output of

# mkdir /mnt/ssd
# mount /dev/sdc1 /mnt/ssd
# nano /mnt/ssd/etc/fstab

fstab in nano

When I boot into "rescue mode" from the USB install media (no option to boot in recovery mode is presented to me), I get the following options for "device to use as a root file system"

/dev/sda1  
/dev/sda5  
/dev/sdb1  
Assemble RAID array  
Do not use a root file system  

Notice that no /sdc filesystem is detected or shown. However, when I enter console under /sda1 and fdisk -l I do see what I installed as /sdc!

recovery mode fdisk -l

I tried "Reinstall GRUB boot loader" targeting /sda1 and I get an error. I tried it again with /sda as the target, and that seemed to work.

But rebooting, same black screen, single like fsck output unfortunately.


Solution 1:

I noticed the same behavior with 16.04 net install.

If your issue is the same as mine, it actually booted fine it's just showing you tty7.

Try hitting ctrl+alt+F1 that should take you to the terminal with a login prompt.

Solution 2:

I had the same problem last night with Ubuntu 15.10. Turned out I knocked out a SATA connector on a (secondary) drive. No actual error is output here, which was quite confusing until I opened up and noticed the connector out of place.

Leads me to think that for you it’s looking for the flash drive using some sort of identifier that in some way has changed between the live USB boot and the boot of the installed system, or you just haven’t tried booting with the drive attached.

Boot a live OS (you should be able to get away with reusing your Ubuntu Server flash drive – hit Alt to get to a command line). Get a list of disks and partitions:

# fdisk -l | less

Obviously it’ll be on sdc, but determine which partition is the ext4 system one.

Mount the partition (assuming sdc2):

# mkdir /mnt/ssd
# mount /dev/sdc2 /mnt/ssd

Now inspect its fstab:

# nano /mnt/ssd/etc/fstab

If this is a UEFI install, you should probably only have lines for the EFI system partition (/boot/efi), the boot partition (/boot), and the system root (/). The setup helpfully annotates the lines it made in the generated fstab, so anything not on /dev/sdc* should be removed (or just comment it out to be safe).

Save that (CtrlX, Y, Enter), and do

# sync
# reboot

to ensure changes are committed to disk and reboot. Disconnect the flash drive and see how it goes.

A few common reasons I’ve seen flash drives appear before the system drive are due to a BIOS setting being used that allows you to fake the drive to another type (floppy drive, hard drive, etc) rather than relying on the drive’s own identification, or because the drive has had the removable bit turned off. Are you using the same drive for the 14.04 installer as you are for 16.04? If you’re certain it’s not on your end then it does sound like an OS bug.