Episode: 1567
Title: HPR1567: Multiboot Partitioning with Linux
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr1567/hpr1567.mp3
Transcribed: 2025-10-18 05:09:40

---

This episode of HBR is brought to you by AnanasThost.com.
Get 15% discount on all shared hosting with the offer code HBR15.
That's HBR15.
Better web hosting that's Aniston Fair at AnanasThost.com.
Hello and welcome to Hacker Public Radio.
My name is Matt and I am the Geek Dad in Northern California, USA.
This is my third podcast for HBR and I want to talk today about partitioning schemes
for dual booting or multi booting particularly on systems where you might want to run more
than one distribution of Linux.
So that's going to be my focus today.
I've written a blog post about this for the nightwise.com website and I will link to that
in the show notes.
And I want to talk a little bit about this because I've found a way to make this sort
of an easier thing to do as a geek and someone who likes to participate in the Linux community
and to try out new projects and try out new distributions and new desktop environments
and who wants to try all the different things that are available.
And mostly I want to do this because I want to be able to evangelize when I come across
a person who is tired of Windows crashing or who can't afford a Mac but thinks that
Windows is ugly and that we end up talking about Linux.
I like to be able to say, well, you know, I've tried out elementary OS and I think for
your purposes it would be really good because of this, this, and this or Ubuntu might
be great for you because it's gorgeous and it's well supported and a long-term support
release just came out.
So I like to have a good experience with the different projects and distributions that
are available as a Linux user.
And so to do this, I'm constantly uninstalling, reinstalling, swapping out one distro for
another and I have a laptop, I have a Lenovo laptop which just runs Linux awesome.
It does such a great job.
I have about a 500 megabyte or gigabyte hard drive in it.
So I've got lots of space to do the stuff I want to do and I was doing the traditional
model of a separate home and root partition when I'm setting up my system and that enables
me to just kind of blast away the root partition, install a new distro, point my separate home
partition to slash home in the new FS tab and Bob's your uncle, I'm ready to go with
my new distro.
So that works great.
That's one of the main reasons that I always tell people use a separate home partition
because if you want to upgrade or you want to change something, you've got that added
protection.
Now of course we all do backups, we always backup our data before we do an upgrade or
before we change distros.
Right?
I mean everybody does that, right?
We nobody ever has to worry about losing data because we know that we're supposed to
do backups.
Right?
Yeah.
How many of you are laughing so hard that you almost pulled over the car?
So you know, so many of us use a separate home partition just so that we can prevent
data loss.
And it's great.
It's a great thing to do.
But here's the problem if you decide, hey, I want to install a Ubuntu and open Susa
on my machine and so I can try them both at the same time and do real side by side comparison.
Well now if you have one home partition and you're sharing it between two different
installs of two very different flavors of Linux, you can have some problems and one of
the biggest problems comes with dot config files and not to mention the fact that you've
got two totally separate package types open Susa being an RPM distro and Ubuntu being
a devian based distro.
And when you throw arch in there and you've got package builds and all kinds of things
and then once you get software installed, what if you're running slightly different versions
of your soft Ubuntu as you are in open Susa in our example?
If I'm running Chromium and I've got a slightly different version of Chromium in open Susa
as repositories that I do in a Ubuntu as repositories, then the configuration files
might be slightly different.
And every time I boot into one operating system or the other and I start up Chromium,
my config files being overwritten because it's not the same format or what have you.
I'm not suggesting that Chromium specifically has this problem, but as an example of
a project that many of us know and love, this is the kind of thing that can happen.
It might be audacity, it might be Firefox, it might be any number of open source projects
that have slightly different versions depending on whose repository you pull them out of.
And your config files can be a problem.
So this is the problem that I was noticing and when I did have open Susa and I think it
was Ubuntu 12.04 at the time.
I might have been Linux Mint, I don't remember.
But I do remember that it was a devian based distro and it was open Susa, which is an
RPM distro.
And I was having these conflicts in my home directory with config files so that software
wasn't behaving across the two operating systems the way I had wanted it to do.
So I thought about it and I thought, well, what can I do in order to allow both installs
to have access to common data like documents and downloads and videos and MP3 files and podcasts
without having to duplicate that data across two different operating systems installs.
Because of course, that is the other option.
You can create a home partition for open Susa and a home partition for Linux Mint and
duplicate your data.
But even when the 500 gig hard drive or bigger, you're talking about massive quantities
of data if you watch a lot of videos, if you have a big MP3 collection or if you use
AUG or if you use FLAC or if you use any number of compression formats or codecs that don't
do compression, we're talking about lots and lots of data.
Now how do we have our data in one place, one copy of it per system, per piece of hardware
and yet run multiple operating systems on that hardware.
And I came up with a solution that I think is quite ingenious and maybe you've all figured
this out already, but I was pretty proud of myself.
And it's the simple, the simple, simple solution of symbolic links, of similar links.
So let me explain.
I changed the name of my gigantic home partition to something else.
And I, for example, in my system, I call it share disk, all one word.
And when I install, when I do a new operating system install, I make this a separate FSTAP
entry, a separate mount point in my file system called slash share disk.
And it's readable by me, and all the permissions are my username, my user ID, my group.
So there is a little bit of detail that I have to follow when I set up a new install
of a distribution, because I have to make sure that I use the same username, the same password,
the same user ID, the same groups so that I maintain access to all of my data.
But barring that small little bit of attention to detail, I can install anything I want, mount
this slash share disk to my file system, and then let the operating system create its
own partitions and its own file system for itself.
So let's take this 500 gigabyte hard drive as an example.
Let's say I have 300 gigabytes set aside as my slash share disk partition.
And in it, I have my, whatever my slash home slash username, folder, directory, and underneath
that, I have the typical desktop, downloads, pictures, documents, videos, music, podcasts,
whatever the normal subfolders are, you have subdirectors you have in your slash home slash
user name directory.
So that all lives in this 300 gigabyte partition called slash share disk that gets mounted
to my file system.
Then I have a 200 gigabyte partition that I can carve up into two free spaces of 100
gigabytes each.
And when I want to test a distro, I install it to one of these free spaces.
And I tell that distribution, this is all the space you get.
And I do it an install where I let the distribution create its own slash root, its own root directory,
its own slash home, everything that it wants to do just the way it wants to do it inside
this 100 gigabyte capsule.
And then I go ahead and I install my second operating system in the second 100 gigabyte free
space.
And I let it create its own partitions.
So what I do at that point then is when I boot into whichever distribution I'm installing
for the first time to set it up, I go directly into my home directory into my slash home slash
user name directory.
And I delete documents, pictures, videos, downloads.
These are all empty folders that are in my home directory and I delete them.
And then I create symbolic links from my home directory in the new operating system to
the corresponding folders in slash share disk.
So I'm basically linking the data that's on slash share disk back into the home directory
in the format that the operating system expects to find it in the home directory.
So when I open up shot well, for example, in Linux Mint, it's going to expect to find
slash pictures under my home directory.
Well, it goes and it checks my home directory and it finds a symbolic link called slash
pictures, which it expects to find and it just uses that directory for its data.
Well, what it doesn't realize is that it is linking symbolically back to slash user name slash
pictures underneath my share disk partition.
The nice part about this is that the data stays in one place, but the config files, the dot
config files that are hidden inside your home directory are installed per operating system.
So whichever version of shot well or audacity or chromium or thunderbird or whatever that
I pull out of whichever repository I'm using, it's going to create its own little dot config
file inside of the operating system bubble, but all the data is only in one place linking
back to the slash share disk.
So I will link to my blog post on this.
I will also attempt to link to a drawing that I've done that shows this file tree and
these mount points and try to put a little bit more visual information in the show notes.
So that those of you who may not have followed along to my rambling description of this
will have some other hard info to go look at.
So I want to thank you for taking the time to listen to this episode.
I'm recording this in the car today.
It's June 14th, 2014, and I am going to pick up my eldest child, my first born son.
He's coming out to stay with us.
He lives with his mom during the school areas coming out to stay with me for the summer.
And I'm going to pick him up.
And I am making the long trip through the Central Valley of California to a desert city called
to Hatchapy, which is about halfway between Las Vegas, where my son and my ex-wife live
and the town where I live, so that we can pick him up and bring him back home.
So I decided I would take this opportunity to record an episode.
As Ken Fallon would say, if you have anything, even remotely geek related that you want
to talk about, get on hpr.org, hackerpublicradio.org, go to the contribute link, find out how to
record a podcast, submit it, and share your geekiness with the rest of us.
I've really been enjoying some of the series on different software and on encryption and
privacy that a hookah has been doing.
I've really been enjoying some of the in-depth looks at file systems.
So please know that even if you want to tell the story of how you got into Linux or even
what's in your bag, we want to hear it.
So please, please, please record a show.
Thanks again for listening.
Thank you, hackerpublicradio, and I hope you guys have a great day.
Thanks.
You've been listening to Hackerpublicradio at Hackerpublicradio.org.
We are a community podcast network that releases shows every weekday, Monday through Friday.
Today's show, like all our shows, was contributed by an hpr listener like yourself.
If you ever thought of recording a podcast, then click on our contribute link to find
out how easy it really is.
Hackerpublicradio was founded by the digital dog pound and the Infonomicon Computer Club
and is part of the binary revolution at binrev.com.
If you have comments on today's show, please email the host directly, leave a comment on
the website or record a follow-up episode yourself.
Unless otherwise status, today's show is released on the Creative Commons, Attribution,
Share a Light 3.0 license.
