Having a Windows virtual machine in Linux has a lot of utilities:
- 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.
- You’re a developer and you want to see how your apps or services work on Windows.
- You need to use one app that has no native Linux alternative and that you cannot run with Wine.
- 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:
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
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:
In pkgs.org you can obtain more details about where to find that package for each distro.
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:
- Full Windows 10 development environment (about 20 GiB).
- Windows 10 with MSEdge (about 8 GiB).
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.
Open “Boxes” and create a new box using that file:
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.
Configure language and keyboard layout inside the box, for convenience:
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:
Ready! You already have a Windows there to do whatever you want.