Qemantra is a command-line tool for creating and managing QEMU Virtual Machines.
QEMU is better and sometimes faster than VirtualBox , but does not have any
command-line central managing solution. This tool aims to manage and run your virtual machines using
- Create , list and run virtual machines.
- Create configurations to run on demand.
- Use features of QEMU like KVM , multiple architecture support etc.
- Features like UEFI available in a simple flag!
Running a Virtual Machine
Run a machine with boot menu
Create a Machine
Create a Machine with Disk
Create a Image
qemantra in your terminal.
qemantra check for checking for dependencies and configuration.
Highly recommended before using
qemantra create-machine subcommand provides functionality to create machines.
||Name of the machine|
||Don't create a disk|
||Name of the disk(Not applicable when using
||Size of the disk(Not applicable when using
||Cores to provide to the RAM.|
||RAM to provide to the VM|
Running a machine
qemantra run subcommand provides functionality to run a virtual machine.
||Name of the machine|
||Path to the ISO(Relative path works)|
||Disk name to add to boot order(Should be in default qemantra directory)|
||Path to a external disk to add to boot order(Any disk , not managed by qemantra)|
||Boot options while starting the VM|
||Enable UEFI support(Requires
||Disables KVM(Enabled by default)|
The boot options can be either
menu which provides a menu to choose between boot devices. Or you can use
iso option to directly boot the given iso.
Renaming a machine
qemantra rename command is used to rename a existing virtual machine.
qemantra run has no arguments , it will execute the last machine which was booted.
qemantra list to list currently configured machines. Use
--verbose option to list more information about the VM(Mem , Cpu etc).
You can list the images managed by
qemantra by using
--images option to
Installation using Go
You can install using Go by using
go install github.com/pspiagicw/qemantra
$GOBIN to be in our
Installation using script
You can also use the autoinstall script. You should generally not execute scripts from the internet , so check the script
curl https://raw.githubusercontent.com/pspiagicw/qemantra/main/scripts/install.sh | bash
- Download the static binary from the release page.
- Move the binary to a location on your
These are the major features planned to be added to
qemantra. Other features are welcome to be discussed.
- Running virtual machines
- Creating virtual machines.
- Can use memory and cpu cores.
- Can use iso while running
- Can use different disks while running
- Can use external disk while running
- Can use boot options
- Make a auto install script.
- Support UEFI using OVMF
- Control logging functionality(
- Add to major repositories(Debian , AUR , Gentoo)
- Configuration changes using ENVIRONMENT VARIABLES
- Multiple architecture support
- Suppport easy clipboard sharing
- Support easy shared folder support
- List currently running machines.
Virtualbox is good, but it has a QT interface and it's command line inteface is hectic at best. QEMU has no official (or good) frontend , the command line interface is mature , but has no central managing solution.
Qemantra aims to become a simple and convinient way to manage Virtual Machines. It is designed for the casual Virtualizer.
Anybody is welcome to contribute!
Qemantra is written in Golang , so Golang developers can contribute in the technical aspect. If you want to contribute non-technically , then too you are welcome! There are lot's of work in documentation and other aspects! For bugs and feature requests , open a issue.