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!!
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.
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?
Also, how exactly do you choose a default bootloader when each distro automatically installs their own?
I'd probably let Debian or LMDE do it simply because I'm more used to those distros, but you can simply roll a die if you want.
Or, if you already chose which distro should manage boot, and you want to know how to do it - the tutorial in the link does the trick. I'll adapt and copypaste a simplified version here:
how to let the distro of your choice manage boot
-
Install all distros the way that you want. Make sure that you know in which partition each is installed.
-
Pick the distro of your choice to manage boot. Let's say that it's Foobar Linux, and it's installed in /dev/sda69. (why 69? Because it's funny, so you'll remember to replace it with the right number later on.)
-
Boot in some live USB. The distro in that USB doesn't matter.
-
Open a terminal. Type the following junk in it:
sudo sudo mount /dev/sda69 /mnt for i in /sys /proc /run /dev; do sudo mount --rbind "$i" "/mnt$i"; done sudo chroot /mnt update-grub
5. This should be enough. Now restart your computer without the live USB, and your Foobar Linux should be managing the boot.
And just now I realised that some random distro might decide to take over the boot, once it updates kernel (as it triggers updating grub). So when installing the other distros, look for some configuration that allows you to not install grub in it. (It's also possible to remove it after the installation of the distro.)
Or do things like display managers matter? or is Xorg or Wayland pretty much good for all three?
That's a per-distro choice, you could go with Wayland for some and Xorg for others. I would probably go with Xorg for all three because it works for me.
Thanks! still a tad confusing for me, but it's something to work with at least. so you only mount the one that you want to handle the bootloader? what about the storage drive? do I just mount all the partitions to that drive and they will all automatically save to that storage drive? I ought to look up diagrams and such just to see it visually I think. Also, someone mentioned creating the partition first. how would that work out if you're still running a distro? would rebooting wipe that out and keep the partition in tact and then you work from there? or do you just partition as you go along with each install?
I think that this might help you, since you said that you mentioned diagrams:
ShowThe numbers after /dev/sda will change depending on how you partition your SSD, as well as their order, and I'm assuming that your username will be "macaroni" for simplicity, but look at the idea. (Also, you don't need to mount your personal files partition in /home/macaroni/storage. It could be mounted anywhere you want, even /randomjunk/catpix/dogpix/mypartition.)
If I recall correctly you don't need to mount the partition with grub (the bootloader), but do check it with other users as I'm not sure of that. Once you update grub in that distribution, it'll automatically detect "look! There are other systems here! I'll add them to the boot options!".
Also, someone mentioned creating the partition first. how would that work out if you’re still running a distro?
You should only create, delete or modify partitions of your SSD from a live USB. Never do it while the system installed in your SSD is running. Those partitions will stay even after you reboot.
I recommend creating the partitions first, then installing your distros. This way you'll have better control on how to organise your partitions. For example, if you decide to install Arch on the third partition, you can simply say it "hey, you shall be installed in /dev/sda3", no matter the order that you're installing Arch vs. other distros.
this is very very helpful, thanks alot. I love lemmy over reddit. you guys are actually kind and helpful here. so I mentioned in other posts, I don't store a whole lot of things at all and anything important is stored in a cloud. So do I necessarilly need to create a storage partition? can't I just use storage within each distro partition for trivial stuff like downloads or whatever? I hope that makes sense
You don't need to create a storage partition if you don't want to. You could theoretically reduce that partition table from the diagram to three partitions - one for each distro. It's up to you, really.
The problem that I see with that is organisation and security:
- you'll likely use one distro more than the other two. That distro's partition will get full of personal files faster. Eventually you'll need to juggle files to the other two partitions.
- you'll need to remember which system you were using in order to remember where your files are. And since you'll be juggling files back and forth, you'll reach a point where you need to search three directories to find a file.
- if your personal files are spread across multiple partitions, you'll likely need to mount all of them in all your systems. This means that you'll need to mount Debian's and RHEL's partitions in Arch, Arch's and Debian's in RHEL, etc. It's generally not a good idea to mount partitions with system files unnecessarily.
Oh ok, so scratch that idea then lol see, this is the stuff I have no clue about! thank you
-
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 castleyour 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.
Ahh brilliant! so create ONE storage partition and just mount that one partition in each distro's home directory?
Yup. Check the diagram that I posted as a reply to another comment. It's a clean way and it allows you to access your files from all your distros.
At least in theory you could even use a /home partition if you really, really wanted, but then you'd need to make sure that your username is different for each distro. It's more work than it's worth, and muscle memory will make you to try to log into one system with the username of another system.
Why do you want to do this? If it's just to try out different distributions, I would suggest using per-distro virtual machines or USB drives instead.
Well its more than just trying them out, in want to learn and actually use them too. Like as work stations, not just like a live image where you can browse around. Sometimes in get bored of my debian distro and I dont want to just delete it and reinstall another type, ya know? I'd rather have all three where I can actually use and work on them and they all stay in tact and keep all my settings and files and programs, like how a normal desktop installed distro does. More of a learning and adventure thing than anything. One day I could focus on manjaro and then the next work on fedora or if I get bored and just want to casually use my computer I could just hop on my more comfortable debian distro. Idk maybe it seems weird to others, its just how my brain works. I want to be proficient in the big three, plus opensuse eventually too.
Using a USB device might work well for this! You can do basically exactly what you want but your whole OS is on a USB drive. You'll get native performance for everything except disk read/write. If you use a fast device with a fast USB interface you might not even notice.
Do you have a recommended virtualization platform for such a project?
There are a few that are nice.
QEMU-based options work well. Boxes for GNOME uses this.
My backup option is always virtualbox with guest additions installed.
Why?
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
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.
Perhaps consider watching this excellent video guide on dualbooting and multibooting by DorianDotSlash. It was what I used as a reference the first few times I engaged in dualbooting and/or multibooting.
Here is an alternative Piped link(s): https://piped.video/watch?v=Crleyglb4mo
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I'm open-source, check me out at GitHub.
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