this post was submitted on 05 Sep 2023
48 points (92.9% liked)
Linux
48209 readers
710 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Sure. Don't.
Just use VMs instead. Partitioning your hard drive to boot multiple operating systems from is asking for trouble if you don't know what you're doing.
Thank you Stack Exchange.
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.
Do you have a recommended virtualization platform for such a project like this?
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.
Thanks for the info. Since im an explorer and learner and want to try new things, I figure I ought to step out of my debian/ubuntu bubble and start to familiarize myself with Arch and Fedora (or RHEL I guess?). but I just personally want then physically installed instead of some image in the cloud, ya know? It's just actually implementing this plan is a tad confusing for me.
Who said anything about the cloud? It's all on your local machine. The VM 'hard disks' are just files on your computer.
That's my bad, I tend to kinda lump cloud, VMs, and containers together and sometimes use catchall phrases. I know they're all different and I should clarify.
No worries. For easy reference:
Cloud: someone else's computer
VM: walled-off compartment of your PC
container: not-so-walled-off compartment of your PC.
Perfect! thank you. And I always thought containers and VMs were opposite, like a container is more ingrained into the distro. TIL!
So, with a VM everything inside it runs on a completely separate software stack completely different OS, Kernel, etc. It's very much pretending to be another machine.
With a container, it's running from the same kernel as the host, and the compartmentalisation is handled by the kernel basically. By default they can't really see each other, but the kernel can see both.
Do the distros remember and keep everything the same way though? like do they remember all your settings and apps and what not? Idk why, but im under the impression that they wipe each time. probably way wrong lol
Everything is saved like on a "real" system.
Well perfect! Idk why I was under the impression that each time you spin a VM, its like a temporary session...
So, docker images don't save their changes by default. The idea being that the image is supposed to be a reliable image that can fix any snafus with a simple revert of the system disk.
It's really easy to save changes though, just use docker commit . You can also mount host folders to folders in the guest, where they are as changeable as anything on your host.
Ahh I see. I definitely do want to learn docker but I think that may be too tricky for me right now. I do tend to get sidetracked and go off into little experiments though and end up not getting anything done lol
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 😹
Awesome, thanks for the reassurance :)
VMs are as easy as installing applications. VirtualBox and VMware do great jobs in guiding users through the process.
perhaps I will take a gander if I can't figure it out manually.
There just isn't any reason to do it manually. You don't learn anything useful that you can't learn on a VM. And it adds complexity to your system that doesn't need to be there.
As others have stated, the main risk comes from having Windows as one of your partitions, as Windows doesn't care if you are working with other systems, it only cares about Windows.
I know SOLID principles are meant for object oriented programming, but, they have merit in many areas. One of the more impactful ones is the principle of single responsibility "...[X] should do one thing and therefore it should have only a single reason to change." Adding in additional responsibilities increases entropy and increases the likelihood that if something goes wrong, you won't be able to pinpoint what caused it, and therefore how to fix it. Situations like that are antithetical to your stated impetus of learning.
However, if you used virtual machines, not only are you now abiding by the principle of single responsibility, but you are also giving yourself access to standard industry tools and techniques that will serve you well in your learning journey. For example, when dual booting, if you royally mess something up, you are now left with a useless hunk of computer until you either figure out what you did and how to undo it, or you just give up and reinstall your OS. With VMs, you can just take a snapshot before you make your changes, and if shit hits the fan, you just revert to your snapshot and retry. This gives you the chance to figure out not just what happened, but why, and how to avoid it, all without losing access to your main system.
Not only that, but multiple VMs can be running simultaneously and can be used to simulate networks of interconnected machines all running disparate software with different goals and responsibilities.
It's obviously your computer and your choice. But, I'm trying to save you the headache many of us had to go through on our learning adventures. Just use VMs.
Is there a specific VM software or method you would recommend for this project?
VirtualBox is the simplest and must accessible option for beginners. It's not very well aligned with Linux ethos, but it is easy to use and is well documented with many users to help if you need it. It also does a good job of walking you through the installation process when setting up VMs.
Perfect, thanks for all the replies lol
Thanks a lot. I'm just looking for more permanent solutions. Idk a whole lot about VM, but isn't your image wiped after each use? I dont want to keep tweaking settings and configurations, I want them to be like my own personal desktop where you install your own programs and make your own configurations and tweaks and they actually remain. Is that possible for VM distros? I would like to actually learn and use the other distros as work stations too. Not just trying to peak and toy around with other distros. If that were the case, I'd use my ventoy drive
So, for a bit of a crash course, a virtual machine is just that, a machine that is virtualized. So, anything you can do with your physical machine (your computer) you can do on a virtual machine. (You could even dual or triple [or more] boot a VM)
Just like a normal computer, changes made to a virtual machine are persistent unless you configure them not to be. So no need to worry about losing changes. (Though, I would suggest taking a snapshot of your newly installed distro as soon as you finish the initial installation, it will be useful if you need a clean starting point for something you want to do)
I suggest you download a couple of Linux distros you want to play with, download VirtualBox, and setup a virtual machine for each distro. You can also setup the VM to run in full screen mode, so it feels like native.
There are tons of guides online to help you out, and a large number of computer nerds here that will help you too.
The one limitation with VMs is gaming. You can get around that limitation once you're more well versed with them, but just don't expect to be gaming on a VM for quite a while.
Perfect! so you feel that Virtualbox is the way to go then?