Hello all, sorry for such a newbish question, as I should probably know how to properly partition a hard drive, but I really don’t know where to start. So what I’m looking to do is install a Debian distro, RHEL, and Arch. Want to go with Mint LMDE, Manjaro, and Fedora. I do not need very much storage, so I don’t think space is an issue. I have like a 500+ something GB ssd and the few things that I do need to store are in a cloud. I pretty much use my laptop for browsing, researching, maybe streaming videos, and hopefully more programming and tinkering as I learn more; that’s about all… no gaming or no data hoarding.
Do I basically just start off installing one distro on the full hard drive and then when I go to install the others, just choose the “run alongside” option? or would I have to manually partition things out? Any thing to worry about with conflicts between different types of distros, etc.? hoping you kind folks can offer me some simple advice on how to go about this without messing up my system. It SEEMS simple enough and it might be so, but I just don’t personally know how to go about it lol. Thanks alot!!
So… I guess it should work but you will end up with looots of partitions and pretty sure you have no idea what is what.
But if you plan on nuking it in the end, here is how to do it:
- install a Distro to full hard drive
- use some partition manager like KDE-Partitionmanager (the best of all) or Gparted and resize the big ext4/btrfs/zfs whatever storage partition as small as you want
- install the next distro into the empty space
- shrink that distros storage again, repeat
And please report if some crazy stuff happens with Grub or if you get secureboot working!
If I utilize this route, do you believe it’d be more trouble than anything or should it hypothetically work just fine?
It would be trouble and have no reeal purpose, but it shooould be really possible!
One thing that might matter is that if all distros use the same swap partition for hibernation, you shouldn’t boot one distro after hibernating another or you might overwrite the saved RAM contents.
If you use different swap partitions or files, you probably should still avoid writing to a partition that belongs to a distro that isn’t actually shut down.
Ok, so maybe make a separate partition for each distro and a swap for each distro too? I’m also confused about the bootloader part too. I’ve never manually partitioned for a distro before, just always did the auto/recommended route.
No need for manual partitioning, just resize the storage partition of the former distro, install automatically, repeat
Oh and just to be sure, I need to use the live iso for the distro in order to resize partitions, is that right?
No, as I said. Install, in the installed OS use the partition manager to resize itself. I think that should work best.
During the live usb installer phase the system is not installed on disk. You can resize the partition of a running system afaik. If not, yes you may need to use a live usb to do that.
But main question, why?
Because I would like three daily drivers, one for each main distro type so I can learn more and explore other types like arch and rhel based, since I’m not knowledgeable on those. But I also want them to be workstations too, for normal usage. Just variety… And of course for learning. I dont just want a live disk to tinker with and thats all. I want these distros to maintain everything I do inside them just like any physically installed distro. Maybe I’m not properly conveying my view idk
I dont see how this is important.
- selinux vs apparmor
- flatpak vs snap vs some package managers with varying names, thats it
- zram vs swap
- some filesystem differences
In the end its all GNU+Linux, the usage is the same. Just use Distrobox and learn how to use that, its so awesome.
You have a full CLI environment for each distro there, just no SELinux, apparmor or systemd.
I would recommend you to try Fedora. Mayve even the immutable spins. Thats the future and you can try a lot anyways like what I descriped.
Thanks again. Im not quite sure what these immutable distros are, I keep hearing about them. Gotta do some researching!
I think the easier solution would be not to use hibernation - either shut the system down properly or use suspend-to-RAM.
If everything works, the bootloader should be whichever GRUB version comes with the distro you install first and the other distros’ installers should just add entries to boot them.
Perfect! Thanks for this info. Sounds much easier. Is there one particular bootloader you think would be BEST for multibooting different distro types? My guess would be a Debian system first probably? and do you recommend I make separate partitions for everything or just install the other distros into the same partition as the first install?
There shouldn’t be any significant difference between the GRUB versions that come with different distros, so the order in which you install the distros doesn’t really matter.
You can’t install multiple distros on one partition, so you need at least one partition per distro.
Ok cool, thanks. Does the bootloader partition get created automatically by the installer or is that something you must do manually? and should each partition for each distro have it’s own swap? or just one swap to handle all three?
The first installer will install the bootloader automatically.
It will also create a swap partition unless you tell it not to, and all distros will use all swap partitions by default, so you don’t need more than one per disk.
If you don’t hibernate one distro and then boot another, sharing a swap partition isn’t a problem.
I appreciate the patience and helpfulness. Dont the distro installers automatically create a swap for you? if not, how large of a swap do you recommend and would that just be an empty fat32 or ext4 partition?
All these people saying don’t do it - clearly, they’re trying to learn something and are not necessarily after a fully usable, encrypted production system. Instead of telling them it’s too complicated, we should encourage to play around and figure it out, so in the process maybe they find out on their own why this configuration might not make any sense in most situations.
So @op, just go for it, you’re going to learn a lot from this!
Warning: this is definitively doable, but messier than it looks like. I’d recommend you to partition it manually, before installing any distro, like this:
- one partition per distro. For sizes check their requirements. Given 500GB I’d probably reserve 60GB for each, perhaps a bit more if I know that I’ll install a lot of stuff in that distro.
- one swap partition, that’ll be accessed across distros. Optional if you have 16GB+ of RAM.
- use the leftover space for a “storage” partition, for personal files that you won’t save in someone else’s computer (i.e. the cloud). That allows you to mess with the distros without risking your personal files.
Don’t worry too much on getting the space right though - if necessary you can always resize a few partitions after installation. It’s a bit of a bother though.
Do not share /home across distros, it’s simply more trouble than it’s worth. Instead, mount that “storage” partition in each distro, inside your /home/[$username] directory.
Another thing that you might want to consider is virtualisation. Odds are that you won’t use a lot of those distros in your everyday, and that you’re just curious about their differences. In that case, consider installing one of them, install Virtualbox in it, and then the other distros get installed inside Virtualbox. I’m suggesting that because it’ll use overall less space, and make distro management less messy.
Really nice idea with the shared swap and storage!
Caveats:
- you can LUKS encrypt that, but you may need to tweak some polkit rules to automatically unlock it.
- Fedora uses zram and swap and SELinux is a hell of a task
Apart from that, great recommendation!
In the end you can simply delete all partitions except your storage partition, reinstall any distro and mount that partition to
/home
Fedora’s swap on zram shouldn’t pose a problem - at most it won’t use the disk swap, but other distros still would.
Encryption is important but I wonder if OP would make much use out of it, given that he plans to bulk store his items in the cloud. The storage partition would be mostly for things “at hand”. And if necessary, as you said, some elbow grease lets you have encryption and still access it from all distros.
I don’t recommend OP to mount that partition directly to
/home
itself. It’s bound to create problems later on due to software in different versions interacting with software that may or may not be present depending on the distro. Mounting it inside some other directory (even inside /home, e.g. /home/username/storage) feels considerably safer.Right you would then have something like
- swap
- zram
- /home/user/storage
- boot
- boot/efi
- /
- boot
- boot/efi
- /
- boot
- boot/efi
…
What a mess. But if you kinda keep track of what is what (maybe search for the packages
dnf
apt
yay
and so on) it can work
Thanks. I do not want to mess around with virtualization; I went down that rabbithole before and got lost and broke stuff lol. I need to do a bit more research and learning before im more confident with virtualization. So how large should the swap be? and what about a bootloader?? Are all three compatible with grub? also how large should the bootloader partition be? thanks, this is all a bit foreign to me.
What?
- Install
virt-manager qemu qemu-kvm
- Run virt-manager
- Install a new distro, choose the .iso that you downloaded, assign 8GB RAM and 60GB storage
- Leave the rest default
- Follow the Distros installing process as usual
- Delete the VM if you are done
Important note: using
distrobox
ortoolbox
you can run packages of pretty much any distro on your Laptop. I am currently using Ubuntu PPA VLC 4.0 on Fedora Kinoite.So virt manager, KVM, and qemu is the recommendation solution for this? Opposed to other methods like virtual box or gnome boxes or the other various virtualization platforms out there?
Hmm, I use Virt-manager as it supports some things with no GUI in Gnome boxes. Gnome boxes seems nice, but after trying certain things you get to a limit of functionalities.
Kvm ans qemu are always needed.
Gnome boxes has a flatpak, but that one has no usb support for some weird reason.
- Install
All those distros are compatible with grub, and come with their own copies of it. You just need to install your distros, and then when you say “I want THIS ONE to manage boot”, you follow this tutorial. (It’s supposed to help you reinstalling grub after Windows, but it works fine for grub after another Linux instal).
Or, if you want to be lazy - install last the distro that you want to manage boot, then tell it “screw the current boot, reinstall it”.
I wouldn’t bother with a bootloader partition. The bootloader runs fine from any distro partition, and it’s small enough so you don’t need to worry about it wasting space.
swap
I’ve been running my system without swap whatsoever for quite some time, and it runs fine. But if you’re planning to use hibernation or similar, reserve the same amount of swap space as you have RAM; for example if you have 8GB RAM then at least 8GB swap.
IMPORTANT: if hibernating a distro, don’t boot another distro, otherwise the hibernation data will get wiped.
Perfect! I will be disabling hibernation in Bios. Also, how exactly do you choose a default bootloader when each distro automatically installs their own? not sure on that process. Or do things like display managers matter? or is Xorg or Wayland pretty much good for all three?
Hibernation is an OS feature, so you can’t disable it in the BIOS. You can either disable it in all your distros or simply not use it.
Oh ok thanks. I just coulda swore I saw a hibernation setting in BIOS. That’s another thing, would I have to create a Bios partition? this is a tad more confusing that I thought. Also determining the proper sizes of everything. What about an efi partition? or is that only associated with Windows? I have no clue
There are no BIOS partitions - you may be confusing the term with the BIOS partition scheme, but that doesn’t matter in this context“BIOS partitions” do exist, but they are irrelevant on modern machines - they are for booting GPT disks on systems that only support MBR disks.If you need an EFI partition, the first installer will create one. As for the sizes, the recommendation in the other comment makes sense to me (one ≈60 GB partition per distro, one swap partition and one partition for your personal files that uses the remaining space on the disk).
I mean SHOULD I make an efi partition? I have no clue if I need it or if it’s optional. Simple is better in my case lol. SOO just trying to put it all together so far. first create a roughly 8gb fat32 partition for swap? Then a 60gb ext4 partition for distro 1, then so on with the other two partitions and thats it? how does the storage partition work? what format should that be? and I was reading about mount points and stuff, what ought I know about those?
Have you tried distrobox ? That would sound more reasonable.
Never heard of this one. Some more research to do! Thanks for all the info
Its a container tool using Podman or Docker.
See a video on “container vs. Virtual machine”.
What Distrobox does is downloading container images or any distro basically. It uses your system Kernel still, but all the libraries and packages are from the distro.
I.e. you can install Arch (AUR too), Ubuntu, Debian, Fedora, Opensuse packages on any distro.
The only thing not working are Flatpak and Snap as they need systemd
Darn, I do like to use flatpaks and occasionally snaps… I know I know, most people hate them lol. But the big question for going the VM route is, do the distros I load up remember all my settings, configs, programs, etc? I want them to be like actual desktop distros where everything stays in tact and I’m not resetting everutime I boot up a VM iso
Yes they work completely normal. In theory the allocated space also just occupies what is actually used
And if you use Flatpak and snap just install it on your main system?
So this images will always remain the same as I make tweaks and download programs and such? And if I use flatpaks from my main distro, how would that install things on my VM distros?
A VM is like a container but also with its own Kernel. KVM shares the resources tightly with your systems kernel, so it has best performance afaik.
Its its own system, persistent storage, no interaction except if you choose to with spice integration, network, usb, GPU or filesystem passthrough
But would you need flatpak and snap with aur
I guess not haha
Not really a solution to what you need, but you should consider distros other than manjaro, it does some shady stuff, has ddos’ed the AUR multiple times (even though the AUR is “unsupported”) and let the security certificates for their site expire (their solution: to turn back your clock to update the system). You should try endeavour instead.
Very interesting and also such a shame. Manjaro seems to have most support and definitely looks and feel the greatest that I’ve tried, all well being newbish friendly
So Question: What do you actually want to achieve?
Do you want a rolling, semi-rolling or stable releases? More tested or even LTS packages, or the latest?
Uhmmm so it would be interesting to learn about rolling releases and thats where my choice of manjaro could fit in. Sometimes I simply get bored of debian/Ubuntu but its what I’m most familiar with. The goal is to learn and USE other distros. Not just browse or hop around but I want to use the three main distro types all on one system. I want things to remain in tact like a normal workstation installed on your desktop. Idk much about virtualization, but I’m under the impression that they wipe your disk or a certain distro clean after each use. I do NOT want that.
I went a huge journey.
- mint, crashed
- manjaro, weird reputation but very nice
- mxlinux: damn old packages back then
- kubuntu: broke
- kde neon: lol also broke
- fedora kde: broke
- fedora kinoite: have it the longest, didnt break yet
I like immutable as you can reset your system. You can see most of your deviation from “what works” using
rpm-ostree status
.And sorry but its all Linux, it doesnt work differently if you are not a server admin or tweaking SELinux, custom polkit rules and stuff like that.
Thanks. The time I was using Manjaro, I liked it alot but am also confused by the weird negative reputation…
I mean they are based on Arch and their “stable” is simply that they wait to ship packages. I dont think this is the best way, unsure if they also handle bugfixes like that.
So its basically preconfigured Arch with a weird repo. If you want the AUR, it is said to break on Manjaro.