I try to boot my computer into Ubuntu, but I end up having to manually select Ubuntu from the devices menu, even though it was supposed to boot first. Instead Windows 8 boots up like Ubuntu isn't even there! And GRUB works just fine when Ubuntu is selected in the boot device menu. (How else am I on?) I tried using EasyBCD but kept getting errors from the Windows Boot Manager. And just in case it helps, during installation of Ubuntu it didn't recognize Windows 8, and I had to resize and install manually. Anything I can do?
Notes: EVERYONE!!! GRUB WORKS PERFECTLY!!! IT IS AN ERROR IN THE HP BOOT MENU AS I HAVE PREVIOUSLY SAID!!! PLEASE DO NOT GIVE ME ANSWERS FOR GRUB EDITS IN THE FUTURE!!!
Here are my specs:
PC type: HP 2000-2d49WM Notebook PC
RAM: 4GB
Swap: 2GB
Processor: AMD E-300 Vision 1.3 GHz x2
BIOS Edition: N\A Until further notice
I've faced a similar problem with another HP notebook.
The problem is that even if you change the EFI boot order permanently (with command: "efibootmgr -0", for example), your change will be overwritten each time you boot Windows.
To workaround the problem, I had to install rEFInd manually.
Then, I've located the default EFI boot loader (.efi), backed it up and replaced it by the one from rEFInd (renamed) [don't forget to copy other folders and files pertaining to rEFInd in the same folder]. I don't remember which one was the default EFI boot loader and I can't check on the computer since it is owned by one of my customers.
WARNING : If you have to apply that tricky workaround, please ensure that you can boot on the normal installation of rEFInd via the boot menu before, so that you can easily revert the changes in case of problem or if you change your mind in the future!!!!!
rEFInd manual installation procedure is available here: http://www.rodsbooks.com/refind/installing.html#linux
For a clear example for changing EFI boot order permanently with efibootmgr (will probably not work on your computer, as stated above, however I highly recommend to try that first), please take a look at this post from Rod Smith (the creator of rEFInd).
It seems that the renaming trick is now fully documented on the official Web site of rEFInd : http://www.rodsbooks.com/refind/installing.html#naming, http://www.rodsbooks.com/refind/installing.html#manual_renaming
rEFInd is really user-friendly (once installed) and allows to workaround such poor EFI implementations.
Step by step, failsafe approach
Trying to change UEFI boot order with efibootmgr
Under Ubuntu, open a terminal and install "efibootmgr", if it is not already installed, by using the following command:
sudo apt-get install efibootmgr
Retrieve EFI boot order and entries with the command:
sudo efibootmgr -v
Notes:
BootCurrent: 0002 (indicates the UEFI boot entry used for booting).
BootOrder: 0002,0003,0001,0000 (indicates the UEFI boot order defined).
Boot000x* (represents one boot entry. It is followed by its name, HD and EFI file. All the boot entries are listed below "BootOrder").
Define the new boot order with the command:
sudo efibootmgr -o 0001,0002,0000,0003
In the command above, I suppose that Ubuntu entry is 0001, Windows is 0002, Recovery is 0000, Diagnostics is 0003. Of course, you may have more or less entries and/or wish to setup a different order. I suggest that you copy the "BootOrder" value from the command "sudo efibootmgr -v" and adapt it as you want. Then check the result of the command.
Check again the "BootOrder" with the command used at step 2.
Restart your computer properly and check that the system boots the expected (first) entry of the new boot order (here, Ubuntu). If it works, restart and try to boot Windows (via UEFI menu), then restart the computer again and check that Ubuntu is still booted by default. If it works as expected, you're done! The EFI implementation is correct and you don't need to do anything more. If not, jump to the next solution.
Installing and configuring rEFInd
cd ~/Downloads/refind-bin-0.8.1/
);rm refind_ia32.efi
at step 3;sudo nano ./refind.conf
orsudo -i gedit ./refind.conf
. I'm assuming that the current directory is still rEFInd's directory on the ESP. You will be very interested in "timeout" (value like: 1) and "default_selection" (value like: Ubuntu) parameters to configure automatic boot to Ubuntu.sudo efibootmgr -v
which can be very helpful to get this information.sudo -i nautilus
if you are not very familiar with the command line. Assuming that the ESP is mounted at /boot/efi, you can use the following command :sudo cp -r /boot/efi/EFI/refind/* /boot/efi/EFI/Microsoft/Boot/
. Don't forget to adapt the destination path as required.sudo mv bootmgfw.efi bootmgfw.bak
, if you are in the right folder. You can usecd /boot/efi/EFI/Microsoft/Boot/
to switch to that folder [I'm still assuming that ESP is mounted at "/boot/efi" and that the relative path to the default EFI file is "EFI/Microsoft/Boot/"]);sudo mv refind_x64.efi bootmgfw.efi
, if you are in the right folder.First boot from
live ubuntu cd
orLive ubuntu flash drive
andconnect to internet
. After that go to termianl byctlr+alt+T
and just use the command below,This actually fix any problems with boot. If it still do not work for you just leave the error report in the add command section. You will find I have attached a link, it has
screen short and clear instruction
. Just go to the link if something still not clear to you. Have Fun.Reference link: FOLLOW ME FOR FURTHER CLARIFICATION !
Sounds to me like you have done a UEFI install. Windows 8.1 is not going to quietly let you use Linux next to it. If you absolutely must use Windows Boot Manager instead of Ubuntu's UEFI option, in the case that your motherboard somehow won't accept anything other than the Windows Boot Manager option, you need to edit Windows Boot Manager inside Windows by opening command prompt with admin rights and using bcdedit like so:
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
If you are using Secure Boot, you will need to use the following:
bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi
Sounds to me like you have done a UEFI install.
Windows 8.1 is not going to quietly let you use Linux next to it. If you absolutely must use Windows Boot Manager instead of Ubuntu's UEFI option, in the case that your motherboard somehow won't accept anything other than the Windows Boot Manager option, you need to edit Windows Boot Manager inside Windows by opening command prompt with admin rights and using bcdedit like this:
This worked fine for me.
Start up in ubuntu. Go to the terminal. And re-install your grub with the following command:
sudo-grub-install /dev/sda
This in the suppose that ubuntu is installed on sda (the most likely). Otherwise change this to the wright component.