13

I have installed Windows 7 and Ubuntu in dual mode in different drives. I replaced Windows 7 with Windows 10. Now only Windows 10 boots; it's not showing the Ubuntu option at boot time.

How can I solve this problem?

1
6

First boot to Windows 10 and disable Fast Startup. Here is a tutorial to do this

Now you need to have live boot Ubuntu (like the way you did when you first installed Ubuntu). You need to have a working internet connection for this.

After you boot to Ubuntu you need to type these commands in terminal line by line:

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

After Boot Repair software is installed it will launch automatically. Then click on Recommended repair. Now reboot, if everything goes fine you will get option to select OS of your choose when you start your computer

enter image description here

1
  • 1
    You save my bacon, mate, thanks! I had to do a Unetbootin installation and after installing Ubuntu on a Win XP machine, it didn't appear on boot. Now it's all fine and dandy.
    – brasofilo
    Jan 14 '19 at 3:48
5

In my case, GRUB Boot Manager menu suddenly got skipped and my laptop would proceed to windows directly.

After trying all of the above without help, I found that in the BIOS menu page (F10 at boot) in the booting device menu, the main boot option (Hard Drive) suddenly had a new sub-menu (the EFI Menu, marked by a right-arrow) and inside that sub-menu it showed Windows Boot Manager on top of Ubuntu Boot Manager. Changing their order (using F6-F5) restored the GRUB Boot menu.

3
  • 1
    Welcome to Ask Ubuntu! In its current form your answer is not as good as it could be. Could you review How to Write a Good Answer, and Style guide for questions and answers.
    – J. Starnes
    Jan 3 '18 at 6:22
  • thanks, this is the solution for me. My scenario: updated my Gigabyte AROUS X570 BIOS, then I lost the boot menu. So I entered the BIOS menu page as mentioned above and did found the order of booting is changed, so I changed it back to let Ubuntu on the top and my problem is solved.
    – Franva
    Oct 10 '20 at 6:59
  • thanks, this worked Jul 22 at 11:15
3

Method 1:

Live boot ubuntu and select try ubuntu option from the grub menu that appears and then install boot repair by typing in following commands.

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair

Although using the boot repair is the best solution, but still if it does not help you out you can try this method.

Method 2: In Windows, go to the start button in the bottom left corner and click it. Then, find Command Prompt, Its in apps/windows system, right click on it to run it as administrator. Now type this and hit enter. bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

Next time you reboot you will see your grub menu again.

1
  • Method 2 worked for me, did not try method 1, thanks!
    – Shubham
    Aug 28 at 9:45
1

First you will have to disable hibernation and Fast Boot in your Windows 10 installation.
Boot into Windows, open command prompt as administrator and execute this command:

powercfg /h off  

To disable Fast Boot open Control Panel (the old version - not the modern design),
select the Energy Settings, enable show hidden settings and uncheck Fast Boot.

Shutdown the machine (do NOT reboot) completely.

In case you have an older machine with legacy BIOS -
reinstall GRUB bootloader to your Ubuntu installation in legacy mode.

Boot from the Ubuntu install media - then open a terminal and execute:

sudo mount /dev/sd** /mnt  
sudo grub-install --boot-directory=/mnt/boot /dev/sd*

Note 1 : sd* = disk | sd** = system partition

In case you have a newer machine with UEFI BIOS -
reinstall GRUB bootloader to your Ubuntu installation in EFI mode.

Boot from the Ubuntu install media - then open a terminal and execute:

sudo mount /dev/sd*** /mnt
sudo mount /dev/sd** /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sd*
update-grub  

Note 2 : sd* = disk | sd** = efi partition | sd*** = system partition

Boot into BIOS and change the boot order in UEFI settings.
Select Ubuntu to be the default operating system to boot.

Note 3 :

When the disk layout of your computer is configured as mbr partition table (legacy BIOS) :
Install GRUB to the same disk where Windows is installed, if it is the first disk in your PC it is sda.

When the disk layout of your computer is configured as gpt partition table (UEFI) :
Install GRUB to the already existing EFI partition where all the boot loaders have to be installed.

To identify the partition numbers use GParted. The tool is included in the Ubuntu install media.

0

Not the answer you're looking for? Browse other questions tagged or ask your own question.