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

  • qwesx@kbin.social
    link
    fedilink
    arrow-up
    22
    ·
    1 year ago

    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.

    • Crul@lemm.eeOP
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      Thank you very much for the in-depth answers. It makes a lot of sense

      I’m happy to say that most of the problems won’t probably apply to me. I have a laptop with no dedicated GPU and I don’t play high end games, so I think there will be no problem with that.

      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.

      It’s probably impossible to list all the possible differences, but do you know what are the most common ones?

      Thanks again!

      • qwesx@kbin.social
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        It’s probably impossible to list all the possible differences, but do you know what are the most common ones?

        The ones that I mentioned regarding direct hardware access of any sort.

  • nosnahc@jlai.lu
    link
    fedilink
    arrow-up
    12
    ·
    1 year ago

    I don’t know a distribution which work better on VM but for an old Windows user, I recommand Linux Mint. Close to windows GUI and really easy to use!

  • Moobythegoldensock@lemm.ee
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    1
    ·
    1 year ago

    Is this a good idea?

    Sure!

    any preferred VM manager

    I like Virtualbox.

    • Do different distributions work better or worse?

    Depending on your specs, you may want to go lighter than you would on bare metal. For example, if you have 16 GB of RAM, you might want to only give your VM 4 GB of RAM so Windows can run on 12 GB, and then pick a lighter distro so it won’t be slow on 4 GB.

    Any major differences?

    Snapshots are way easier in a VM.

    Advantage/disadvantage

    Windows VM on linux is painfully slow and doesn’t have a license, so it’s much less good than linux VM on Windows IMO.

    Would it be possible to swap?

    Not as far as I’m aware, but smarter people than me have probably done it.

    • setVeryLoud(true);@lemmy.ca
      link
      fedilink
      arrow-up
      9
      ·
      1 year ago

      You can license Windows in a VM, you can grab your Windows license from the UEFI system using a command:

      sudo strings /sys/firmware/acpi/tables/MSDM

    • arglebargle@lemm.ee
      link
      fedilink
      English
      arrow-up
      6
      arrow-down
      1
      ·
      1 year ago

      Windows vm on a Linux box is not painfully slow. It’s about the same as native, where did you get this idea?

    • Crul@lemm.eeOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Depending on your specs, you may want to go lighter (…)

      Good point regarding balancing hardware resources.

      Windows VM on linux is painfully slow and doesn’t have a license, so it’s much less good than linux VM on Windows IMO.

      Good to know.

      Thanks!

  • aberrate_junior_beatnik@midwest.social
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 year ago

    Short answer: go ahead and install whichever Linux distro you like on Hyper-V and go from there.

    Longer answers:

    Linux works fine on VMs. There aren’t really any caveats. Hyper-V should be fine. It’s been a while since I used it but I remember thinking it was OK. I preferred it to Virtualbox; I think the Virtualbox drivers made some stuff flaky on my machine, but YMMV. I ended up shelling out for VMWare which I’d used at work. Some distros offer cloud images that are tailored for running as VMs, but unless you’re running a cluster with a lot of VMs I don’t think there’s any advantage, any distro will work. There aren’t any significant differences running Linux on a VM from running it on a physical machine.

    As to which OS to use for a host, the commonly understood strengths & weaknesses of each OS apply the same as they do in other domains. Windows has better desktop hardware support, Linux tends to be more power-user friendly, etc. It depends on your priorities which you choose. Maybe the biggest factor is that Windows has Hyper-V, whereas Linux has Xen, KVM, and qemu. Either platform can use Virtualbox or VMWare.

    P2V and V2P are definitely things. Searching for them online will return tools that will do this. Linux should be rather straightforward to transfer even without a specialized tool, assuming you aren’t using a distro (or distro variant) that is specially built for VMs. dd should work like a charm. It should be possible to do invert the host and guest.

    If that sounds like a whole lot of nothing it’s because that’s kind of the way it is with VMs. They just work.

  • monsieur_jean@kbin.social
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    You just want to get a feel for it, so I suggest what I’ve used with success in the past :

    • Windows host
    • Virtualbox
    • Linux Mint with the XFCE desktop environment.

    All free, Linux mint is newbies friendly and XFCE is light enough to run well in a VM. It is Ubuntu based so it’s very well documented (basically 99% of the tutorials for Ubuntu work with Mint) but it comes with less bloatware and a more ethics.

    Of course no single Linux distribution is perfect or we would all be using it but I suggest you don’t lose time looking for a distro. Just pick one and install it. If you don’t like the look and feel, then try another. You can distro hop through several of them to taste the variations. But the general principles are pretty much the same across the board.

    • Crul@lemm.eeOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Thanks for the suggestions.

      Do you know if there is any reason to prefer Virtualbox over Hyper-V?

      • monsieur_jean@kbin.social
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        Sorry just saw the answer.

        Virtualbox is very easy to use out of the box, even if you have very little experience with virtualization. Everything is in one place and pretty much self explanatory.

        Hyper-V is more complicated and requires that you have a Enterprise, Pro or Education license. It cannot be activated on the Windows 10 or 11 home edition.

  • GoumLeChat@jlai.lu
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    1 year ago

    I tried dual booting, and I found it to be annoying as well. I always had to reboot because something I needed was on the other OS. Over a few weeks Linux was just taking space on the drive.

    More recently what I’ve been doing was to run Linux in a VM that starts automatically on full screen when opening my Windows session (easy to set up). So now I can work with both in parallel, transfer data, synchronise clipboard with Ditto, have my Windows-specific software while still using Linux as my daily OS. Even better now since I have a NAS which I didn’t have during the dual boot period, so I can mount drives for both. For that you can either use VMWare Workstation Player or Oracle VirtualBox, they’re both free.

    When it comes to swap, of course you will be able to run Windows in a VM on Linux. But transfering your current data ? I’m not sure at all. It might be doable, but I think you should save your data externally for both machines and do a proper reinstall. It will save you some time and hassle.

    • Crul@lemm.eeOP
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Thanks for the answer!

      May I ask you how do you balance resources (mainly RAM) between Windows and Linux?

      • GoumLeChat@jlai.lu
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        1 year ago

        Well that’s my main issue, my rig runs an i5-6900 and I have 16GB RAM. I gave 6 to the Linux VM, and try to maintain the usage on Windows as low as possible : not having the browser running on both, a plug-in to put to sleep tabs not used, stopping processes I’m not using. KDE is a bit too much in my case, but Cinnamon, or XFCE are working fine. I’ve found a new love with i3wm but it needs some time to tinker it to your taste.

        But if you have a more recent computer, you should be fine. Upgrade the RAM maybe, if you find it to slow.

  • ashaman2007@lemm.ee
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    Vmware workstation player is extremely good. Setup is simple and as far as I know it is faster than VirtualBox. I use it with Windows 10/11 and RHEL Linux for developers.

  • eddanja@lemmy.world
    link
    fedilink
    arrow-up
    3
    arrow-down
    1
    ·
    1 year ago

    It depends on what you are trying to accomplish.

    If you want a pretty desktop environment or you need all the bells and whistles of a specific Linux distribution (Debian, Fedora, Ubuntu, CentOS, etc.) then a virtualize environment is probably the way to go.

    If you just want to get used to playing with Linux commands using bash and you only need about 80% of the full functionality of a pure Linux environment, then Windows offers the Subsystem for Linux which installs like an app you can run at anytime.

    I personally use the subsystem for Linux on my Windows work laptop so I can quickly write Python scripts and test application configs for production servers. It’s quick and dirty and I can easily share files between Windows and Linux. It also has a small footprint on the computer as oppose to a VM.

    Whatever you decide, have fun! Linux is awesome.

  • Jestzer@lemmy.world
    link
    fedilink
    arrow-up
    3
    arrow-down
    2
    ·
    1 year ago

    If you’re interested in making a full jump to Linux at some point, then you’d probably be interested in dual-booting instead of using VM for Windows or Linux.

    • melechric@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      1 year ago

      I think it’s far less invasive to setup a Linux VM that can be thrown away vs. setting up dual booting.

      With Hyper-V or Virtualbox the OP can have a Linux distribution installed and booting very quickly without fear of disrupting his current Windows installation.

      • Jestzer@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        You’re right, but is it easy to convert a VM to a physical machine? I’ve never tried, so I’m genuinely asking.

        • melechric@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          It’s definitely possible to convert in both directions. I’ve never done it though. The technical hurdles made it unpalatable. My main method of moving back and forth was to keep my personal data on a separate disk from the OS disk. That way I could always take my data with me when I changed OSes or VMs.

        • oldGregg@lemm.ee
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          1 year ago

          I’ve always gone the other way, and ran my dual booting capable install in a virtual machine

          I think if you can convert the virtualhard disk into raw files it should work the other way.

        • Unforeseen@sh.itjust.works
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          Generally yes, but I’ve been working with VMs on various platforms for a very long time, so I’m probably not the best to qualify on what easy is. How easy will depend on what software you are using.

          I’ve done many physical to virtual, and the very rare virtual to physical. Both can have problems you may need to work through (almost always driver related).

    • Crul@lemm.eeOP
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      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 :/.

      I hope that with VMs I can have a smoother transition being able to work with both of them at the same time.

      I should have added that… thanks for the suggestion.

      • SSUPII@sopuli.xyz
        link
        fedilink
        arrow-up
        4
        ·
        edit-2
        1 year ago

        I used VirtualBox to test Linux distributions at first. What I loved doing was install it, put it in full screen and use it one or two days the whole day using it for serious tasks and to mess around. Didn’t game on it of course because graphical capabilities in VMs are severely diminished. Thanks to this I found my true love being Debian, and I’ve been using it every day for 2 years after I’ve installed it outside of the VM.

        I still do it but now I mess around in PCem with Windows 9x and pre-XP NT releases.

        • Crul@lemm.eeOP
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          Do you know of any advantage of using VirtualBox over Hyper-V?

          • SSUPII@sopuli.xyz
            link
            fedilink
            arrow-up
            3
            ·
            edit-2
            1 year ago

            VirtualBox drivers for Linux are bundled inside most Linux distributions, unlike Hyper-V’s. Also, Hyper-V is really meant for Windows.

      • hahrbinjer@links.hackliberty.org
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        I’m that way too. When I dual booted, I just let the default OS run. I find it better to use Linux on a VM. I’m on a mac now so I use VMs to run windows and Linux. I have a few flavors installed, but my default is Ubuntu.

      • d3Xt3r@lemmy.nzM
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        What do you use Windows primarily for? If it’s not for online multiplayer gaming (which uses anti-cheat software), then you should do it the other way around, ie install Linux as your main OS and use Windows inside a VM. That way you will be sort of forced to use Linux and adjust, and you can always fire up your Windows VM if you need to.

        • Crul@lemm.eeOP
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          The only program that I’m aware I need Windows for is Photoshop (I don’t know if Wine is an option or if that counts as "Windows).

          So you’re probably right. The main reason I prefer to start with VMs is to try a few distributions before committing to one of them… and the laziness I get thinking about how to migrate my current Windows installation to a VM… or (even worse) reinstalling Windows from scratch :P.

          • d3Xt3r@lemmy.nzM
            link
            fedilink
            arrow-up
            2
            ·
            1 year ago

            You should definitely just do a fresh install of Windows instead of migrating. It takes less than 15 minutes to install, and since your only need is Photoshop, then you don’t need a bloated full-blown Windows - just install a “lite” version of Windows, like Tiny10 or Tiny11, which will also save you some RAM and CPU resources.

            But sure, do check out Linux instead a VM first if you wanna try out a few distributions. Another option is to use Ventoy to create a bootable USB drive, then you can just chuck multiple Linux ISOs onto the USB and try them out, this way, you can test various distros on your actual hardware (which is always handy for testing compatibility) without needing to install anything first.