All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
Complete Beginner Here: How do I actually setup and use a Virtual Machine (VM)?
Hey everyone,
I'm a total tech novice, and I could really use some guidance. I need to test out some software safely and also want to try learning Linux. Everyone online keeps recommending that I use a Virtual Machine (VM).
I went ahead and downloaded VirtualBox since I heard it’s free and beginner-friendly, but once I opened it, I got completely overwhelmed. Terms like ISO images, VHDs, Bridged Adapter, and NAT are basically a foreign language to me.
Since I've never even installed an operating system before, I wanted to ask this awesome community a few basic questions:
Where to get ISOs: Where do you guys usually download safe, official system images (like Windows or Ubuntu .iso files) without malware?
Resource Allocation: My main PC has 16GB of RAM and a 6-core CPU. How much RAM and how many CPU cores should I assign to the VM? I'm terrified of freezing my actual computer or making the VM painfully slow.
Network Settings: If I just want the VM to have basic internet access without messing up my main PC's network, which setting should I choose (NAT or Bridged)?
Beginner Tips: Are there any "explain like I'm 5" guides, YouTube channels, or documentation you’d recommend for an absolute beginner? Any rookie mistakes I should avoid?
Thanks so much in advance for your patience and help! Appreciate you all! 🙏


Comments
Where to get ISOs: Where do you guys usually download safe, official system images
(like Windows) -
********On torrent sites ofcourse!
Assuming this is not a troll post, just watch a few youtube videos.
First, I want to point out that people here use a specific kind of VM called a VPS, which is essentially a network-optimized VM "in the cloud" that will keep running even if you turn your own computer off. For just learning Linux and experimenting, you're doing the right thing by trying out a VM locally on your own computer.
From their official sources. For example: https://xubuntu.org/download/. Xubuntu is a lightweight version (distribution, or distro) of Ubuntu, which makes it better for running in a VM. If you don't know how to use torrents (from that website, not from a random torrent site!), select direct download. It's slightly slower, but you'll get the same ISO.
If you want to use Windows, you can actually get the ISO directly from Microsoft: https://www.microsoft.com/en-us/software-download/windows11. Be aware that it'll only install an unregistered trial version of Windows.
If you aren't sure what the official website for a Linux distro is, a good technique is to find that distro on Wikipedia and click the link to the official site there. If the distro is too obscure to have a Wikipedia entry, it's probably not something a novice should be using anyway. You don't really have to worry too much about malware, because a malicious ISO will generally be confined to the VM. Still, only download official images.
Some popular Linux distros (you'll want to select "AMD64" or "64-bit" if it asks you to choose):
The website DistroWatch is a good place to learn about the differences between Linux distros and read user reviews. Beware that some distros there are extremely purpose-specific (e.g. Alpine, which is made for contains and resource-constrained systems) or are made for advanced users (e.g. Arch and Gentoo, which are made for customizability at the expense of ease-of-use). Note that DistroWatch also includes non-Linux OSes like OpenBSD.
A good thing to remember is that most distros are based on a few "upstream" parent distros. The Linux family tree is fucking huge. If you feel overwhelmed, just stick with one of the popular distros like one of the Ubuntu-derived distros (e.g. Xubuntu, Kubuntu). Most people on this forum will be using Debian on their VMs, but that's because it's good for servers and can run for a long time with minimal maintenance and sparse updates. Ubuntu, which is based on Debian, is generally easier to use on a desktop.
A distro made for the desktop (as opposed to being made for servers that don't have graphics) will use a "desktop environment" (DE). The desktop environment determines the look and feel of the system as well as the default apps that you have available. KDE and Gnome are the most popular DEs. Even if you have two different distros, if you use the same DE, they'll at least feel nearly identical despite being totally different distros.
You really don't need to be scared of the computer freezing. If it freezes, just reboot it. The VM will not auto-start so if it does freeze, just lower the memory allocated to the VM and try again. A VM won't damage your computer. It's just an application like any other application.
As for the memory requirements, that depends on the OS. Some will require more RAM than others. Xubuntu will use less than Ubuntu, and Ubuntu will use less than Windows. As for CPUs, you can use a single core if you want, or you can use all 6. Your computer won't freeze unless you set the memory too high. Unlike RAM, the CPUs will be shared with the host at the same time (i.e. every core that you give to the guest will still be available for the host to use), so you can safely enable all 6 if you want.
The download page for each distro will generally tell you their recommended minimum memory and disk requirements. Ubuntu, for example, recommends 6 GB RAM, although you can get away with a bit less.
Just use NAT. Bridged is only useful in special circumstances.
Not sure, but just remember that VMs use your system's resources, so whatever you use for the VM won't be available for the rest of your system (until the VM is shut off). So don't expect to be able to open as many browser tabs on your host system when the VM is running. If you have only 16 GB RAM and you select 16 GB RAM for your VM, you should expect the host to freeze. If you use too little memory, your host will be fine but your VM will run slowly. If it runs horribly slow, just increase the memory.
An ISO image is basically a file that contains what you would have put on a DVD if you were installing on a real system. It's basically a virtual DVD to be used with the virtual machine. Selecting the ISO in VirtualBox is the equivalent of inserting the installation DVD into real hardware.
VHD is the VirtualBox name for their virtual hard drive. It's a big file that is the virtual disk that the OS is installed to. The bigger it is, the more storage you have available for your VM. So if you set a 25 GB VHD, then the OS will think that it's on a computer with a 25 GB hard drive, and the VHD file on your real computer will use (up to) 25 GB.
Bridged Adapter and NAT are just ways to connect to the internet. You'd only use a bridge in special circumstances.
Some notes:
Holy cow—that is incredibly detailed! A huge thank you to all the experts who replied—I really appreciate it!
@zarayuki I will take it you're not CS student. So, my advice is to learn "Introduction to OS" online from any respectable university. It will teach you basic knowledge of operating a machine through CLI.
You don't need to learn NAT, bridge etc. There will be a day for you to learn, but it's not the time. You're using windows, right? If it's windows >=10 install the WSL
I just hope that op wasn't kidding. Because @forest writing is pretty detailed for a beginner, enough to get someone started with VMs.
VM world like i am 5 years old;
Imagine you have one big Minecraft world on your tablet. That's your real computer. In that world, you have your house, your diamonds, your pets, and all your stuff.
Now, sometimes you want to try crazy things like:
Putting lava everywhere
Using a million TNT
Testing weird mods
Or playing with a friend who has different rules
But you don't want to destroy your main beautiful world!
So what do you do?
You create a Virtual Machine (VM).
Think of a VM like a magic copy of Minecraft that lives inside your real Minecraft world.
The big world = Your real computer (the "host")
The magic copy world = The Virtual Machine (the "guest")
You can blow up everything in the magic copy world, install weird stuff, or even turn it into a completely different game... and when you're done, you can just delete that copy and your real world stays safe and perfect.
It's like having a play tent inside your bedroom. You can make a mess in the tent, but your real bedroom stays clean.
I disliked these types of examples in school. It is supposed to make things simpler but it actually confuses more.
Yeah life as a 5 year old is hard
what tag shall we propose for forest?
Resident Anime Girl
Install Archlinux, you'll thank me later.
I wouldn't suggest CS. That teaches you the low-level fundamentals, but you don't really need to understand data structures, microkernels vs monolithic kernels, or good API and ABI design to simply get started with Linux. I'd only recommend CS if someone is trying to learn deeper details (which may not all be relevant in the real world either for those who are not making experimental designs like exokernels or writing compilers).
I'm used to writing answers on Stack Exchange, so whether or not they're kidding, I know it may be useful to someone else in the future!