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!!

  • Lvxferre@lemmy.ml
    link
    fedilink
    arrow-up
    17
    ·
    1 year ago

    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.

    • Macaroni9538@lemmy.mlOP
      link
      fedilink
      arrow-up
      6
      ·
      1 year ago

      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.

        • Macaroni9538@lemmy.mlOP
          link
          fedilink
          arrow-up
          3
          ·
          1 year ago

          Gotcha. Never explored Gnome boxes yet; probably just waiting for the right time. I’ve been trying to learn a whole lot of other tech stuff, so I sorta put virtualization on the back burner for now. Definitely wanna learn about KVM, lxd and lxc and even gnome boxes. just not right now

      • Lvxferre@lemmy.ml
        link
        fedilink
        arrow-up
        7
        ·
        1 year ago

        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.

        • Macaroni9538@lemmy.mlOP
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          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?

          • Lvxferre@lemmy.ml
            link
            fedilink
            arrow-up
            3
            ·
            edit-2
            1 year ago

            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
            1. Install all distros the way that you want. Make sure that you know in which partition each is installed.

            2. 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.)

            3. Boot in some live USB. The distro in that USB doesn’t matter.

            4. 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.

            • Macaroni9538@lemmy.mlOP
              link
              fedilink
              arrow-up
              1
              ·
              1 year ago

              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?

              • Lvxferre@lemmy.ml
                link
                fedilink
                arrow-up
                4
                ·
                1 year ago

                I think that this might help you, since you said that you mentioned diagrams:

                The 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.

                • Macaroni9538@lemmy.mlOP
                  link
                  fedilink
                  arrow-up
                  2
                  ·
                  1 year ago

                  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

                  • Lvxferre@lemmy.ml
                    link
                    fedilink
                    arrow-up
                    2
                    ·
                    1 year ago

                    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.
          • Gurfaild@feddit.de
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            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.

            • Ooops@kbin.social
              link
              fedilink
              arrow-up
              2
              ·
              1 year ago

              Oh, believe me: There are so many messy BIOS and UEFI implementations out there that you can definitely deactivate it in the BIOS for some. Which just introduces even more mess where hibernation triggered on the OS level then fails.

            • Macaroni9538@lemmy.mlOP
              link
              fedilink
              arrow-up
              1
              ·
              1 year ago

              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

              • Gurfaild@feddit.de
                link
                fedilink
                arrow-up
                2
                ·
                edit-2
                1 year ago

                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).

                • Macaroni9538@lemmy.mlOP
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  1 year ago

                  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?

                  • Gurfaild@feddit.de
                    link
                    fedilink
                    arrow-up
                    2
                    ·
                    1 year ago

                    If the installer doesn’t automatically create an EFI partition, you can create a small FAT16 or FAT32 partition (a few hundred MB should be enough).

                    The swap partition is just a swap partition - that is the partition type you select in your partitioning tool.

                    The storage partition can be any format you want. If you don’t need to access it from Windows, just use ext4.

                    Mount points are similar to drive letters, but more flexible. You can read these Wikipedia articles: https://en.wikipedia.org/wiki/Mount_(computing) https://en.wikipedia.org/wiki/Fstab

                  • Lvxferre@lemmy.ml
                    link
                    fedilink
                    arrow-up
                    2
                    ·
                    1 year ago

                    If this is a plain computer (desktop/laptop): I’d simply turn EFI off and call it a day.

      • odium
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        Grub is compatible with pretty much everything.

        • Macaroni9538@lemmy.mlOP
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          Dude please excuse my ignorance, but I would obviously need to make a bootloader partition, but do I have to like download grub software and install it on that partition or is that something the system will do during the partitioning process itself?

          • odium
            link
            fedilink
            arrow-up
            2
            ·
            1 year ago

            The system won’t do that by itself. I would recommend letting one of your distros do it. During the installation process, when you set that bootloader partition to be the boot partition, many distros will automatically install grub if it doesn’t exist and add themselves to an existing grub config if it does exist.

            Find a distro which installs with a default grub bootloader and make that the first distro you install.

            • Macaroni9538@lemmy.mlOP
              link
              fedilink
              arrow-up
              1
              ·
              1 year ago

              Thanks! and as far as making one bootloader your default, is that just a matter of changing the order of your boot process? and if a distro automatically installs their own bootloader, would just the first installed one take precedence by default or is there some configuring you have to do? so I maybe really just be overthinking this. Is it as simple as making roughly 3 ~60gb ext4 partitions and simply just do the regular install according to each partition? what about mounting and all that. No clue how that all works

              • odium
                link
                fedilink
                arrow-up
                3
                ·
                edit-2
                1 year ago

                For the bootloader questions: You just have to go to your bios (spam a function key during start up, which function key depends on manufacturer) and change the boot order. The order of things which happen when you startup your machine is:

                • your bios starts up
                • your bios selects the highest priority bootloader you have (you want this to be grub)
                • you can choose which OS to open in grub, if you don’t choose, it goes with whatever is set to be default in the grub config. If you haven’t edited the grub config, I think this would either be the first installed OS or the first alphabetically
                • grub runs the startup sequence for the chosen OS

                For the other questions: You might have to manually choose what to mount where. For each distro, you will want to mount a boot partition (your grub partition), a swap if your ram is low (make all your distros share the same swap partition), and a unique home partition.

                You might also want to mount a shared files partition. These would be files you want stored locally that you can access from all the distros. Don’t mount this in the install process, instead mount it after you install from whatever file manager you use on each distro. Make a ~/shared folder and mount it to that.

                • Macaroni9538@lemmy.mlOP
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  1 year ago

                  now this version sounds more simple. SO create three ext4 partitions roughly 50-60gb for each distro, maybe create a swap or maybe a storage partition? I don’t understand how the storage partition would come into play, but I can just save anything important to my cloud drive anyway, so I don’t necessarily need extra on device storage. So is that really it?

                  • odium
                    link
                    fedilink
                    arrow-up
                    2
                    ·
                    1 year ago

                    As for how exactly you add each distro to the grub config, refer to the distro specific grub instructions. Some user friendly distros auto detect and add themselves to grub, but some of the more customizable and bare bones distros need manual config.

                  • odium
                    link
                    fedilink
                    arrow-up
                    2
                    ·
                    1 year ago

                    I edited the comment you are replying to to answer more of the questions.

                    You would want the partitions you mentioned as well as a grub bootloader partition.

      • Pantherina@feddit.de
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        What?

        1. Install virt-manager qemu qemu-kvm
        2. Run virt-manager
        3. Install a new distro, choose the .iso that you downloaded, assign 8GB RAM and 60GB storage
        4. Leave the rest default
        5. Follow the Distros installing process as usual
        6. 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.

        • Macaroni9538@lemmy.mlOP
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          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?

          • Pantherina@feddit.de
            link
            fedilink
            arrow-up
            2
            ·
            1 year ago

            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.

    • Pantherina@feddit.de
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      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

      • Lvxferre@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        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.

        • Pantherina@feddit.de
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          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

          • Lvxferre@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            It’s less messy than it looks like.

            Physically you’d have N+2 partitions for N systems: one for swap, another for storage, and N for system files. Then inside each system you’d have simply to mount the swap, /, and /home/user/storage.

            I recommended OP to turn EFI off, it sounds pointless in his situation. Regarding /boot: it boils down to installing grub in one of those distros, and letting it manage the boot.

    • Macaroni9538@lemmy.mlOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      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?

      • Lvxferre@lemmy.ml
        link
        fedilink
        arrow-up
        4
        ·
        1 year ago

        /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.

        • Macaroni9538@lemmy.mlOP
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          Ahh brilliant! so create ONE storage partition and just mount that one partition in each distro’s home directory?

          • Lvxferre@lemmy.ml
            link
            fedilink
            arrow-up
            4
            ·
            1 year ago

            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.