15

I installed Ubuntu on a Dell XPS 13 laptop that had Windows 10 preinstalled on it. I installed it from a USB flash drive on a partition. When I boot my computer I can only boot into Windows 10 and Ubuntu is nowhere to be seen.

If I boot into my USB then I can see that Ubuntu is installed, but I can't get to it from the BIOS boot menu.

karel
  • 114,770
Haim
  • 273

7 Answers7

8

Immediately after the motherboard / computer vendor logo splash screen appears when the computer is booting, with BIOS, quickly press and hold the Shift key, which will bring up a GNU GRUB menu screen. With UEFI press (perhaps several times) the Esc key to get to the GNU GRUB menu screen. Select Ubuntu from the GRUB menu and press Enter.

From Ubuntu open the terminal and type:

sudo update-grub && sudo reboot

If this doesn't work try booting to an Ubuntu live session from the USB flash drive that you used to install Ubuntu, and repairing the GRUB bootloader with Boot Repair. From an Ubuntu live session open the terminal and type:

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

Open the Boot Repair application and select Advanced Options -> Main Options tab -> check Reinstall GRUB and Unhide boot menu as shown in the below screenshot. Click the Apply button. Then reboot the computer with sudo reboot

enter image description here

If the OSs were installed in different modes, dual booting Windows and Ubuntu with grub can't work. If your Windows is installed in BIOS mode, it is recommended to install your Ubuntu in BIOS mode, but if it's installed in UEFI mode, then do the same with Ubuntu. To check if your Windows is installed in UEFI, press the keyboard combination Windows + r then enter the command msinfo32 in the Run window. In the new window that opens up look for the entry after where it says BIOS Mode.

enter image description here
          BIOS vs. UEFI

If you have installed Ubuntu in legacy mode on the same drive with GPT partitioning, you can use Boot Repair's Advanced options to uninstall grub-pc and install grub-efi-amd64. That converts the Ubuntu installation from BIOS boot to UEFI boot, the same firmware as most recently manufactured laptops with Windows pre-installed have.

Converting Ubuntu into UEFI mode

  1. Start Boot-Repair, and select Advanced options -> GRUB location tab.
  2. If you do not see a Separate /boot/efi partition option, this means that your PC does not have any UEFI partition.
  3. If you see a Separate /boot/efi partition option, put a checkmark in the checkbox to the left of it, then click the Apply button in the lower right corner.

enter image description here

  1. Set up your BIOS so that it boots the hard drive in UEFI mode. The way to adjust this setting depends on the specific model of the computer, but generally this setting is located in the boot priority settings under the Boot tab of the BIOS/UEFI setup utility.

Converting Ubuntu into BIOS mode

Note: Use this procedure only to convert an UEFI mode Ubuntu installation to boot in BIOS/CSM/legacy mode. Such a conversion may be necessary if some hardware doesn't work correctly under UEFI mode. (Graphics cards are a common source of problems.) Converting to boot in BIOS/CSM/legacy mode while Windows boots in UEFI mode can make the boot process more awkward -- you'll need to use the computer's built-in boot manager to switch between OSs, and some computer's have such poor boot managers that this may be impossible.

  • If Ubuntu is installed on a GPT disk (you can check it via the sudo parted -l command), use GParted partition editor to create a BIOS-Boot partition (1MB, unformatted filesystem, bios_grub flag) at the start of its disk.
  • Start Boot-Repair, and select Advanced options -> GRUB location tab.
  • Uncheck the Separate /boot/efi partition option

Uncheck the Separate /boot/efi partition option

  • Click the Apply button in the lower right corner.
  • Set up your BIOS so that it boots the HDD in Legacy mode. Generally this setting is located in the Boot tab → Boot order section of the BIOS.

Converting Windows into GPT mode

MBR2GPT.exe is a command line tool which is located in the System32 folder in Windows 10. With it you can effectively and non-destructively convert a Windows 10 OS disk from MBR (for Legacy BIOS) to GPT partition style (for UEFI) without modifying/deleting any data on the disk or making a clean installation of Windows 10.


Links:

karel
  • 114,770
  • what is BIOS/UEFI splash screen? – Line Feb 07 '22 at 17:47
  • 1
    @Line The splash screen is the black screen with the motherboard / computer manufacturer's logo on it that appears when booting the computer. – karel Feb 08 '22 at 01:37
7

Disable the hibernation mode and Fast Boot in Windows.
Open command prompt as administrator and execute :

powercfg /h off  

