0

I had a laptop running Windows 10, quite nicely. I used an Ubuntu installer to try and install a dual-boot system. When it asked me if I wanted to let it install grub in the boot record, I pointedly said no.

It did it anyway. On the next boot, grub came up, with no evident way of booting to Windows. A friend who doesn't live nearby so I can't ask him all the time, worked on the problem for a while and came up with a hackish method:

  1. At the boot menu, choose "Start EFI shell"
  2. There type: fs2:\efi\microsoft\boot\bootmgfw.efi

I don't speak that language, I don't understand how that file system reference translates into regular Linux or regular Windows. But hopefully someone here does? In particular is it possible to configure grub to do that?

And, does anyone know how to more correctly install a dual-boot without breaking Windows?

4
  • I pointedly said no. It did it anyway how do you know it did? Though, it wouldn't surprise me, Ubuntu is hot garbage Commented May 25, 2023 at 4:57
  • I take it you still have the windows partitions intact and bootable like your friend taught you - in u*untu, what is the result of sudo fdisk -l Commented May 25, 2023 at 5:03
  • If you run dpkg --get-selections | grep ^grub, what is the output? Most importantly, does it include packages names grub-efi-amd64* (as a UEFI system should have)? Or are there packages named grub-pc* instead (indicating that a BIOS version of GRUB was installed instead of UEFI)?
    – telcoM
    Commented May 25, 2023 at 20:32
  • The reference fs2:\efi\microsoft\boot\bootmgfw.efi is very similar to a Windows pathname: fs2: indicates the bootloader is on the 3rd filesystem that the firmware could understand. If there is only one EFI System Partition, and it is mounted at /boot/efi as is common for Debian/Ubuntu, this should map to /boot/efi/efi/microsoft/boot/bootmgfw.efi.
    – telcoM
    Commented May 25, 2023 at 20:36

2 Answers 2

2

Things you can do to solve the issue:
(Check the 3rd method first, that only might fix the issue)

  1. Try adding menu entries to the grub menu manually: -

    • nano /boot/grub/custom.cfg = Open the grub-config file using text editor
      (sudo apt-get install nano if you don't have it installed).
    • Add
      if [ "${grub_platform}" == "efi" ]; then menuentry "Microsoft Windows 10 UEFI/GPT" { insmod part_gpt insmod fat insmod chain search --no-floppy --fs-uuid --set=root $hints_string $fs_uuid chainloader /EFI/Microsoft/Boot/bootmgfw.efi } fi
      at the end of the file (if Windows is installed in UEFI mode/GPT drive)
  2. Try updating the grub menu:

    • sudo os-prober = This command will check for other installed operating systems. Check if Windows 10 is listed in the output.
    • sudo update-grub or sudo update-grub2 (latter is preferred, if you have a newer Ubuntu version) = This command will update the grub menu with the menu entries of boot options of the operating systems found using the previous command
    • reboot = Reboot your system and check if it works.
  3. os-prober is disabled in Ubuntu 22.04 (grub 2.06) by default. Maybe that's causing the problem, so here's what you need to do to enable it (Source):

    • nano /etc/default/grub = Open the grub-file using text-editor
      (sudo apt-get install nano if you don't have it installed)
    • Add the line at the end of the document: GRUB_DISABLE_OS_PROBER=false, or uncomment this line if it exists
    • Press Ctrl+O, followed by enter to save the changes and Ctrl+X to exit the file. Update the grub menu using sudo update-grub2.
1

The installation of GRUB won't break Windows. In fact, it is most often the opposite -- a Windows 10 update wiping the Linux bootloader.

If GRUB does not show your Windows partition, you can try Boot-Repair-Disk to repair GRUB. It's an ISO you have to burn in a bootable device, and boot your system from there.

After that, if it still only shows the options to boot Linux, you can try running (from your Ubuntu install):

os-prober 

For info, I tried these on Debian some time ago, and they worked very well. On Ubuntu, you might also need to turn off GRUB_DISABLE_OS_PROBER in the GRUB options.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .