What are the proper steps to dual boot Windows 10 and Ubuntu 18 on separate NVME M2 SSDs?

My specs:

  • MSI MPG x570 Gaming Edge WIFI mobo (Click 5 BIOS)
  • Ryzen 3900x CPU
  • 2080S GPU

Everything I've tried:

  1. Installing Windows 10 on first SSD (nvmen0) went fine. Used a normal Windows 10 bootable USB to install. I used the default steps (no custom partitioning), which seems to use EFI (creates EFI and system partitions)

  2. Disabled Windows fast startup, secure boot (disabled by default), set UEFI.

  3. I tried installing Ubuntu on the second SSD (nvmen1).

    1. First, I tried creating an "EFI only" bootable USB (tried this on Windows both with Rufus, selecting GPT/UEFI; and I also tried the method here). However, when booting this USB, when I select "Install Ubuntu" or "Try Ubuntu" in the GRUB menu, it freezes after this (the last shown error is

      Could not get UEFI db list

      But I've seen that this error can be shown even when successful). The BIOS does recognize the USB as a UEFI device (has "U" before the icon).

    2. I also tried creating a normal Ubuntu live USB (with Rufus, leaving MBR / BIOS (or UEFI - CSM) selections). This one actually can boot and start the installation successfully.
      This way, I tried installing Ubuntu in different ways:

      1. EFI partition layout on second SSD (650MB EFI, swap, /, /home), select EFI partition as boot partition.
      2. non-EFI partition layout on second SSD (swap, /, /home)

    In both cases, after installation (which says successful), the BIOS does not recognize the second SSD as UEFI, so I can only select to boot from it with CSM. When I do, I get the

    Reboot and select a proper boot device

    error. I don't think I'm able to get the grub menu, I have also tried re-installing grub via the method provided in this answer.

  4. Lastly, I tried taking the Windows SSD out completely, and then installing Ubuntu the default way (not "something else") -- this way, Ubuntu actually booted! But then, when I connected the Windows SSD again, I could not boot from Windows anymore. If I selected to boot from that SSD, I'd get the same

    reboot and select proper boot device

    error. Also, I still did not get the GRUB menu when booting into Ubuntu.

Sorry that this is sort of a wall of text, and I hope this is an OK question to ask here. I've seen lots of related questions here, but none of them have seemed to help me.

Edit: I added "nomodeset" in grub config of EFI-only Ubuntu USB based on oldfred's answer, and then I could actually boot it with UEFI. Apart from that, I also realized that apart from the normal boot priority menu, (which listed UEFI hard disk only once with windows), there was also separate boot menu to change the priorities within a bootable device type (i.e. could change priorities of UEFI hard disk -- ubuntu or windows).

Summary of the steps that worked for me:

  • Install windows on /dev/nvme0n0 (first SSD)
  • Disable fastboot in windows
  • In BIOS, make sure Secure Boot is disabled, UEFI enabled
  • Create UEIFI Ubuntu USB with Rufus (GPT / UEFI)
  • Modify grub config on USB --> add "nomodeset" before "quiet splash"
  • Boot Ubuntu USB in UEFI
  • "Try without installing" --> start the install --> "something else"
  • Install on /dev/nvme1n1
  • Used partition layout: (EFI - 650mb), (swap - 64gb), (root partition)
  • (Not sure if needed) Click continue testing when install is finished and followed the steps @ https://askubuntu.com/a/921995/1026216
  • Reboot and enter UEFI; go to Settings -> Boot --> select "UEFI hard disk priorities" (this was separate from the normal boot order menu for me)
  • There are 2 "ubuntu" options for me and one window, but both seem to be the same?
  • When booting into Ubuntu, press ESC to get GRUB menu
  • Press "e" to edit grub command, and add "nomodeset" in correct place
  • To add Windows Boot Manager to grub, follow these steps: https://askubuntu.com/a/198875/1026216
  • Installed NVIDIA drivers through Software Update on Ubuntu
  • Reboot, don't modify grub config, hopefully it should work
  • 1
    Have you updated UEFI & SSD firmware? That may resolve some issues as AMD issued new UEFI to vendors for 19.10. Often settings in UEFI or Windows are major issues.How you boot install media, UEFI or BIOS is how both Windows & Ubuntu install. You want UEFI/gpt. With nVidia you need nomodeset until driver installed. May be best to see details, use ppa version with your live installer (2nd option) or any working install, not older Boot-Repair ISO: Please copy & paste link to report, do not post report, the auto fix can create more issues. help.ubuntu.com/community/Boot-Repair
    – oldfred
    Dec 20, 2019 at 17:39
  • Adding "nomodeset" to the grub config in the bootable USB worked! I guess it was related to the gpu. With that, I could use the USB created with Rufus with GPT / UEFI, and boot it in UEFI. I think this is the main thing that helped. Thanks so much for that tip! I'll edit the question with the steps that worked for me.
    – Isaac
    Dec 25, 2019 at 13:47
  • Ubuntu typically adds two entries one with shimx64.efi and one with grubx64.efi. You can see the difference with sudo efibootmgr -v. The shim version is for use with Secure Boot but works with secure boot off, so not sure why we still have grub version? You probably have /EFI/ubuntu in the first NVMe drive. I might backup ESP on first NVMe drive to second, but it would not boot Ubuntu without some reconfiguration, but the UEFI fallback entry or hard drive entry may work in an emergency if first drive has issues. Fallback uses /EFI/Boot/bootx64.efi with with Ubuntu is shimx64.efi copy.
    – oldfred
    Dec 25, 2019 at 15:26


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.