From ReactOS Wiki
Revision as of 11:19, 11 November 2009 by Lone Rifle (talk | contribs) (Merge livecd portion of QEMU howto into QEMU)
Jump to: navigation, search

Qemu is a free x86 Emulator/Virtual Machine for Linux and Windows.

If you are looking for a faster virtual machine, give VirtualBox or VMware a try.

ReactOS preloaded with QEMU

A preloaded QEMU image of ReactOS can be found here.

Installing ReactOS on QEMU

1. Create a drive image, on which ReactOS will be installed, by typing:

qemu-img create ReactOS.img 100M

100M stands for 100 megabytes- that shall be enough. It shall be greater, if you plan to install some application to try under ReactOS.

2. In *nix only, type:

sudo umount /dev/shm
sudo mount -t tmpfs -o size=144m none /dev/shm

3. Type:

qemu -L . -m 256 -cdrom ReactOS.iso -hda ReactOS.img -boot d -localtime -serial file:ReactOS.log

-m 256 stand for 256MB RAM -boot d instructs qemu to boot from the cdrom. Without -boot d it will boot from the HDD (Reactos.img).

ReactOS.iso is the image of the installation cd, which can be downloaded from http://www.reactos.org/en/download.html

When reinstalling ReactOS, perform steps 2 (if necessary) and 3 only.

If you want to copy some files to ReactOS, you could create an CD-ROM image and mount it on qemu. You can run qemu this way:

qemu -L . -m 256 -cdrom Applications.iso -hda ReactOS.img -localtime -serial file:ReactOS.log

Using ReactOS LiveCD on QEMU

1. Move to the previously created directory with the "cd" command. 2. There, type in the following command,

qemu -L <Path to your QEMU folder>\bios -cdrom <filename>.iso -m 64

Grabbing debug messages

By default, ReactOS debug messages are sent to the serial port (COM1). For grabbing that output, you need Qemu version 0.6.1 or later, in which you can specify the -serial option.

Valid arguments to -serial include filenames, pipes, COM Ports and more. Those arguments could be:

-serial file:"C:\roslog.txt"
-serial pipe:"\\pipe1\"
-serial COM4

Redirect to a file

If you're using the QEMU virtual machine and want to redirect the serial output to a file, add the following to your QEMU command line:

-serial file:FILENAME

Replace FILENAME with the name of a file, into which the debug output shall be written.

Redirect to the console

The method above redirects the output to a file. If you want to redirect it to the console, there are two different methods. They depend on the operating system you run QEMU under.

  • Under Windows, add the following to your QEMU command line:
    -serial file:CON
  • Under a Unix-based operating system, add the following to your QEMU command line:
    -serial stdio

Serial port connection using com0com

Setup the com0com driver like explained in this com0com guide.

Add the following option to your QEMU command line

-serial COM4

Write "COM4" with capital letters otherwise QEMU won't use the serial port at all!

Open your terminal program and start a new connection to your second virtual port. If that port is not listed, try COM4.

Another option is to use the ReactOS Test Environment instead of setting this up manually.

Speeding up QEMU

If you feel that QEMU is too slow for you, consider using the KQEMU module.

Refer to this KQEMU guide for detailed information about installation and usage.


  • Networking should work by itself using the '-net nic' and '-net user' switches with QEMU.

External sites