Change the boot order with no option in UEFI settings
In Ubuntu you can use efibootmgr
to achieve this.
Open the Terminal.
Type
efibootmgr
Enter. You'll see a list of available boot options. Each option will have a number. Numbers may not be sequential - don't worry, it's normal. Here's an example output:BootCurrent: 0000 Timeout: 2 seconds BootOrder: 0001,0000 Boot0000* ubuntu Boot0001* Windows Boot Manager
Figure out the boot order you'd like to use. For the example above, it would be
0,1
(because Ubuntu is 0 and Windows is 1). Most of the time only first number matters. The second one would be used if first one is unavailable.Update boot order:
sudo efibootmgr --bootorder 0,1
The solution described in my first answer is valid in general cases, but it seems that InsydeH2O UEFIs may ignore boot order. Many laptop manufacturers use Insyde firmware, so many models are affected by this issue. Yours uses Insyde UEFI too, as indicated by the presence of EFI/Insyde
directory on the EFI System Partition (ESP, mounted as /boot/efi
under Linux).
A question about similar issue was asked on AskUbuntu. Its OP analysed how this UEFI looks for boot candidates on ESP. The order is:
EFI/Microsoft/Boot/fwbootmgr.efi
EFI/*/grubx64.efi
EFI/Boot/bootx64.efi
They have described their experiments and final setup in their self-answer, so I won't repeat that knowledge here.
Keep in mind that Windows may not be able to properly restore from hibernation/hybrid shutdown after messing with its boot files, as noted by another user in a comment.
Note that you can access the ESP under Windows too by mounting it using the diskpart
tool:
- Launch
diskpart
by typing its name in the Start menu. - List partitions and find ESP:
list partition
Enter. Look at partition labels and sizes, ESP will typically be under 600 MB. - Select ESP:
select partition <x>
(<x>
is number from the previous list) - Mount the partition:
assign letter=Z
. A new drive Z: will appear.