Skip Navigation

Questions about running Linux in a VM on Windows

Hi, I'm an old windows user who have played with linux a few times, but never commited to it.

I want to dive deeper and I though about installing linux in a VM. Some basic questions:

  • Is that a good idea? / Anything I should take into account?
  • Is there any preferred VM manager for this? Windows comes with Hyper-V, but I remember reading about how Hyper-V is not ideal (I could be wrong).
  • Do different distributions work better or worse on VMs?
  • Are there any major differences when using linux in a VM compared to a bare metal installation?

And some not-so-basic ones:

  • Is there any [dis]advantage to "Linux VM on Windows" VS "Windows VM on Linux"?
  • If I start with "Linux VM on Windows", would it be possible to swap them in the future? What I mean is:
    • Virtualize the Windows installation so it can be run as a VM.
    • Un-virtualize the Linux VM (with all its contents and configuration) and move it to bare metal.
    • Run Windows VM on linux.

Notes:

  • I did a quick search and, although I found multiple articles about the topic, the ones I've read just show one way to do it without comparing it to the alternatives.
  • I'm aware of WSL(2), but I would like to be able to decouple from Windows in the future.
  • EIDT: I tried dual booting in the past. The main problem is that I'm too lazy to reboot every time I want to try something in linux and I end up not using it.

Thanks!

Mandatory linux = GNU/Linux

41 comments
  • I'll answer what I can in good conscience.

    Is that a good idea?

    If you keep in mind that it won't 100 % behave like a "proper" installation when things go weird it's fine.

    Do different distributions work better or worse on VMs?

    VirtualBox comes with some pre-made profile for some distributions but I've never been able to tell what those actually do, other than by default selecting virtual hardware that is supported.

    Are there any major differences when using linux in a VM compared to a bare metal installation?

    VM "hardware" is well supported, but anything requiring proper hardware acceleration (of any kind) will either perform terribly or fall back to a software-based backend. I.e. desktop compositing or hardware video decoding may or may not work as well as a native installation. Video games likely won't work in a usable way at all, unless it's Solitaire. Also the hard disks are decoupled from the VM to the host system and you need to manually forward USB devices to the VM or the system might not be able to detect them.

    Is there any [dis]advantage to “Linux VM on Windows” VS “Windows VM on Linux”?

    That entirely depends on what you want to use both systems for. If you already have Windows installed then I'd like to suggest the following path:

    • run some live USB to figure out whether your hardware is supported (graphics, sound, network, printers - especially the latter two)
    • if so, install Linux in a VM first (install multiple desktops and try them out, because why not)
    • figure out what programs are available that do the things that you usually do on Windows - keep in mind that just because $PROGRAM is written by GNOME/KDE/LXQT/... people that doesn't mean that it won't run perfectly fine on other desktops. Also: distributions may not ship all software, don't forget to check Flatpak/Flathub if your distribution is missing some software.
    • try them out in the VM to see if they meet your basic requirements
    • install the Windows version of those programs on Windows
    • over time, replace the Windows programs that you used to use for the ones that are also available on Linux
    • if after a few months there are no non-Linux programs left: Congrats, back up your data and just use Linux
    • otherwise: figure out whether the programs that you need will run well enough with Wine or in a Windows-VM

    If it turns out that there's just too much Windows-only software that you can't part with then you can just delete the VM and that's it. On the flip side you can find software that may just happen to be better than what you used previously. Also trying out various distributions is much, much easier this way - installing the tenth distribution on bare metal because you weren't happy with the previous nine isn't particularly fun.

  • While there's nothing wrong with VMs or USB live systems. I'd like to put forward the suggestion of hopping on eBay and picking up a piece of old business e-waste. If you really want to dive in with security and safety. It's about the best way. A 4th generation i7 Business Systems has been going on there for anywhere from 50 to $80.

    Especially since if you are techie enough to have the itch to actually dive in on your own. Should you decide to keep exploring with it. You will eventually want a small Homeland set up of some sort most likely. At which point you can convert that system into your server for your main system.

    I have a number of systems amassed over the last 30 40 years. And ironically despite having much newer rizen systems that I use for a bit of gaming here and there. One of the systems that I use the most is an old 4th generation i7. I have it near the bed so I can sit on it at night puttering around reading, light gaming or a little coding if the mood hits. Loaded up with endeavor os. I have a few other systems around with debian and fedora. One of them being a server. With home shares on NFS. Which makes things really nice because if anything happens to my user systems I just wiped reinstall toss on a couple configs and I'm back to where I was

  • To learn Linux, yes running it in a VM is great. I used VirtualBox but also HyperV a lot, it's nice because you can take snapshot to rollback in case of. MS HyperV has already made/configured Ubuntu image that you can use, so I'd start with that.

    You can move your linux to a bare-metal one, it's doable, but can be tricky.

41 comments