Ubuntu – Cannot Restore Grub After Windows 8.1 Upgrade

bootboot-repairdual-bootgrub2windows 8

I have an Ubuntu 13.10 and Windows 8 dual-boot working properly, and upgrading to Windows 8.1 breaks grub2 as expected. However, this time boot-repair was not able to bring grub back for me. My laptop jumps right into windows.

I double checked that Windows 8.1 re-enabled fast startup, so I've disabled it. And in my BIOS, UEIF is used for boot and secure-boot is disabled.

I have a 500GB GPT partition, in which, sda1 is the efi partion, sda2 is the /boot, sda3 is the / for ubuntu, and sda7 is the swap area. For Windows, sda4 is the msft reserve, sda5 is c://, and sda6 is Windows recovery. Those are (at least) my original setup.

Here's the boot info: http://paste.ubuntu.com/7051548/

I also tried mount my hard drive from a live ubuntu session, then re-install grub on /dev/sda, which didn't work either.

Is there any other thing I could try to bring my Ubuntu back?

Best Answer

It looks like you have run Boot-Repairs 'buggy' UEFI fix. I thought then you only could boot grub/shim. That renames the Windows efi file to a backup name and renames Windows file to actually be grub/shim.

To undo & to rename files to their original names, you just need to tick the "Restore EFI backups" option of Boot-Repair.

With the renamed file you cannot directly boot Windows from UEFI menu as it really is shim. And a Windows update may rewrite the bootmgfw.efi file overwriting the shim version, so then if you can only boot the Windows version you have to rerun boot repair. If you can boot Ubuntu entry in UEFI menu, undo the rename.

Boot-Repairs rename copies this /EFI/microsoft/boot/shimx64.efi to bootmgfw.efi Actual Windows boot file, originally bootmgfw.efi, becomes this: /EFI/Microsoft/Boot/bkpbootmgfw.efi

Also grub does have a bug and will not boot Windows 8.1 from grub menu with secure boot on.

UEFI NVRAM boot entries are cached in the BCD store BCD has 1:1 mappings for some UEFI global variables Any time {fwbootmgr} is manipulated, NVRAM is automatically updated

Alternative to Boot-Repairs rename of shim. Some systems work better to register grub/shim from inside Windows - for those that keep resetting Windows as default

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

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


Related Question