Having a Windows virtual machine in Linux has a lot of utilities:

  1. If you’re testing Linux for the first time, it can help you “unhook yourself” from Windows little by little. You know you have Windows there, and that placebo gives you the necessary courage to test this little weird new world that is Linux.
  2. You’re a developer and you want to see how your apps or services work on Windows.
  3. You need to use one app that has no native Linux alternative and that you cannot run with Wine.
  4. You need to use one app that is only available through Windows app store.

It turns out getting it is way easier than what you imagine:

  1. Install a virtual machine manager.

    I will use “Boxes”. You’ll have to install it using your distribution’s package manager. The package is most likely named gnome-boxes.

    Beware: do not install it from Flathub because it still has a problem with network management).

    For myself, in Fedora Silverblue, the command to run is this, which besides will reboot the system after installing:

    rpm-ostree install --reboot gnome-boxes
    

    If you use another distro that isn’t based on OSTree, probably you will not need to reboot. Actually, it will be as easy as searching for “Boxes” in the app store and install it:

    Installing Boxes in Ubuntu 20.04

    Installing Boxes in Ubuntu 20.04

    In pkgs.org you can obtain more details about where to find that package for each distro.

  2. Download the Windows virtual machine.

    For that, visit one of these, depending on if you want a full development environment, or if you are just going to use it to install a few programs:

    Download the most recent version possible for VirtualBox.

    They include a valid 90 days Windows license, so you’ll have to repeat this process every now and then.

  3. Decompress it:

    Decompressing the Windows virtual machine

    Decompressing the Windows virtual machine

  4. Open “Boxes” and create a new box using that file:

    Creating the Windows virtual machine

    Creating the Windows virtual machine

    Note: Windows alone will already consume about 3 GiB of memory, so better assign to it at least 6, so the apps you open can breath a little bit.

  5. Configure language and keyboard layout inside the box, for convenience:

    Configuring keyboard layout and regional settings in the Windows virtual machine

    Configuring keyboard layout and regional settings in the Windows virtual machine

  6. Install the SPICE extensions in Windows to let it integrate better with your host machine. It allows stuff such as detecting screen resolution, sharing the clipboard or avoiding to have to press Ctrl+Alt to release the mouse:

    Installing SPICE extensions in the Windows virtual machine

    Installing SPICE extensions in the Windows virtual machine

Ready! You already have a Windows there to do whatever you want.