Ubuntu – Grub not showing on startup for Windows 8.1 Ubuntu 13.10 Dual boot

13.10dual-bootgrub2uefiwindows 8

Ok, so I'm such a newbie to Ubuntu and I bought a Windows 8 pre-installed laptop last month.

I updated to Windows 8.1 and then I thought about installing Ubuntu as a dual boot so I could mess around and learn more about it.

So I followed a Youtube tutorial ( http://www.youtube.com/watch?v=dJfTvkgLqfQ ) and I got my stuff working fine.

The first few times I booted I got the GRUB menu instead of my default HP Boot OS Manager, and I was able to select my OS.

So I went to sleep and the next day I turned on my computer and the GRUB menu did not show up. I tried several times and it didn't automatically show up.

In order for me to see the GRUB menu I had to turn on my PC and on start had to press ESC to pause startup and press F9 to get boot options. Then from there I had to pick from OS Boot, Ubuntu, Ubuntu (Yes there were two Ubuntus available) and a default EFI file thingy.

When I click the first Ubuntu I get the GRUB Menu (I was too scared to try the second in case I screwed my laptop up) and I can safely load Ubuntu from there and use it (although I do have to increase my brightness every time I load Ubuntu because it somehow reduces my brightness to complete darkness on boot)

So my problem here is why isn't my GRUB showing on boot, after it worked on the first day?

My laptop is a HP TouchSmart j-078CA.

EDIT 1: FYI I just switched to Ubuntu LiveCD to check my Installation and found out that one of my partition is flagged as msftres. Here is a screenshot of my GParted on a LiveCD: Gparted on LiveCD

Best Answer

First, turn off the Windows 8 Fast Startup feature, as described here. That feature causes filesystem corruption, which can in turn cause odd boot issues. There's a good chance that this issue caused your problem initially. Disabling Fast Startup might or might not cause GRUB to reappear the next time you reboot.

If that doesn't fix the problem, you should try re-registering GRUB with your firmware's NVRAM. The way to do this that's most reliable is to use bcdedit in Windows. Open an Administrator Command Prompt window and type:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

If you're booting with Secure Boot active, change grubx64.efi to shim.efi (or maybe it's shimx64.efi; in Linux, check the contents of /boot/efi/EFI/ubuntu to see what's there). Doing this in Windows is more reliable than other methods because some users have reported that some versions of Windows repeatedly re-register themselves as the default boot loader if the default is set outside of Windows. Although this is rare, it's consistent with what you're seeing, so using Windows for this task may be necessary.

An easier way to do it, but potentially less reliable in your case, is to use Boot Repair. This tool automatically fixes certain types of boot problems, and it's likely to work for you. The biggest risk is that if an overzealous Windows caused GRUB to become inaccessible to begin with, the Boot Repair change won't work.

If you continue to have problems, post back with details. (If necessary, edit your original post and comment on this one to alert me to the change.)

Related Question