Some time ago, I wrote an article about the method I use to run my computers.
Why This Article Now
The article I wrote was really just a technical annotation for other "tech" people to read, and wasn't intended as a "how to" suitable for non-technical people.
However it seems timely to make something more general, perhaps to assist people seeking a safe way to try their hand at really using Linux, but with no modifications to their existing setup.
But that still means this is not a set of instructions for the tech-unskilled to follow.
Instead, this is something to share with such people, so they can pass it to friends who maybe do have the skills to help them out.
What My Method Achieves
Which is to say that once setup, my method:
- does not require modifying the existing setup of a computer (* see pedantic footnotes);
- runs from a physically small SDD USB drive;
- can be used on any generally current computer - something with a 64bit AMD/Intel CPU and supporting UEFI
- thereby, the little drive effectively IS your active system, the computer becomes just a commodity item
- indeed it inherently means you can shutdown and unplug, then plug into another computer and boot on that instead.
I've been running my systems this way for a very long time now. I was certainly operating thus when I moved to Melbourne in early 2010. I was doing so in the days of USB2, and USB3 has merely made it even more viable.
- One caveat to make up front: I have assumed that it will be possible for the end user to do run-time selection of how to boot their computer. You could argue that it would be wise to confirm that before building the Linux setup on a USB drive. I can agree, but figure it should usually be possible, but don't think it's worth trying to have an ordinary user determine this. Firmware and/or boot arrangements on computers is frustratingly non-standard and hard to talk about or describe.
Steps High Level
- Buy or get USB drives - one "thumb/flash" for the process, one "SSD" as the end goal
- Make an installation USB thumb/flash drive
- Build Linux onto the USB SSD
- Make that Linux fully portable
- Make sure the end-user, on the end-computer, has a way to select a UEFI device from which to boot.
Steps Mid Level
- Buy or get USB drives (showing minimum sizes)
- a 4GB thumb/flash drive
- a 200GB USB SSD
- Make an installation USB thumb/flash drive
- download an installer "image" file
- install/run a USB etcher program
- "burn" the flash drive
- perhaps: test that it can be booted
- Make the Linux
- Obtain/use a computer with no internal hard drive (is simpler this way)
- boot the installation USB flash drive
- plug in the target USB SSD drive
- run the installation (as the SSD is the only viable target, this will be simple)
- shutdown
- Make the Linux fully portable
- with the machine still having no internal drive, boot the USB SSD
- open a terminal window
- give the command to reinstall GRUB in portable mode:
sudo grub-install --removable
- shutdown
- Make sure the end-user, on the end-computer, has a way to select a UEFI device from which to boot.
- Optional: explore if their computer can be told to boot the USB SSD if it is plugged, but to otherwise boot its internal drive
Steps Low Level
Thankfully, there are quite a few videos and articles around on how to install Linux by using a flash drive as the installation media.
After uploading this article, I will seek to add a series of hyperlinks from here.
Why Installing Using a Computer With No Internal Drive?
As noted in my other article, there are certainly other ways to do it. I just find this way a lot easier, there is less that can go wrong, and it guarantees that the unplugged drive has not been affected.
But also, writing instructions for the alternatives could/would get very complex and hard to cover thoroughly.
I happen to be lucky, that one of my laptops makes this very easy.
The Secret Sauce
I think it's disappointing that I need to write these articles at all, as there's no good reason the "Make the Linux fully portable" step could not be incorporated into the stock installers of the major distributions.
However, as noted above, making an installation process safely handle all the possible/likely situations is easy for me to carp about when I'm not the one trying to make that.
Sure, in ideal situations, such as forced by my "no internal drive" advice means the secret sauce is merely:
- sudo grub-install --removable
but even that needs to be done at the right point in the process.
Why bother with this? In short, because if you don't, then there is a good chance that the next time your Linux-on-USB-drive does a kernel update, that will mess with the UEFI of the computer it is running on at the time. Technically this is about there being more than one ESP partition and this "secret sauce" avoids modifying the wrong one.
Linux Distro Variations
Frankly, this is just an Ubuntu/Xubuntu user sharing a tip. I expect this will work for any distro that sets up GRUB, but I'm really not in any position to test or advise.
This is also why I don't give any advice on how to do the partitioning - with just one drive present, the distro installer defaults will probably be fine.
Pedantic Footnotes
At the top of this article, I said my method "does not require modifying the existing setup of a computer". But quite how true that is, may depend on details of the existing setup. And we'll assume here that we mean a Windows setup, probably as had been originally supplied on a computer.
It might be that:
- the firmware (often called "the BIOS") may be set with something called "secure boot" turned on.
- a setting may be suppressing an option during booting that lets a user select a boot option
In general, as long as you can press a key as the computer boots and thereby get an ability to tell it which way to boot, then I consider the problem solved.
So far, I have always found a way around problem firmware settings, but sorting them out does sometimes require mucking about and/or research. Just why this can be hard is a whole other topic.
It is a fair thing to want things to be more automatic - for example, on the computers I mainly use, if I plug in the USB drive before powering on, then it will boot on that. But if I don't plug it in,then it will just boot as it used to.
However, one of the computers here - a Lenovo - seems to refuse to allow such a default, and so I always have to do something manual as I power it up.
There are ways around this, but they are out of the scope of this article, as the idea here is to leave the computer itself **essentially unchanged**.
Another thing I'm considering out of scope is the issue of the booted Linux being able to read (or write?) the files on the Windows setup. There are enough details and issues about that to warrant separate coverage - and personally, is not something I do, so I'm not properly knowledgeable on that score.
Top comments (0)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.