2

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

  • 1
    What do you want to happen? That Ubuntu is set to be the default OS? Can we assume you have multiple operating systems installed? Which ones? How do you normally boot? Please edit your question and clarify. – terdon May 10 '14 at 19:27
  • Probable duplicate of How do I change the GRUB boot order? – bain May 10 '14 at 19:41
  • Try sudo update-grub in the terminal. – Snyper May 31 '14 at 19:33
  • Where did you set Ubuntu as the first OS to boot? Because if you have a computer with (U)EFI you might have to set the first OS to boot in the UEFI-menu. – Kai May 31 '14 at 21:46
  • 1
    I do not have Ubuntu set as the first OS to boot. It installed as third in line, then after the update to 14.04 I got was bumped up to second in line. The UEFI Support menu for hp computers needs to be installed through Windows, but the Windows 8.1 BCD is defective and my friend is letting me borrow his installation disk on Monday June 2. As far as I know the UEFI Boot configuration order can NOT be changed in my laptop. I can still access Ubuntu, that is actually what I am using right now, but the boot menu won't be changed. – Find Me In The Woods May 31 '14 at 22:29
2
+50

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

  1. Under Ubuntu, open a terminal and install "efibootmgr", if it is not already installed, by using the following command:

    sudo apt-get install efibootmgr

  2. 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").

  3. 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.

  4. Check again the "BootOrder" with the command used at step 2.

  5. 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

  1. Disable Secure Boot feature in your BIOS, if it is not already done, in order to avoid extra complications;
  2. Under Ubuntu, Download the binary ZIP file of rEFInd from this page: http://www.rodsbooks.com/refind/getting.html;
  3. Unzip the ZIP archive;
  4. Open a terminal and move to the folder where the archive files have been extracted (the command should look like: cd ~/Downloads/refind-bin-0.8.1/);
  5. Follow the steps (1 to 6) described here: http://www.rodsbooks.com/refind/installing.html#linux. Your architecture is very probably x86-64, so use rm refind_ia32.efi at step 3;
  6. Edit the configuration file (refind.conf). Simply use sudo nano ./refind.conf or sudo -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.
  7. Restart the computer, use the UEFI boot menu for launching rEFInd and checking that its configuration fulfil your needs. If not, start Ubuntu and edit refind.conf in its directory on the ESP and repeat this step until the settings fit all your requirements. Please check that you can boot Ubuntu and Windows as well from rEFInd (longer timeout value may help).
  8. Identify which EFI file is used by default by your system and locate its folder on the ESP (It might be something like "EFI/Microsoft/Boot/bootmgfw.efi" or else). Don't forget the command sudo efibootmgr -v which can be very helpful to get this information.
  9. Copy the content of the refind folder on the ESP in the folder of the default EFI file identified at step 7 ("EFI/Microsoft/Boot/" in the example). You can even use command 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.
  10. Rename default EFI file ("bootmgfw.efi" in the example) in "bootmgfw.bak" (sudo mv bootmgfw.efi bootmgfw.bak, if you are in the right folder. You can use cd /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/"]);
  11. Rename rEFInd EFI file ("refind_x64.efi") as the default EFI file (here, "bootmgfw.efi"). Use sudo mv refind_x64.efi bootmgfw.efi, if you are in the right folder.
  12. Restart your computer and if everything is OK, you're done! If something goes wrong, you can still use UEFI boot menu to launch rEFInd, boot Ubuntu and revert the changes made in steps 8 to 10.
1

First boot from live ubuntu cd or Live ubuntu flash drive and connect to internet. After that go to termianl by ctlr+alt+T and just use the command below,

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo sed 's/trusty/saucy/g' -i /etc/apt/sources.list.d/yannubuntu-boot-repair-trusty.list
sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)

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 !

0

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

  • Now which bootmgr are we using? Windows or Ubuntu? My BCD is not functioning right now and that may affect boot, not that it has yet. – Find Me In The Woods Jun 3 '14 at 12:01
  • As stated in the answer above, this is from Windows and it modifies the boot configuration data so that the Windows UEFI entry points to Ubuntu's bootloader instead of Windows'. – mmstick Jun 3 '14 at 17:19
  • But when I boot to windows I get an error message saying "The BCD File does not have the valid information for an operating system" Would that affect anything? – Find Me In The Woods Jun 3 '14 at 17:53
  • I did it in support mode, but my only problem, the BCD is corrupted, and even though it says the operation was successful, I still can't boot right because the bcd is bad. My only option is to reset my system. That would completely erase and reset the BCD – Find Me In The Woods Jun 4 '14 at 22:27
  • Windows can rebuild the BCD if you run bootrec /rebuildbcd – mmstick Jun 5 '14 at 16:46
0

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:

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

This worked fine for me.

0

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.

  • @user280244, no need to yell (all uppercase). You can flag the answer. Comment it why it doesn't apply and, with enough reputation. you can vote the answer down. – MadMike Oct 24 '14 at 14:22
  • Change your Uefi to start from boot manager and follow the instructions bewlos if necessary. (you can start from boot manager or from EFI file).From the Startup Menu, you can access system information and diagnostics. While running UEFI applications use the arrow keys and the enter key to navigate to "Boot device options". – Julien Chau Oct 25 '14 at 16:06

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.