5

I installed Windows 7 on an SSD and upgraded it to Windows 10. Then I installed Linux mint 17.2 Cinnamon and had the following partitions:

The boot menu was showing Linux Mint and Windows 10 and I thought everything was fine. UEFI boot configuration showed "ubuntu". However after booting Windows and then rebooting, grub was gone, and in boot configuration there was only "Windows Boot Manager" available. When I repaired grub2 with grub-install and grub-update I was able boot Linux Mint again, but only as long as I don't boot into Windows 10, which seems to wipe out grub like this every time.

Secureboot and Fastboot are disabled.

/boot/efi contains folders Boot, Microsoft and ubuntu.

Did I do something wrong? How can I get grub2 working permanently?

4
  • Sorry, but this link does nothing for me. I can't be the only one that wants to get Windows 10 and Linux Mint working together on an UEFI system like this.
    – Kana
    Commented Nov 9, 2015 at 10:48
  • probably not. but the point is you don't need grub - just put your mint kernel and your windows loader on your esp and boot them. maybe you didn't read the link?
    – mikeserv
    Commented Nov 9, 2015 at 11:00
  • I did read that actually, and I gave it a try to copy vmlinuz and initramfs (there seems to be no such thing in mint, is this initrd.img? And also no initramfs-fallback.img). I only found some info how to do this on arch linux, not how it could be accomplished with other distributions. My UEFI boot menu didn't show any new options after that... Even so, this seems to be doing something completely else, by avoiding the problem. But I want to know what the problem is and how I can fix it.
    – Kana
    Commented Nov 9, 2015 at 17:01

5 Answers 5

11

I found the problem. Looking at the NVRAM with sudo efibootmgr I noticed that the Windows boot loader somehow seems to have the urge to be the first entry in the boot order. When I changed it to grub2 being first, windows overwrites entry 0000 and changes the boot order, even if grub2 was 0000 before, therefore overwriting it.

The solution was setting the Windows boot manager entry inactive but leave it in first position of the boot order:

sudo efibootmgr --bootnum 0000 --inactive sudo efibootmgr --bootorder 0000,0002,000C,000D

(with 0002 being grub2)

1
  • 3
    Thank you, this seems to be the only solution that consistently works on any distro and laptop vendor, and it's just one (if boot order is fine) command. Commented Oct 17, 2019 at 21:50
3

This worked for me:

  1. Used Super Grub Disk to load Windows (you’ll have option to choose from available OSs.)
  2. Turned Fast Boot off. See elsewhere for instructions.
  3. Turned Restore off. See elsewhere for instructions
  4. Used the command below with Admin privilege:

.. type the following command in a admin command prompt:

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

  1. Always Shut Down Windows, not Restart.
1

I face exactly same problem to yours. And here is my solution.
PS. My computer is ASUS and my first os is Win10 the second is ubuntu.

First please make sure Win10 completely shutdown by turnoff the quick startup of Win10. Prevent the issue that Win10 might not completely shutdown.
https://www.tenforums.com/tutorials/4189-turn-off-fast-startup-windows-10-a.html

I found that there is a solution use the software 'boot-repair'. https://help.ubuntu.com/community/Boot-Repair

So I use the boot usb, by which I could access the ubuntu os environment.
Then open the terminal, and go thru the commands below.

    sudo add-apt-repository ppa:yannubuntu/boot-repair
    sudo apt-get update
    sudo apt-get install -y boot-repair && boot-repair

After the process completed, reboot the computer.
Use special key to go into BootMenu. In my case (ASUS desktop) F8.
http://www.disk-image.com/faq-bootmenu.htm

Do not go into the BIOS/UEFI setting mode!!

(I tried many times if I get into the BIOS/UEFI mode to change the boot sequence it will not work. I can see the Ubuntu option appear again, however after i put it to the first option and restart, it directly go to the Win10. I double check from the BIOS/UEFI mode, it simply make the Ubuntu option disappear again...)

Change the boot option sequence to what U expect.(Ubuntu to first) Then the problem solved. boot optionos selection

1

Unfortunately, the solution with efibootmgr didn't work for me, because I wasn't able to see the ubuntu or grub in EFI devices list.

Here is an extremely simple solution:

Boot into your Ubuntu or live CD with Ubuntu-based distro, and get yourself: https://help.ubuntu.com/community/Boot-Repair

Proceed regularly, which after you should have your GRUB2 back. However, there is a little part of the success message that should be interested - at the end of "success message", you should see something like this:

.. For example, you can boot into Windows, then type the following command in a admin command prompt: bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi.

Literally all you have to do is run what it said. Open CMD and run that command. Of course, the .efi file may vary, I am not sure - this was tested on mainline Ubuntu 18.04.

1
  • Had this problem with Windows 10 1909 with xubuntu 20.04. This worked for me, thanks.
    – dethorpe
    Commented Jun 14, 2020 at 13:45
0

Some BIOS/EFI will by default point to EFI\Microsoft\Boot\bootmgfw.efi . Just move EFI\Microsoft\Boot\bootmgfw.efi and EFI\Microsoft\Boot\BCD to EFI\Microsoft\win10 , or just move the whole folder and toast the EFI entry using bootice or something similar and it will use the fallback efi loader \EFI\Boot\BOOTX64.EFI .

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .