Run Windows, macOS and Linux virtual machines with Quickemu
Quickemu is a handy tool to run Windows, macOS or Linux virtual machines on your PC - a combination of QEMU and custom tooling to make it a smooth process. Lets take a look.
Quickemu can be downloaded from the GitHub page but there are also packages available for some Linux distributions. It comes with two command line tools, while a GUI interface is a separate app:
- quickget: CLI for downloading supported OS images.
- quickemu: CLI for running virtual machines
- quickgui: GUI app for quickget and quickemu
The flow is simple. At first you have to download system image for the OS you need, for example:
This will download the image and create a config file. From now on we can launch the virtual machine with:
lubuntu-22.04.conf is the created config file. It will be named based on chosen OS and version. Note that you will usually have to go through the install process of the OS to get a ready to use system. In case of Ubuntu you get the Live version you can install for a more persistent system, while for macOS quickget will download recovery image and you will have to install the OS on a fresh virtual drive and then login to your Apple account and so on.
For extra features like copy/paste between host/guest, USB device redirection and alike you can use the SPICE protocol. There are example for this on the project page.
The core usage would be testing software under different OS, versions and architectures. QEMU is not nothing new. Here we just get a nice tooling around it.
Most popular alternative would be Virtualbox. If you can get an OS bootable image then Virtualbox should handle it. Quickemu comes in handy when you want to run macOS or Windows although Microsoft provides Virtualbox or even Vagrant images of their OS with specific IE or Edge browser version.
Mentioned Vagrant provides a more developer focused tooling where you can easily run and test your software as you code even. Quickemu can do headless but it's rather for the desktop experience it can provide. So in short - pick what you need ;)