Oh, the joy of virtualisation. Where would we be without its infinite power of making things happen. But what is it? Broadly speaking virtualisation in the IT world refers to dividing physical resources of a computer to create a virtual entity within the computer, being it a virtual machine, OS, processes or as in the modern world, the ever increasing popularisation of containers. Think of it as creating a computer inside the physical computer which behaves and functions just like one. Virtualisation has been around from for a long long time, it actually started in the 1960s at IBM as a research project but as time passed it became evident virtualisation would be extremely useful in the IT world and through time it took off. In the beginning mostly in mainframes but as micro computer became more mature and with some clever inventions by Intel and AMD the humble PC became capable of utilising virtualisation. In todays IT world virtualisation forms a critical backbone to all infrastructures. There is virtualisation all around us and there is a 99% chance you encounter it in daily life even if it is well hidden in the background. Wikipedia has a very good article on the principles and more in depth view on virtualisation and for a nerdy person its a must read.
Of course you do. Having a virtual machine on ones computer can be very useful, especially if youre like me who likes to experiment with things that can sometimes go KABOOM. Having a virtual machine means, if you like to tinker, you can do it in the virtual machine without risking the integrity of you computer. If the virtual goes BOOM you simply reboot it or in vorst case reinstall it with no harm done to your main. I use virtuals extensivly on my home laptop, I even have a virtual datacenter in it from where I deploy machines to tinker with. Sometimes they go BOOM but most often they become a valuable tool to learn and test things. I have on the average around 10 virtual machines running at any given time for expermentation and learning and its all on my laptop which is a mid range gaming laptop Ive jacked up to 64 Gb of RAM. But enough of that, lets have a look at whats needed to run a virtual machine on your computer.
Virtualisation can be done on most platforms existing today but for sake of simplicity and practicality we narrow it down to ARM, AMD/Intel and Mac Silicon. All of these platforms possess CPUs capable of handling virtualisation and since you dear reader probably own a PC, Mac or an ARM based machine you have hit jack pot. Additionally, plentiful of RAM and storage space is needed as a virtual machine uses RAM just like a physical computer does and it needs its space in the storage. As most popular OSs can be virtualized the rule of thumb is following their respectie minimum hardware requirements. But wait, hang on, how do I virtualize? Yes, where is the magic? The magic lies in specialized virtualisation software which is available to the major end user platforms. Lets list them out the most popular ones.
Virtualbox by Oracle is a popular virtualisation software for home use and among tinkerers as it is free for personal use (be very careful not using it on work computers as Oracle will aggressivly come after you). It is a dual install package, the application and propriatry extensions which will run happily on Windows, Mac and Linux. Due to its relativly simple and straight forward GUI it is often the choice for beginners on Windows.
VMware Workstation by Broadcom (formerly VMware) is virtualisation software more known in the professional world as its big sister, the VMware hypervisor, has been one of two industrial standards in the IT world. In the past its been out of reach for most nerds and tinkereres due to it being paid software and VMware like Oracle were known to be aggressive. Broadcom has recently made this software free for personal use but Broadcom being what it is be careful what you sign up to and read the EULA through and through. I have no personal experience of the Workstation but have heard good things about its functionality on Windows.
QEMU An open source virtualisation and emulation software which combined with KVM and XEN is depending on your view, the most powerful and versatile software publically available for virtualision. It can pretty much run anything anywhere and in most configurations imaginable. It exists for ARM, AMD/Intel and Mac Silicon so you are most likely in luck. As it is open source and activly developed it tends to be very optimised and soft on resources. However, with all this freedom and power comes one drawback for most users. The basic QEMU installation is text only and due to it being very versatile even basic configuration can be a serious task of its own so this one is not for the faint hearted or those not ready to spend weekends pouring over manuals and pages and pages of config examples. However, not all is lost because a GUI exists as a standalone app called Virt Manager which can be used for easing up virtual machine creation. On Linux QEMU, Virt-Manager and libvirtd are used in combination to create a user friendly virtualisation. I use this combination on my personal laptop to manage my virtuals and the virtual datacenter (I run the datacenter as a virtual machine so its deployed machines become what is called nested virtual machines). QEMU is readily available through package managers on most Linux distributions and the same goes for virt-manager and libvird. QEMU can be setup through homebrew on Macs and I can speak from experience emulating x64 on Mac Silicon is FAST. I have no experience with Windows and QEMU but it exists and there are multiple pages out there on how to set it up so go wild on the web.
UTM This one is a bit special as it is only for IOS and MacOS. It is a mostly open source virtualistion and emulation software based on QEMU. Being Apple centric its lives kinda isolated from the rest of the world but Ive tested it on an M3 Mac and run Windows 11 ARM with good results. The user interface is end user friendly and things generally just work. BTW, Windows 11 ARM under UTM is surprisingly stable and usable. I ran an instance for 30 days straight and it never bombed which is unusual for Microsoft products. Be aware of UTM on the App Store where they charge you for it. Go instead to the webpage and download for free from there.
Hyper-V Probably the least known virtualisation software on the market and yet arguably the most available one. This is Microsoft take on virtualisation only software (a hypervisor) and despite Microsofts bad reputation in software quality this one actually works. It is built into Win10 and Win11 pro/enterprise editions and can be enabled as an additional Windows feature. The GUI is rather straight forward and hazzle free with the exception of the virtual switch part which can be convulated due to reliance on powershell commands. If you happen to have a pro or enterprise version of Windows and want to run x64 architecture OSs this is a fairly good place to start. However, there is a severe drawback with Hyper-V. It does not posess any graphics emulation so apart from Windows other OSs will run in terminal mode only unless you setup ex Linux with GUI and an RDP server and RDP yourself into it. Its beyond me why Microsoft has gone this way but then again Microsoft is known for communistic tendencies when it comes to users (looking hard at you Microsoft for the fate of wsa) so if you want to run graphics then this one is not for you.
Now that we have covered the software its time to dive into more physical related constraints which in most cases happens to be your computers RAM. The RAM your computer has dictates your virtualisation experience a lot due to several factors. The host OS, aka the operating system you run has its RAM requirements for minimal run and since you are going to run virtual machines you need to have a lot more RAM than just the bare minimum because the real RAM requirements are your host OS plus whatever OS you are going to virtualize so in the case of Win11 you can already take away 8 - 12 Gb for the OS and whatever is left is what you can use for virtualisation. So, in case of a Win11 laptop you need at least 16 Gb of RAM just to run a virtual Linux machine comfortably. Remember, running a physical machine with more than 85% of RAM utilisation is a bad idea as the OS will start swapping a lot which will bog you down to a snails pace. So all in all, if you run Windows then 16 Gb is the bare minimum to experiment with virtualisation. Luckily RAM is cheap so if youre a wild one and want to go full throttle into virtualisation then concider upping your RAM to 32 Gb but be aware going for 64Gb is size wize a better option which doesnt cost an arm and a leg and it gives your computer a lot more breathing space and room for interesting experiments with multiple virtual machines. On the bright side, if youre like me and run Linux things look a lot different from the RAM perspective. Common Linux distros with GUI usually take between 1 - 2 Gb of RAM when running fully blown and since Linux is a lot more resource friendly than Windows you can get away with a lot less hardware wize. The only real requirement is you have a CPU which has the necessary virtualisation extensions. Ive run virtual machines on a 4 Gb laptop with QEMU so if you like to experiment you can go as low as 4 Gb of RAM. Just dont expect to run anything with fancy graphics as those eat RAM like hungry kittes eat their breakfast. You should be comfortable on an older laptop with 8 Gb of RAM when running Linux. Im greedy so my laptop has 64 Gb of RAM and it gives me the ability to run ex MacOS, Win11 and several Linux servers all at the same time. Im assisted by the fact the CPU in my laptop is a rather capable i5 and I run M2 disks (more about that later) exclusivly so the pipeline is fast through and through. When it comes to Macs the RAM requirements fall sort of between a Linux and a Windows laptop. MacOS is bloated to some extent so it eats conciderable abount of RAM but less than Windows so a 16 Gb M class Mac should be comfortable for most experimentations. Note, Mac Silicon is optimized for virtualisation so M class Macs are FAST compared to AMD/Intel CPUs. I guess Apple has something in store for the future when it comes to virtualisation because otherwize they wouldnt have bothered.
When it comes to storage we can safely assume most modern hardware is sufficient for some experimentation size wize. Windows requires about 60 Gb of storage for virtualisation and the average Linux installation tops out at 25 Gb so given the fact most standard hard disks are several hundred Gb you should be covered. However, the type of hard disk is relevant for this discusstion. The rule of thumb is if you have a spinner (old fashion hard disk) you are going to experience low performance on your virtual machine and long boot times which gets irritating in the long run so aim for using a SSD or a NVME disk if possible. It gives you a smoother experience and if youre using QEMU with passthrough on x64 you get somewhat close to on iron performance (like you run on a physical host).