How to Use QEMU to Boot Another Operating System


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.

Related


How to Run Windows 11 in a Virtual Machine

Windows 11 doesn’t make itself easy to install, that is for sure.

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.

Under QEMU, virtual drives are image files. To initialize a file that you can use as a virtual C: drive, use the qemu-img command. To create an image file that’s about 200MB, type this:

$ qemu-img create image.img 200M

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), use qemu-system-i386 . To emulate a more modern system, use qemu-system-x86_64 instead.

2. The Virtual Disk

Use -hda imagefile to tell QEMU to use imagefile as the hard drive image. This should be the same virtual disk you defined with the qemu-img command.

3. The Boot ISO

Set -cdrom isofile to 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 size option. If you do not explicitly set this, QEMU defaults to 128 MB. You can also append a suffix of M or G to 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=dc to 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!

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 the qemu-img command:

$ qemu-img create image.img 200M

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

$ qemu-system-i386 -hda image.img -cdrom FD13LIVE.iso -m 16M -boot order=dc
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.

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.

Related


5 Reasons Now Is the Best Time to Play Retro DOS Games

C:/DOS. C:/DOS/RUN. RUN/DOS/RUN.



Source link

Previous articleHere’s all the Xbox games launching from February 17 through 23
Next articleBitcoin, ETH, & XRP Price Prediction: A Bullish Week Ahead?