0

Good evening, I wanted to install (k)Ubuntu to an external Samsung T5 SSD, in order to be able to use it on different PCs. On my primary laptop, I booted from a Kubuntu 20.04 live USB stick, inserted the T5 and installed on the T5 (/dev/sdc), telling it to install the bootloader there, too (I checked 3 or 5 times). It completed the process fine, but it's not working (very much):

  • the main laptop doesn't start if I don't have the T5 SSD plugged in;
  • if I plug it in, it starts a GRUB screen that allows me to boot either from the T5 or from the laptop's internal drive. Both work fine, but of course I have to keep the T5 in
  • The T5 doesn't boot in any other PC, even where the Kubuntu Live USB drive boots perfectly fine

So, for you kind guys, my two questions:

  • how can I restore my laptop to boot without the T5? It's an Ubuntu 20.04 BTW.
  • It's possible to install Kubuntu on the T5, and what is the proper procedure to ensure that it boots on any (well, on more than one) system?

Thanks a lot!

-- G.

1 Answers1

2

Basically, for UEFI installs, the installer puts grub on the first EFI it sees, on the internal disk, but the grub files are on the SDD, so boot fails without the SDD. See launchpad bugs 1173457,1396379, and add yourself to the "Does this affect me" list.
https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1396379
https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1173457
If you have an EFI partition on the SDD, simply copy everything from the internal disk's EFI to the SDD's EFI. Then it should boot on other machines by selecting the device as the boot device. To fix the internal disk, just reorder the first boot choice to be the original Windows selection (so grub does not even run). The internal device default bootloader, /EFI/Boot/bootx64.efi was probably replaced by a copy of grub, but the original was renamed to bkp.... You may change it back, but the device bootloader normally would not even be used if you are booting off an nvram selection. You can successfully run grub directly and put it where you want it, grub works, it's just the installer that ignores your choice and puts it on the first EFI it sees.


Removing the internal hdd, either physically or via BIOS settings is the easiest way to get the installer to do the right thing. You should be able to temporarily remove the EFI flag on the internal disk, and restore it after the instal -- that might work, as might running the install from the "Try" desktop, and in a terminal, unmount the unwanted hdd EFI, and remount the sdd's EFI (if you made the SDD's EFI in advance). The EFI partition just has a FAT filesystem, and the bootloaders are just files, so no special tools needed to slip binary blobs between partitions like under a legacy install.

ubfan1
  • 19,049