I installed a full Linux operating system on an external hard drive. Not a live USB with a persistence file bolted on. An actual Ubuntu install, with a real desktop environment, living on a 5TB WD Black external drive. The idea is that I can plug the drive into a machine, boot from it, and be sitting in my own OS with my own stuff.
Why I wanted this
Live USBs get you most of the way there, and that's exactly the problem. Persistence on a live image always felt like a workaround. You're running the installer's environment with your changes layered on top of it, and it behaves like it. I wanted the actual thing. A normal, permanent install that just happens to sit on a drive I can carry around, so any machine I plug it into becomes my computer for a while. It also means I always have a full Linux environment on me, whatever hardware I happen to be in front of, which is useful well beyond this one project.
The plan
The drive is a WD Black 5TB. It's a spinning hard drive, not an SSD, and it's also a drive I already use for everyday storage. I wasn't willing to sacrifice the whole thing to this project, so the plan was to split it down the middle. Roughly half stays as normal cross platform storage that any machine can read, like it always has. The other half becomes the Linux system.
That split is the part worth thinking about before you touch anything. Once the storage half was carved out and left alone, the Linux half got its own partitions, and the two sides don't interfere with each other. Same drive in my bag, two jobs.
The install, at a high level
I went with Ubuntu. The steps, roughly:
- Boot the Ubuntu installer from a separate USB stick, with the external drive plugged in.
- In the installer, skip the automatic options and partition manually, pointing everything at the Linux half of the external drive.
- The step that actually matters: make sure the bootloader goes on the external drive itself, not on the internal disk of the machine you happen to be installing from. That's the difference between a drive that carries its own OS and a drive that quietly took one computer hostage.
- Let it install. Ubuntu ships with a full desktop, so there's nothing extra to set up to get a real graphical environment.
After that it's a normal Ubuntu system. Updates, installed software, files, settings, all of it persists like any other install, because it is any other install.
Worth knowing
It's a spinning drive, so I'll be honest about the tradeoff: this is not SSD speed. Boot takes longer and heavy programs take their time loading. For what this is (a whole OS in a bag that also still works as my regular storage drive), I'll take it.
The takeaway for me is that "portable Linux" doesn't have to mean the stripped down live USB experience. A full install doesn't care that its disk is hanging off a USB cable. Get the partitioning right, put the bootloader in the right place, and you can carry an instance of your computer around that fits in the palm of your hand and allows access everywhere.