Yahoo
Advertisement
Advertisement
Advertisement
Advertisement

How to Use QEMU to Boot Another Operating System

QEMU logo with various operating systems around it.
Lucas Gouveia/How-To Geek

That old legacy system is gone, never to be heard from again. Right? But what do you do on the fateful day that someone needs to access data that's trapped in an old legacy application? If modern applications can't read the data, you need to run the legacy system. And that's where system emulation comes in.

The open-source PC emulator QEMU is included by default in most mainline Linux distributions , but you can also download versions of QEMU for other Linux distributions. If you run Windows or macOS, the QEMU website provides packages for those platforms, too. QEMU provides excellent system-level compatibility and support, making it an ideal and lightweight virtual machine environment.

Set Up a Virtual Disk

You'll need a place to install the legacy system inside QEMU, and for that you'll need a virtual C: drive. In DOS , just as in Windows, drives are represented as letters. A: and B: are the first and second floppy disk drives, and C: is the first hard drive. Other media, including other hard drives or CD-ROM drives, are assigned D:, E:, and so on.

Advertisement
Advertisement

Under QEMU, virtual drives are image files. To initialize a file that you can use as a virtual C: drive, use theqemu-imgcommand. To create an image file that's about 200MB, type this:

You should get an output reading something like "Formatting 'image.img', fmt=raw size=209715200" in your terminal.

The Parts of a QEMU Command

Unlike PC emulator systems like VMware or VirtualBox, you need to "build" your virtual system by instructing QEMU to add each component of the virtual machine. QEMU uses command line options to define everything. This can make QEMU difficult to use at first, but this provides flexibility in creating exactly the virtual machine that you want. To get started, you only need to know a few parameters to start a virtual machine:

1. The Command to Start QEMU

To emulate a legacy PC system (from before Windows 7, typically), useqemu-system-i386. To emulate a more modern system, useqemu-system-x86_64instead.

2. The Virtual Disk

Use-hda imagefileto tell QEMU to use imagefile as the hard drive image. This should be the same virtual disk you defined with theqemu-imgcommand.

3. The Boot ISO

Set-cdrom isofileto define the CD-ROM or DVD image file. For example, this might be the bootable ISO image to install Linux, Windows, or another operating system.

4. The Memory Amount

Set the amount of memory in the virtual machine with the-m sizeoption. If you do not explicitly set this, QEMU defaults to 128 MB. You can also append a suffix ofMorGto specify the memory in MB or GB.

5. The Boot Order

Use-boot [options]to specify the order that QEMU should look for bootable devices. For example, set-boot order=dcto tell QEMU to try the CDROM (d) first, then the hard drive (c).

Put It All Together

Now that we have the essentials to start a virtual machine with QEMU, we can put it all together on a single command line to create and boot your virtual machine!

Advertisement
Advertisement

Let's try it with an example: installing a copy of the FreeDOS operating system. FreeDOS is an open source DOS-compatible operating system that you can use to run legacy business software and other DOS applications. Any program that works on MS-DOS should also run on FreeDOS.

First, download a copy of the FreeDOSinstall CD-ROM from the FreeDOS website . At the time of writing, the latest version is FreeDOS 1.3, so our file will be named FD13LIVE.iso.

Then, if you didn't do it earlier, go ahead and define a virtual disk with theqemu-imgcommand:

Use that virtual disk in the command line to start QEMU:

Running FreeDOS in QEMU.

And follow the prompts to install FreeDOS:

Installing FreeDOS in a QEMU instance.

Note that you may be prompted to reboot after partitioning your C: drive. After doing that, restart the installation process to complete it.

A FreeDOS installation in QEMU completion screen.

And now you have a running DOS system!

An installed FreeDOS running inside QEMU on Linux.
Advertisement
Advertisement

QEMU and FreeDOS make it easy to run old DOS programs under other operating systems, including Linux. Once you've set up QEMU as the virtual machine emulator and installed FreeDOS, you should be all set to run your favorite classic DOS programs from Linux.

Advertisement
Advertisement
Mobilize your Website
View Site in Mobile | Classic
Share by: