Tips on running multiple distros together on my laptop?
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!!
Thanks, though it's actually that tricky? I honestly figured it would be more simple, but hey I guess not. Ehh I just don't want to get into VM quite yet; I've got alot of other learning to do first. But people dual boot windows and linux all the time with no problems, what is so different about dual booting or in my case triple booting three linux distros?
VMs are so much easier and more fun than dual booting. The best part about VMs is you can use both at once and they're the same system. Dual booting forces the OS's apart, and it's difficult to set up.
They actually don't. They try and it works for some time. And then the next Windows update intentionally fries their dual-boot. Then they go back to Windows.
Or they understood enough about the details and how to minimize the risk (basically running Linux with an linux boot manager that then chain-loads Windows boot files from another disk, so Windows is mostly oblivious about the other OS... and even then Windows likes to screw with the efi record) that they are mainly running linux. And later they tend to ditch Windows completely of just keep a virtual machine if they really need it for some proprietory stuff.
At least those scenarios above cover 95% of all people "dual-booting" I know...
In comparison, dual- or triple-booting Linux is indeed a bit less problematic. But the same thing applies: You mainly run one. And given that Linux distributions are all nearly the same, with just a few differences in pre-configuration and defaults, there's not much point to it.
Honestly to me it's not bad, plus I think on a Linux system for home use it's nice to always push your comfort zone a bit. I use 4 partitions generally: boot files, distro #1, distro #2, and home data on a separate partition. This works for me because I like to tinker with one Linux installation while I have the other in case I need to get real work done while I'm in the middle of fixing the other install. Currently I run Ubuntu and nixos, booting from grub2 efi and letting nixos manage grub installation.
Even when it's totally borked grub2 is very capable of giving you tools to boot manually, and we all have magic reference books in our pockets 😹
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.
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.
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.
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 or toolbox you can run packages of pretty much any distro on your Laptop. I am currently using Ubuntu PPA VLC 4.0 on Fedora Kinoite.
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.
Oh I just watched a video about home. So is that a partition of it's own? the guy was saying he was using different homes for each distro and it became a mess, so he planned to install one home directory for all distros.... idk?
/home is a directory ("folder"). Inside that directory, there's one subdirectory for each user, where you're expected to keep your personal files, configuration files, user data from software (e.g. save games from your games), stuff like this, personal data.
And Linux allows you to mount any partition in any directory of your choice.
Because of those two things, a lot of people create a partition and mount it as /home. So if something bad happens with the distro, and you need to reinstall it, your princess is in another castle your data is in another partition, safely stored. It's usually a good idea, but in your case it's a bad idea - because your /home/[insert username] directory from one distro will be likely the same as in the other distros, so they'll interfere on each other, and software user data will become a mess.
Instead, what I recommend you is to not create a /home partition. Let each distro have its own /home. However, do create a partition to store your data, and mount it inside your /home/[insert your username] directory. That way you can access all your files from all your distros, but the software user data won't be mixed.
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
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.
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!
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!
Thank you. Its seeming that the VM route is more doable. I'm just curious if a VM for a linux distro will keep everything as is, like your files and filesystem, settings, tweaks, configs, etc. I essentially want three workstations. I dont want to keep starting over on a clean slate ya know? And if so, do you have a recommended virtualization platform that you would recommend for this project?
VMs are persistent unless you configure them not to be.
VirtualBox is the go-to easy-mode virtualization software. You'll likely quickly outgrow it as you learn it's limitations, but, it will teach you all the concepts you need to know, and they'll largely be transferable to more robust systems like esxi or proxmox.
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.
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.
Triple booting is a pita, moreso if you don't know how to partition a disk. I'd want any laptop encrypted, which adds further complexity to the triple boot.
If you wanna browse, research, watch videos and tinker just install a distro. If you wanna spend time switching your system off and on again over and over and over again to find out what's working/broken go for the triple boot.
Docker could be worth a shot. You can 'docker pull fedora/arch/debina/whatever' and can play around with the base systems. Alpine takes up about 6mib so isn't too resource intensive if you need to nuke it a few hundred times to get up and running.
But with virtualization or containerization, is there persistence for the distros? I think thats the right word. Like does it remember everything I tweak or install? I'm not necessarily wanting to just browse new distros, I want to learn them and use them too and if a VM wipes the image every time, thats not useful for me
It could be done if you partition your disk prior to installing but, if there is no particular reason, you could make a bunch of VM's and daily drive one of the distros.
ummmm I dont really think I can give a good reason lol, just the way I want to do it. I feel if they're physically installed on my system, it would sort of force me to use other options, thus furthering my learning. I feel VMs or more impersonal and temporary. I use Ventoy for live OSs just to get a feel for things, but when it actually comes to daily use, I'd rather have them installed.
pick one. you'll end up with a favorite you use all of the time anyway, and sooner than you expect--after rebooting into this-or-that constantly to run something specific that's set up in it, or when you get tired of duplicating efforts a half-dozen times in all of them. you'll soon forget which distro has which app set up which way.
the rest in VMs so you can be familiar with their package management, system layout, and such. You can spin 'em up, destroy 'em, run them simultaneously, try out a new package or application or configuration, whatever; and in that process, mess shit up (it happens) without any damage done to your daily-use OS.
you mess up your octo-boot system and it won't boot up. you need answers. your only pc is on vacay. what are you gonna do? use your phone's tiny screen and poke questions or searches into google or stack one letter at a time? nah, mate. don't make it difficult when it don't need to be.
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?
If you install one distro on full hard drive you won't have room anymore for the rest, if you want multiple operating systems on your machine you need to partition manually with some planning ahead on how to allocate the space.
Any thing to worry about with conflicts between different types of distros
They don't interfere with each other, they don't even "see" each other once you booted into one, they only share the boot manager.
That being said, what you intend to do was the only way to learn many years ago when computers weren't as powerful as they are today (I did learn that way), but today ANY PC can manage virtual machines, they are much more practical and can save you a lot of time when you mess things up, because whatever you do is confined within the VM and doesn't affect your PC as a whole.
Install Virtualbox, have a look at how it works and use that to do all experiments you want, you can even learn to multiboot inside a single VM, without the risk of messing up your system.
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
But why though? I already have a ventoy usb drive for just exploring other distros, but I'm looking to actually learn and use other distros, just not one at a time :)
It would ideal to have three workststions, one for each major distro I.e. arch, rhel, debian