It is actually fairly simple to do once you know how to do it. Firstly you need the external drive install confirmed working on the machine you will install onto. When you have that done you use the gdisk program in terminal window to partition the drive inside the machine with the tiny ESP/EFI partition at the start for the /boot/efi that is used by such a machine, this is set as type ef00 (EFI System Partition) when creating and formatted vfat. A second normal partition for the install on the machine set type 8300 linux and formatted with your file system of choice, I use ext4 for ages now it works well.xtac wrote: Sun Aug 31, 2025 6:50 am That sounds like it could work very well indeed! Thank you for the suggestion! To be honest, it sounds a bit over my head but I'm sure if I research those steps carefully I should be able to get it done. Thanks for the problem-solving attitude, I appreciate the suggestion.![]()
Then you can use the rsync to copy the running external drive system to the partition you have made for root on the internal drive and copy the external drive ESP/EFI partition to the internal one as well. Then you need to edit three files on an EFI system for it to boot, the grub.cfg that is in the /EFI/debian/ in the ESP/EFI partition to change the UUID in it to use the internal drive UUID. There is second grub.cfg file in the internal drive /boot/grub/ that has to be changed to the new internal UUID to be used. Lastly the internal drive /etc/fstab needs to have both the new / UUID of the previous two changes put into it and the new /boot/efi internal UUID so it will know where to mount the file systems once the external is removed and not used anymore.
I have done this so many times I have lost count it works every time without fail as long as I remember to change the UUIDs when doing it manually and every time when using my script I have written to do it to any of the fourteen different combinations of drives and machines I use that for. When you have working external drive booting in EFI mode on your machine let me know and I will provide step by step commands to get it done for you.