2

I had a dual boot setup with Win10 & 20.04 working well on a SSD. I hadn't booted into Win10 in 5 months, and was pretty sure the Winupdate was going to blow away my multiboot as it had on other PCs. So reading forums like this one, said the best way to protect my Linux installation was to have Ubuntu on a separate drive.

So got an NVMe drive for Cyber Monday, want to use that as my primary Win10 drive. Then want to multiboot between the new Windows installation on the NVMe and the original 20.04 installation on the SSD. The old Win10 install on the SSD is still intact, but will reformat that for additional Win10 space.

In theory, my thought was to create another dual boot installation on the NVMe, installing a fresh 20.04 installation on some space on the NVMe, then repoint grub details / UUID to the old installation (and ultimately delete the “new” installation thereafter).

  1. Would that work?

  2. Is that the best way?

Appreciate any insight taking the theory into pragmatic steps to make it work. Thank you.

  • Since NVMe should be faster than SSD, I would keep a new install on NVMe drive in a 30GB or so partition, but then have all data normally in /home or all of /home on the SSD. Make sure you have good backups before making any changes. I like to have a working install on every drive, but if data drive, I only have added limited utilities for repairs in that install, not all my favorite apps. – oldfred Dec 06 '20 at 03:39
  • The SSD is sufficiently fast given how lightweight Ubuntu operates for me, especially versus Windows, however leaving it on the same drive defeats the point on the concern Win10 updates could blow it away. Also I want to keep the config I had prior working. From this it sounds I have a brand new root/dev/etc but I remap my home. Would have to setup everything from scratch. It's not the use case I'm looking to clarify. Also I imagine that Win10 updates in the future could destroy multi-boot and this procedure will be useful on subsequent updates if needed. – AlmightyMoe Dec 06 '20 at 11:23
  • Then just install Windows on NVME. Be sure to install in UEFI/gpt mode. Then from Ubuntu you can run sudo update-grub to add Windows to grub menu. You may need to houseclean old UEFI entries with efibootmgr. Note that grub only boots working Windows, so make sure Windows fast start up is off and Windows updates will turn fast start up back on. – oldfred Dec 06 '20 at 14:20
  • EDIT: I just used the UEFI to boot to my ubuntu directly, opened a terminal and then updated grub, and now learning more the intricacies of efibootmgr. This was exactly what I needed. Thanks much oldfred! – AlmightyMoe Dec 06 '20 at 18:27

1 Answers1

0

Used oldfred's post:

Went into my PCs UEFI and directly booted into my prior Ubuntu installation. Opened a command line, ran sudo update-grub which added the new Windows NVMe install to the boot menu. Then setup the UEFI to have my grub bootloader / ubuntu as my default boot priority. Now will use efibootmgr to clean up the prior install. Very quick and elegant, and will avoid issues if Win10 blows away any bootmgr priority in the future.

Cheers oldfred. I need to find out how to give you credit!

  • Only caveat to that, is I'll then be booting from the SSD instead of the NVMe to start. I could solve that by carving out a partition on the NVMe for another ubuntu install, then updating that bootloader to include all 4 OSs (Win10 old-new, Ubuntu old-new) then selectively removing the OSs I don't want. Still not 100% sure that's the best way, but in any case my use case is solved. – AlmightyMoe Dec 06 '20 at 19:04
  • If you let Ubuntu's Ubiquity installer install, it only wants to install grub to first drive's ESP. My additional installs to first & second drive, normally overwrite my main working install UEFI boot entry. I used to just edit /EFI/ubuntu/grub with correct UUID. But found work arounds during install. Windows also only wants to use one UEFI entry, and then grub can only boot that one. But BCD will have all Windows installs. Again there are some work arounds. – oldfred Dec 07 '20 at 03:33
  • Interesting. Not to turn this into an entirely separate question thread, but assuming I do another Ubuntu install for the NVMe drive, and I want to delete both the old windows install, and the new Ubuntu install after I do the grub update and efibootmgr magic, will that undo anything I've done? The efi is located in the install, but the grub bootmgr willl be on the NVMe GPT boot partition, correct? – AlmightyMoe Dec 07 '20 at 09:49
  • If multiple installs & multiple drives best to understand system. Run Boot-Repair's Summary report to see all the details of what is where. Lots of details. I run it periodically just to document details about my system. – oldfred Dec 07 '20 at 14:44
  • Thanks oldfred. So I was looking through Boot-Repairs features, looks very good. Is there a way through the options I could investigate to create a grub bootloader on the nvme without having to install unbuntu a second time? – AlmightyMoe Dec 09 '20 at 12:55
  • Advanced options, but reinstall of grub to NVMe will make that the default boot loader. You can just copy /EFI/ubuntu (and maybe /EFI/Boot) and add a new UEFI entry with efibootmgr to use that entry with a description that is not exactly "ubuntu" which is default from a grub install. Grub install creates a fallback boot entry at /EFI/Boot/bootx64.efi which systems should boot as a drive entry. Otherwise bootx64.efi is a copy of Windows .efi boot file. see man efibootmgr & some examples: https://askubuntu.com/questions/486752/dual-boot-win-8-ubuntu-loads-only-win – oldfred Dec 09 '20 at 14:25