You may want to run 64bit ISO images of many GNU/Linux systems (i.e. GuixSD and Trisquel) using a virtual machine. You may have a 64bit laptop without virtualization support like mine. Then also you may have heard that virtualization systems like VirtualBox doesn't work if your laptop doesn't support virtualization (Intel VT or AMD-V). So, is there really no solution running ISO without virtualization support? The answer is there is a solution and that is QEMU, the full hardware emulator. Surprisingly, it's very easy to run any OS with QEMU command line once you know the examples. This article shows 2 examples in running GNU/Linux OSes with QEMU on an old laptop without KVM, without Intel VT support. Happy running!
My Machine Specification
- Acer Aspire One 64bit without Intel VT support (so it cannot run VirtualBox)
- 4GB of RAM
- Intel Pentium CPU 967 @1.3GHz x 2 (no support for virtualization)
- Trisquel 8 64bit as the host OS
- No KVM
Basic Use
- You don't need to use sudo or root privilege (except, to run external drive).
- To close a running VM, press Ctrl+C at the Terminal or simply close the VM window.
- QEMU runs slower than VirtualBox (or another VM similar to VirtualBox). So be patient, you may find running same OS slower at QEMU than at VirtualBox.
- Press Ctrl+Alt to escape mouse cursor from the VM window.
- I suggest you to test small distros first (e.g. Ubuntu Server without GUI) before big distros (e.g. Ubuntu Unity or PureOS) to see the performance.
Example 1: Running an ISO
Run an OS from its ISO image file:
$ qemu-system-x86_64 -m 1G -cdrom uruk.iso
Uruk 2.0 running inside of QEMU |
Another example with Lubuntu 16.04 ISO:
$ qemu-system-x86_64 -m 500 -cdrom lubuntu.iso
Lubuntu running inside of QEMU |
where:
- qemu-system-x86_64 is a command to make a virtual 64bit computer for 64bit guest OS
- the '-m 1G' represents memory = 1GB, the '-m 500' represents memory = 500MB
- the '-cdrom uruk.iso' or '-cdrom lubuntu.iso' calls the ISO image filename of guest OS you want to run
Example 2: Running a Bootable USB Drive
Run an OS from a USB flash disk (see the path first with lsblk):
lsblk
sudo qemu-system-x86_64 -m 1500 -hdd /dev/sdb
PureOS from a USB flash disk running in QEMU |
- lsblk is the command to find the path (i.e. /dev/sdb) of the USB drive you want to run
- sudo is needed to run QEMU for a USB drive source
- qemu-system-x86_64 is the command to make a virtual computer
- -m 1500 represents the memory = 1.5GB
- -hdd /dev/sdb calls the OS from the drive /dev/sdb