There are sane people with this many VMs on a personal machine, right? RIGHT?
Half of these exist because I was bored once.
The Windows 10 and MacOS ones are GPU passthrough enabled and what I occasionally use if I have to use a Windows or Mac application. Windows 7 is also GPU enabled, but is more a nostalgia thing than anything.
I think my PopOS VM was originally installed for fun, but I used it along with my Arch Linux, Debian 12 and Testing (I run Testing on host, but I wanted a fresh environment and was too lazy to spin up a Docker or chroot), Ubuntu 23.10 and Fedora to test various software builds and bugs, as I don't like touching normal Ubuntu unless I must.
The Windows Server 2022 one is one I recently spun up to mess with Windows Docker Containers (I have to port an app to Windows, and was looking at that for CI). That all become moot when I found out Github's CI doesn't support Windows Docker containers despite supporting Windows runners (The organization I'm doing it for uses Github, so I have to use it).
Its my only computer. I couldn't go back to anything else. Every time I double click Firefox, it opens a new VM. When I close Firefox, the VM is destroyed.
Email is in a separate VM. Email attachments also open in a disposable VM. USB devices are quarantined unless I connect them to a specific VM. Its a game changer.
Cons: I need as much ram as I used to need when I ran Windows. Watching videos is a bit choppy at full screen sometimes. And I can't play any video games.
Nah, most of the windows ones don’t get updates any more and the Linux ones can get a script that updates on boot. Takes longer to start up but handles the job itself.
And that's why there's a "-2" on the end of that arch vm - there was one before that I borked while trying to update it because I hadn't used it in so long.
It's a terabyte SSD. I've currently got 136 GB left on it. I think part of it might be they're auto-expanding qcow2 images, so they don't actually take up the full space provisioned for them.
I have probably a couple of more Linux/BSD VMs than here (with some with GPU passthrough and one or two for ARM crossbuilding and so on) but only 2 Windows VMs - the only 2 I have legitimate licenses for.
10, plain 11, 7, and funny enough, Server 2022 are all legit licenses (I can get a key for server through my university). Actually, I'm pretty sure the 11 one, I upgraded a Windows 7 VM to 10, then to 11.
Every other Windows version that needs it (11 LTSC, 8.1, and Vista), I just temporarily host a phony KMS server whenever it needs to be reactivated.
I apologize for talking so much about Windows on a Linux sub. May Stallman break into my house and give me 10 lashes as I slumber.
On a serious note, I think there are valid reasons to have several VMs other than "I was bored". In my case, for example, I have a total of 7 VMs, where 2 are miscellaneous systems to test things out, 2 are for stuff that I can't normally run on Linux, 2 are offline VMs for language dictionaries, and 1 is a BlissOS VM with Google programs in case I can't/don't want to use my phone.
I run a different LXC on Proxmox for every service, so it's a bunch. Probably a better way to do it since most of those just run a docker container inside them.
I like to run a hypervisor host as just that, a hypervisor host. The host being stable is important, and also reduce attack surface by only having it as that.
An LXC per service is somewhat overkill. A docker host running on LXC could likely run all the docker containers.
Serious answer, I'm not sure why someone would run a VM to run just a container inside the VM, aside from the VM providing volumes (directories) to the VM. That said, VMs are perfectly capable of running containers, and can run multiple containers without issue. For work, our Gitlab instance has runners that are VMs that just run containers.
I have a real use case! I have a commercial server software that can run on Ubuntu or RHEL compatible distributions. My entire environment is Ubuntu. They also allow the server software to run in a docker container but the container must be running RHEL. Furthermore, their license terms require me to build the docker container myself to accept the EULA and the docker image must be built on RHEL! So I have an LXC container running Rocky Linux that gets docker installed for the purpose of building RHEL (Core is 8) imaged docker containers. It’s a total mess but it works! You must configure nested security because this doesn’t work by default.
LXC is much more light weight than VMs, so it's not as much overhead. I've done it this way in case I need to reboot a container (or something goes wrong with an update) without disrupting the other services
Also keeps it consistent since I have some services that don't run in docker. One service per LXC
I think the answer is obvious. There are so many better alternatives available today. Some examples include:
Windows ME
Glorious Leader's Red Star OS
Temple OS
Don't use an operating system - sacrifice all your your time to studying the ways of the mighty Zarthadonatoxator instead. All hail Zarthadonatoxator! Zarthadonatoxator is the only true way!
I had a VM but somehow the virtual drive got corrupted? And it wouldn't let me install, update or uninstall VC++ runtime as a result. I'm gonna try again later, but it's a worrying start.
If I could get vbox to work* on my laptop or find the drive to learn QEMU, then I would have plenty on there. For now I'm just stuck with plenty on my desktop running win10.
*I have installed it a few times on my Debian based distro, but I swear every time I do nothing to it and it destroys itself. Works fine one day, then the next I turn on my laptop, after the only changes being that I created and ran a VM and it decided to hate me and not even boot the program. I think I'm just cursed.
For windows I either use a mingw toolchain from mxe.cc or just run the msvc compiler in wine, works great for standard C and C++ at least, even when you use Qt or other third party libraries.
GPU passthrough has always been one of those exciting ideas I’d love to dive into one day. My current GPU being a little older, has only 4GB of RAM. Oh the joy's of being a budget PC user. Thankfully it's more of a "would be nice rather" than an "actually need"....
Very few people need it but it’s awesome and a lot of fun and lets you spend more time in Linux than dealing with Windows. The VFIO Reddit and Arch wiki are great resources. I have GPU, USB, and Ethernet pass through on my Ubuntu machine and it works great, but I needed the Arch wiki to really figure out what I was doing wrong when I first set it up. Level1Techs is also a good resource on YouTube and forums because they are big into VFIO and SR-IOV. Next time you get a PC, make sure to look for more PCI lanes and bifurcation support on your motherboard. Gen 4 is a great option because it generally has enough lanes and the ram and ssd are much cheaper than Gen 5. GPU choice doesnt matter much but if you’ve got AMD watch out for the reset bug. Basically you can start a VM but once you quit it the cards state is unavailable for further use (eg a second VM session or reopening your DE if you’re using a single GPU setup) unless you restart your host. There are some workarounds but personally I’d avoid it if possible. Onboard graphics (iris or amd APU) are recommended. Older hardware can get cheap so good luck saving up if this is something you want to do!
I did this with Qubes a year ago and haven't had any issues apart from figuring out the right flags to get the full performance, otherwise the GPU would cap around 30% under load with low CPU load.
Kind of at the mercy of what your motherboard and bios will allow, mine I had to cheese a little and disable the PCI device on boot so I get to decrypt my disk with no screen lol but it works!
Ok I’ll have to try this. The weird thing is my little test proxmox server is a 2013 trashcan. So this would be like a hackintosh running on Mac hardware. Would that technically be a hackintosh? I’m not really sure. According to the Apple license you can virtualize MacOS if it’s running on Mac hardware. I’m not sure if that requires MacOS as the hypervisor. Regardless this is not something I knew about. Very cool. Thanks for the info.
Are you running macOS or Linux as your host? My MacBook is M1 and I found the performance running ARM windows and ARM Fedora via UTM (qemu) to be pretty good.
On the cheesegrater(2019 MacPro) it’s a little convoluted. During covid times it was my single box lab since it had so much memory (768TB). So I was running nested ESXI hosts and then VMs under that. I also have a M1 MacBook Pro that I had parallels run ARM VMs (mostly MacOS, Windows, and a couple of Debian installs I think).
I have been looking at VMWare alternatives at work so for the hypervisors I’ve been playing around.
I do this stuff for a living but I also do it home for fun and profit. Ok not so much profit. Ok no profit but definitely for the fun. And because I love large electric bills.
I have about that many. Looks good to me!
I have two Windows VMs. One for work and presentations. One for games and Adobe. A bunch of random Linux VMs trying to get a FireWire card to work and a Windows 7 VM for the same reason. I’ve also for several Linux VMs trying out new versions of Fedora, Ubuntu, or Debian. A couple servers. Almost none of them are ever turned on because my real virtualized workloads run in docker or LXC! I never could get Mac VM to work but I have an AMD CPU and a MacBook so not too high priority.