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:

    1. Visit Get a Windows 10 development environment.

    2. Download the file WinDev2008Eval.VirtualBox.zip. It will take some time because it is a big file. Probably the file will be named differently if you read this post after a while, but the important thing is that you download the VirtualBox version.

    This virtual machine is specifically thought for developers, and it is completely free. You have more details in the download page. That’s why it includes some tools for developers that make the image fatter, but it doesn’t mean you cannot use it to install any Windows app you need.

    Besides, you won’t need a Windows product license to use it.

  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.