If you are the an open source fanatic who has been sold a laptop with Windows 8 on it in India, you would have been reminded to upgrade to Windows 8.1 by Microsoft periodically. I was reminded 3 times. Each time I chose to ignore it. Finally, I decided to upgrade from Windows 8 to Windows 8.1. This upgrade went very smoothly. However, as is always been the case, Microsoft decided that it needs to change my boot loader entries. I could not boot into Ubuntu.
End result of the Windows 8 to Windows 8.1 upgrade, I was left with a system that booted straight into Windows without even showing the boot menu for me to select Ubuntu. Fortunately, not all was lost.
On the Lenovo Ideapad, there is small button next to the power on button. I pressed that and voila… I could select an option from the BIOS menu. I selected Boot Menu and then Ubuntu from there. After successful boot into Ubuntu, it was now time to restore Ubuntu as the default entry.
To change the default boot menu option we need to use the efibootmgr to change the boot order, start up a terminal window. now type the following command.
$ sudo efibootmgr <enter>
You see the following display.
BootCurrent: 000B
Timeout: 2 seconds
BootOrder: 000D,000B,000C,000A,0003,0004,0005,0006,0007,0008,0011
Boot0000 Setup
Boot0001 Boot Menu
Boot0002 Diagnostic Splash
Boot0003* ATA HDD: ST1000LM024 HN-M101MBB
Boot0004* USB HDD:
Boot0005* ATAPI CD: MATSHITA DVD-RAM UJ8D1
Boot0006* USB FDD:
Boot0007* PCI LAN: EFI Network (IPv4)
Boot0008* USB CD:
Boot000A* Fedora
Boot000B* ubuntu
Boot000C* Fedora
Boot000D* Windows Boot Manager
Boot0011* PCI LAN: EFI Network (IPv6)
Boot0012* Lenovo Recovery System
Now, see the entry that says Boot Current –> 000B. i.e. Ubuntu. I booted into Ubuntu to get here 🙂
Next, see the BootOrder, you find that it points to Windows Boot Manager —> 000D. This is what we need to change the boot order to boot to 000D which is Ubuntu.
To do this, type:
$ sudo efibootmgr -o b,d,c,a,3,4,5,6,7,8,11 <enter>
BootCurrent: 000B
Timeout: 2 seconds
BootOrder: 000B,000D,000C,000A,0003,0004,0005,0006,0007,0008,0011
Boot0000 Setup
Boot0001 Boot Menu
Boot0002 Diagnostic Splash
Boot0003* ATA HDD: ST1000LM024 HN-M101MBB
Boot0004* USB HDD:
Boot0005* ATAPI CD: MATSHITA DVD-RAM UJ8D1
Boot0006* USB FDD:
Boot0007* PCI LAN: EFI Network (IPv4)
Boot0008* USB CD:
Boot000A* Fedora
Boot000B* ubuntu
Boot000C* Fedora
Boot000D* Windows Boot Manager
Boot0011* PCI LAN: EFI Network (IPv6)
Boot0012* Lenovo Recovery System
Now you can see that the BootOrder has changed to 000B first.
Reboot the computer and you are done. As is appropriate, make sure you do have a back up of all your data before running above step.