I have a laptop that I want to be able to use a portable SSD to occasionally run different OS on. I know I can just install to the portable SSD but I’m concerned that the install process will make changes to the installed drive.
I know Windows is especially bad about changing the bootloader of other drives. In a desktop I’d just disconnect the installed drive but that’s not feasible with the laptop.
I know that I’ll need to use the boot menu or change the bios settings whenever I want to boot from the portable SSD, but that’s not an issue. I just need to make sure nothing changes on the installed drive.
I use Ventoy on an NVMe SSD with an external USB enclosure.
Install Ventoy, load up .iso images, and then boot whatever images you want.
Bonus points if you generate your own custom ISOs using your distro’s customization tools, ignore persistence entirely, and just generate new images instead of upgrading.
While I’d never lean towards expecting no issues it’s possible to install linux to a USB (or in my case, SD card) and move this between hosts.
The key is, with UEFI most firmware, notwithstanding many quite awful/lazy implementations will still attempt to read the file EFI/BOOT/BOOTx64.EFI within the EFI partition and boot it.
So you can, postinstall copy e.g. efi/boot/debian/grubx64.efi to that efi/boot/bootx64.efi location, and it’s not contractually obligated not to boot.
This is more reliable than some of the old persistent usb options to e.g. an ubuntu live image i’ve used.
As far as windows is concerned; don’t care, but it’s not as uncommon it’ll figure out moving an install between devices as it used to be (recall that, activation is hardware keyed) so you can try the same concept of copying its bootloader to that location/file in EFI partition. But maybe a VM within a linux install is more likely to be successful (i’ve seen some emulator distributions more or less do this).