How to Test Any Live Linux ISO Quickly with Qemu

There are hundreds of different Linux distros available today. Each of these Linux flavors are targeted towards a different group of users. For example, there is Elementary Linux that is both powerful and easy for the newcomers. If you have always been a Windows user then this Linux is great for your transition to this powerful operating system. There are Linux for administrators, for everyday use, for security researchers, for students and even for kids. You can see a comprehensive list of thousands of Linux distributions available at https://distrowatch.com/.

Many of these Linux distros are available in form of Live Linux ISO images. A Live Linux can be used directly from a CD/DVD without having to install anything. You have to simply create a bootable CD/DVD using the downloaded ISO file and then you can boot your system using this disk.

But what if the ISO is not bootable or it has become corrupt? You should test the downloaded ISO image before you can create a bootable CD/DVD or USB drive using this ISO disk image file. Fortunately, it is very easy through Qemu – a very fast virtualization software. Here is how:

  1. Download and install Qemu from https://www.qemu.org/. Add Qemu binary folder to the system PATH environment variable.
  2. Open a command prompt  by pressing Win+R and entering cmd.exe.
  3. For 32-bit systems,  give command qemu-system-i386 -cdrom dsl-4.11.rc2.iso -m 256 where dsl-4.11.rc2.iso is the ISO image file and 256 is the RAM allocated to the virtual machine in megabytes.
  4. For 64-bit systems, command is qemu-system-x86_64 -cdrom dsl-4.11.rc2.iso -m 256 .Test Live Linux ISO with Qemu

You will see a new virtual machine window that tried to boot from the specified ISO file. You can see if the ISO is working properly or not. Depending on the guest operating system (for which you have downloaded the ISO) you may have to allocate more or less RAM. For example, if you are testing Ubuntu 19.10 you will need a minimum of 4GB RAM which can be allocated using -m 4098 parameter.