Ubuntu – Cannot boot after Ubuntu 13.10 install on UEFI machine

bootinstallationuefi

My ultimate goal is to get Ubuntu working on my new Sony Vaio Pro 13, a Haswell ultrabook. The hardware seems to be well-supported as I can boot a LiveCD and use the system fully for as long as I wish.

The Sony Vaio Pro 13 has a UEFI BIOS and seems to be tightly integrated with the Windows 8 which it came preinstalled with. I have tried multiple ways of installing Ubuntu 13.10 and none get me to a point where I can boot my machine into Ubuntu.

When performing the installation with the BIOS turned to Legacy mode, near the very end of the installation it crashes hard with a kernel panic ("not syncing: Attempted to kill init!"). Installation with UEFI turned on (Secure boot turned off) succeeds perfectly. However, upon rebooting I simply receive a BIOS screen saying that the Vaio could not boot Windows. Switching to Legacy mode nets me an 'Operating system not found' error.

As far as I can tell, the BIOS on this machine has absolutely no option to bring up a boot selection menu. When installing in Legacy mode, the Ubuntu installer recognizes that Windows 8 is present and I asked it to install in a dual-boot configuration. When installing in UEFI mode, the installer recognized the previously attempted Ubuntu installation (which failed with a kernel panic) but did not mention Windows 8 at all. I asked the installer to erase the prior Ubuntu install and replace it. The install succeeded without issue, but left my system in a state where it can not boot to either Ubuntu or Windows 8. I'm not terribly concerned about preserving Windows 8, but I would like to be able to boot SOME OS to use the machine… Right now I'm just using the LiveCD which works perfectly.

I'm an experienced Linux user and software developer, but I'm not very familiar with the changes UEFI brings with it. Is there a way for me to check if GRUB is present on the disk? Is there a way to force reinstallation of it?

Best Answer

Your Boot Repair output looks OK to me -- as far as I can tell, you should be booting to GRUB when the computer starts up. It could be you've got buggy firmware, though, so you might check Sony's Web site for an update. (Of course, if you need to boot Windows to update the firmware, that could get ugly.) If you can update the firmware but the problem persists, re-running Boot Repair might fix the problem.

Another thing you can try is preparing a CD-R or USB flash drive with my rEFInd boot manager. (There are download links for both media types on that site.) If rEFInd boots, it should provide a menu with various options. The Windows option should work, as should an Ubuntu option that boots via GRUB. There should also be at least one option to boot a vmlinuz* file. This one won't work unless you hit F2 or Insert twice to edit the kernel options. Adding ro root=/dev/mapper/ubuntu--vg-root should work. If you can get into Linux via rEFInd, you can try installing the rEFInd Debian package. Ordinarily, this would set up rEFInd as your default boot manager, thus solving your problem. (This will also obviate the need to add kernel options manually.) Unfortunately, given the nature of your problem, I'm not sure this will work for you, but it's worth a try.

If installing rEFInd to your hard disk doesn't work, you could keep fiddling with EFI firmware settings in an effort to find a workaround. Check the Installing rEFInd Manually and Alternative Naming Options sections of the rEFInd documentation for some ideas. Alternatively, if a USB flash drive does the job as a workaround, you could buy a small USB flash drive to hold rEFInd and leave it permanently installed in one of your computer's USB ports. (Some drives are very small -- nearly flush when fully inserted.)

One more comment: Your Boot Repair output indicates inconsistent naming of the volume group that holds your root (/) filesystem. Sometimes it's /dev/mapper/ubuntu--vg-root, but other times it's /dev/mapper/ubuntu-vg-root. It looks to me like the former is correct and the latter is a result of a bug in the Boot Repair script itself, but it's worth keeping this inconsistency in mind. I vaguely recall hearing of a case in the past when somebody used a dash (-) in a volume group name and it caused problems, but I don't recall the details. It's unlikely that this is the source of your current problem, since it sounds like nothing that could read the volume group is even launching, but if you get rEFInd or GRUB to launch but then run into problems getting the system to fully boot, you might just try deleting the whole physical volume and re-installing again, this time using a volume group name that lacks a dash.