Open the legacy version of the Windows Control Panel (not the modern version).
Select Energy Settings, enable show hidden settings and uncheck Fast Boot.
After having done this - shutdown the computer completely - do NOT reboot.
Boot into the BIOS and select Ubuntu as the default operating system to boot.

Update :

In case there is no Ubuntu entry to be found in the BIOS / UEFI settings,
re-install the GRUB boot loader to your Ubuntu installation in EFI mode.
Boot from the Ubuntu installation media - open a terminal and execute:

sudo mount /dev/sdXXX /mnt
sudo mount /dev/sdXX /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/sdX
update-grub  

Note:

sdX = disk | sdXX = efi partition | sdXXX = system partition

To identify the partition numbers use GParted - it is included in the Ubuntu installation media.
Boot into BIOS and select Ubuntu in UEFI settings to be the default operating system to boot.

cl-netbox
  • 31,163
  • 7
  • 94
  • 131
  • 1
    Thanks! I can't see Energy Settings in the control panel? – Haim Dec 10 '15 at 18:33
  • @Haim : It is there ... something with energy ... search through the old version of control panel ... maybe fast boot is already disabled after you executed the command. :) – cl-netbox Dec 10 '15 at 18:35
  • 1
    Ok, I restarted and still the boot menu doesn't show UBUNTU – Haim Dec 10 '15 at 18:39
  • @Haim : Did you switch the default operating system to Ubuntu in BIOS / UEFI settings ? :) – cl-netbox Dec 10 '15 at 18:41
  • where would I do that? BTW thanks for trying to help me out – Haim Dec 10 '15 at 20:21
  • @Haim : You're welcome ! You have to look into the DELL XPS 13 manual ... but if DELL did not change it, this would be the F2 key - so start the computer and immediately press F2 to access the BIOS settings. :) – cl-netbox Dec 11 '15 at 11:06
  • Thank you so much for all your help, I ended up figuring it out. When I was loading the USB I was loading it and installing UBUNTU from the legacy boot. I tried it again while loading from the UEFI boot and it all works! – Haim Dec 11 '15 at 15:29
  • "Open the legacy version of the Windows Control Panel" - how to do that? – Line Feb 07 '22 at 17:45
1

I had the exact same problem. What fixed it for me was this: I have 2 different hard drives installed. It took me forever to figure this out but was solved it was changing the boot priority from the first to the second drive. Probably the boot manager for ubuntu was installed on the other drive so it couldn't find it and booted straight into windows.

Hellwerker
  • 11
  • 2
1

I had a similar issue, and it turned out that the problem was that there wasn't a working driver for my GPU preinstalled on the OS. My solution was to enter Recovery mode. At the GRUB menu press the down arrow key until you select the 2nd entry from the top (the entry with the recovery mode in its description) and then press Enter twice.

Now you should see this Recovery Menu:

enter image description here

Select the network option from the Recovery menu and press Enter.

Select the root option from the Recovery menu, and then use the command line to run ubuntu-drivers autoinstall && reboot to automatically install the proprietary graphics driver.

karel
  • 114,770
1

What worked for me is selecting OS boot manager in the BIOS boot Options menu and pressing Enter.

Boot Options menu in BIOS:

enter image description here

A popup should appear asking whether you want Windows or Ubuntu boot manager. Use F5/F6 to move Ubuntu to the top.

After clicking enter after selecting OS boot manager:

enter image description here

Then exit BIOS by saving settings. It should boot into GRUB after that. Unfortunately none of these other answers worked for me.

karel
  • 114,770
1

For all cases when grub has been successfully installed in the ESP (EFI System Partition) but the installer didn't (or couldn't) change the boot order, users have to do it manually by opening UEFI settings -> Boot tab (the actual menu name could vary) and select Ubuntu as the first boot option in the boot sequence. That should enable the computer to boot to the GRUB menu which in turn allows selecting Ubuntu or Windows.

karel
  • 114,770
1

Shutdown. Then press F12 on boot and use arrows to choose ubuntu (note lowercase).

Also, you should try shutting down, press F2 to open BIOS/UEFI settings and disable Secure Boot and make ubuntu top priority. Then GRUB can boot Windows.

If that doesn't work check the fast boot settings in BIOS and the power settings in Windows.

  1. Search for and open Power Options in the Windows Start menu.
  2. Click Choose what the power buttons do on the left side of the window.
  3. Click Change settings that are currently unavailable.
  4. Under Shutdown settings disable Turn on fast startup by unchecking it.
karel
  • 114,770
Joseph
  • 183