DEV Community

Cover image for A New Virtualisation Solution For Linux
Royal Highgrass
Royal Highgrass

Posted on

2

A New Virtualisation Solution For Linux

A New Powerful But Lightweight Virtualisation Solution For Linux: The QVM-Manager Type 2 Hypervisor

For cybersecurity professionals and Linux enthusiasts alike, the need for robust and flexible virtualisation is paramount. Whether you're testing security tools, isolating environments, or simply experimenting with different operating systems, a reliable hypervisor is essential. However, finding the right solution can sometimes be a challenge.

Like many of you, I found myself in a position where popular options like VirtualBox and VMware weren't quite meeting my needs. Perhaps it was a compatibility issue, performance limitations, or simply a desire for a more lightweight and customizable solution. Furthermore, the deprecation of virt-manager left a void in the Linux ecosystem for a user-friendly, GUI-driven QEMU manager.

Faced with this dilemma, I embarked on a rewarding journey: creating my own Type 2 hypervisor for Linux from scratch. Leveraging the power of QEMU as the underlying engine, I developed QVM-Manager, a new virtualisation solution designed to provide a seamless and efficient virtual machine experience.

Why QVM-Manager?

  • Lightweight and Efficient: Built directly on QEMU, QVM-Manager aims to minimize overhead and maximize performance, ensuring smooth operation even on resource-constrained systems.
  • Customizable: Designed with flexibility in mind, QVM-Manager allows for granular control over virtual machine configurations, enabling you to tailor your virtual environments to your specific needs.
  • User-Friendly Interface: While QEMU is powerful, its command-line interface can be daunting. QVM-Manager provides a graphical user interface (GUI) to simplify virtual machine management, making it accessible to users of all experience levels.
  • Cybersecurity Focused: Created with cybersecurity workflows in mind, QVM-Manager facilitates the creation and management of isolated environments for testing and analysis.
  • Open Source: QVM-Manager is open-source, allowing for community contributions and continuous improvement.

QEMU Power, Simplified

QEMU is a powerful and versatile machine emulator and virtualizer. However, its command-line nature can present a steep learning curve. QVM-Manager acts as a user-friendly layer on top of QEMU, simplifying tasks like:

  • Creating new virtual machines.
  • Managing virtual machine configurations (CPU, memory, storage, network).
  • Starting and stopping virtual machines.
  • Taking and restoring snapshots.
  • Managing virtual disks.

Getting Started

If you're looking for a new virtualisation solution for your Linux system, I invite you to try QVM-Manager. You can find the source code and installation instructions on the GitHub page:

https://github.com/RoyalHighgrass/QVM-Manager

I encourage you to explore the project, provide feedback, and contribute to its development. Together, we can build a powerful and user-friendly virtualisation solution for the Linux community.

I hope that QVM-Manager can be a valuable tool for your cybersecurity work and general virtualisation needs.

Future Development

I plan to continue developing QVM-Manager, adding new features and improvements. I'm excited to see how QVM-Manager evolves and how it can benefit the Linux community. Thank you for reading, and happy virtualising!

Top comments (3)

Collapse
 
sebos profile image
Richard Chamberlain

Just had a quick look at the QVM-Manager code and got it up and running —nice job! I was able to spin up a Debian 12 distro without any issues, and I really appreciated the wizard-style VM setup. Curious—what kind of audience are you aiming for with this project?

Collapse
 
dev_prince profile image
Royal Highgrass • Edited

That's amazing & thanks man I really appreciate it! Really glad to hear that you didn't have any issues with the installation or running VM's :)

Honestly, I only made it because I realised that virt-manager which was my go to solution was deprecated and had decided to stop using it. At that point I already knew about QEMU & had a pretty good understanding of it, but it was easier for me to just use GNOME Boxes to create my VM's, & virt-manager for better graphical rendering of VM's & to manage them all more effectively. After a couple days of mourning the loss of virt-manager, I realised that the only logical thing for me to do was to switch to QEMU which, I quickly became frustrated with because of how error prone it was due to how sensitive the QEMU engine is. I then decided to write a script to help me get more consistent results. It proved quite effective, so further developed the script & continued to build on it until it went from a single file to files & officially becoming v1.0.1—the purely CLI version.

Even at that point I never actually intended for the application to be used by anyone but myself. It wasn't until I decided to implement a GUI that I realised how useful QVM-Manager could be to the Linux virtualisation community. So to answer your question, any Linux user that is interested in having an efficient & reliable virtualisation solution.

I'm curious to know what host system you used? Did you use the ISO management feature or did you download it yourself? What was your experience like with the 'New VM Specification' window? Also, I'd recommend trying out the CLI & terminal commands. For example, existing VM's can quickly & easily be started by using the ' qvm-manager --start "vm_name" ' terminal command.

Collapse
 
sebos profile image
Richard Chamberlain

I’m running QVM-Manager on Ubuntu 24.04. I used the ISO management feature to download a Debian ISO, and completed the install using the CLI. Everything worked really well.

I can see how helpful this tool could be for users new to QEMU. Some of the options and behaviors can be confusing without background knowledge, but that makes sense given the project’s original intent. It clearly reflects your deep understanding of QEMU and the challenges that come with using it directly.

A lot of my own scripts come from the same place—just trying to make my own workflow smoother—and I really respect when someone decides to share that work publicly. I'm glad you did.

Keep it up—it's a solid contribution, and I think more people will find real value in it.