How to point to GRUB instead of windows loader?
Try the following:
- Boot to Linux.
- Open a Terminal window.
- Type
sudo efibootmgr -o 1,2
.
In theory, this should set up Linux (Boot0001
in the efibootmgr
output) as the first item in the boot list, followed by Windows (Boot0002
). Unfortunately, some computers (notably many HP models) have broken EFIs that ignore this parameter. If you've got such a computer, you may need to:
- Re-launch Boot Repair.
- Select the Advanced options in Boot Repair.
- Check the option to back up and rename the Windows boot files.
- Click Apply to make the changes.
This procedure applies an ugly hack of a solution for the ugly problem of a broken EFI: It renames the Windows boot loader file and puts a copy of GRUB in its place. That way, the broken EFI will launch GRUB, thinking it's the Windows boot loader. Boot Repair will also adjust GRUB configuration to launch Windows from its new name. It's possible to do this manually; Boot Repair just makes it easier to do it.
Alternatively, you could return the computer for a refund and buy something with a less-broken EFI. In the long run, if you've got an EFI that's broken badly enough to need this second (ugly hack) solution, that's the better solution. If people accept broken firmware, manufacturers will continue to sell us broken firmware, so we'll be dealing with the same problem in the future. If we return defective products, manufacturers are more likely to take notice of the problem and fix it.