2

I have Debian 8.2 and Windows 10 on my laptop's SSD.

After I shut down Debian 8.2 and turned back on my laptop, the computer went straight into Windows 10.

I checked my BIOS to find boot options, but only Windows Bootloader was listed.

What's going on here? How do I make my computer boot into GRUB?

  • 1
    I recall hearing that recent versions of Windows will mess with the EFI variables to make themselves boot. I would recommend booting from a Linux installer stick to fix it, and then not booting Windows again. :P – Tom Hunt Nov 14 '16 at 23:53
  • Similar problem, and solution from askubuntu.se: [askubuntu.com/questions/655011/… – Alex Stragies Nov 15 '16 at 17:24
3

Some BIOSes can forget Boot settings when hardware such as hard drives are removed or rearranged in the computer. Also some Windows 10 updates can remove non windows boot options from BIOS. To fix it you can try one of these

Use efibootmgr

If you have an UEFI capable system you can try booting into a Live USB Linux as suggested in the comments and recreate the missing EFI boot entry as follows:

sudo efibootmgr -c -g -d /dev/sdx -p 2 -L "Ubuntu" -l "\EFI\ubuntu\shimx64.efi"

Where -c will create a new boot option, -g will assume a gpt partitioned disk, -d is the boot disk, -p is the partition number containing the boot loader starting from 1 (for GPT partitioned disks this is the EFI system partition), -L the title of the boot entry in the BIOS, -l the image of the loader: in case of Ubuntu 16.04 x64 with secure boot enabled in the BIOS one should use "\EFI\ubuntu\shimx64.efi", if secure boot is disabled, then "\EFI\ubuntu\grubx64.efi". Make sure the image file is located on the partition and drive specified with -d and -p

You can list existing entries and default value with

efibootmgr -v

Use boot-repair

Another option is to use the tool boot-repair as explained on its official site, after booting into a Live USB Linux.

Change boot image from Windows

If all of the above fails, you can force Windows to load the linux boot loader directly, as described on askubuntu. In Windows open a command prompt as an Administrator and run:

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

substituting with the path to your debian loader after "path".

  • I want to try the third option. How do I find the path to by Debian loader? – Username Nov 29 '16 at 5:43
  • You should navigate to the root your EFI system partition, then find files with *.efi extension. For debian should be for example: \EFI\debian\grubx64.efi – 1mi Nov 29 '16 at 12:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.