Installing ReactOS

From ReactOS Wiki
Revision as of 00:33, 29 January 2010 by DangerGround (talk | contribs)
Jump to: navigation, search

Please bear in mind that ReactOS is still in alpha stage, meaning it is not feature-complete and is not recommended for everyday use.

System Requirements

The minimum requirements to install ReactOS are:

  • 32 MB of RAM (Debug builds may require 48MB of RAM)
  • IDE Hard Drive Disk
  • FAT16/FAT32 primary boot partition
  • VGA compatible video card (VESA BIOS version v2.0 and higher)
  • PS/2 keyboard
  • PS/2 compatible mouse or Microsoft Mouse compatible serial mouse

Hardware Support

ReactOS has limited hardware support. Lists of hardware that have been tested can be found at the following:

Note that booting from CD-ROM is supported only for running the setup program unless using the LiveCD option, which is meant to be booted of the CD-ROM continuously. Otherwise booting from CD-ROM for normal use is not recommended. Although it is generally possible, the default configuration will prevent ReactOS from creating a swap file when booted from a CD-ROM. If no swap file is available, ReactOS will stop as soon as it runs out of RAM. In practice, this prevents the use of any non-trivial program.

Before Installing

There are several things to be made aware of before installing ReactOS, or even obtaining the installation media. These include how ReactOS will be installed, limitations of the installation, and backing up existing data.

Installation Strategy

The first consideration to make is whether to install ReactOS on a dedicated testing machine, or in a contained environment such as running on an emulator without direct disk access. The use of an emulator is preferable if the machine on which you will run ReactOS is your primary computer, and/or if you have important data on the computer which you cannot afford to lose.

If you decide to install ReactOS on a disk drive that contains an existing operating system (such as Microsoft Windows XP), you should ensure that the drive is formatted with a file system ReactOS can access and write to, and that there is sufficient free space on the drive such that ReactOS can be installed, which can be somewhere around 250 MB. Furthermore, the current hardware limitations to which ReactOS is constrained must be identified and compared to the target computer system (e.g., the limitation that only several SATA disk drives may be accessed, and that ReactOS has extremely limited USB support as of the 0.3.10 release).

Once the available hardware and software situation is determined, the installation media can be selected. For example, if your computer includes an ATA CD-ROM and an IDE hard disk that does not contain irreplaceable data, a good installation option may be to write an ISO image of the ReactOS installation media to a CD-RW and proceed to install ReactOS on the IDE hard disk via the CD-ROM.


The ReactOS setup utility and boot loader have a number of limitations. The most prominent are:

  • ReactOS can only be booted from IDE CD-ROMs and hard disks.
  • The boot partition must be the first FAT16 or FAT32 partition on the disk.
  • The setup utility cannot check the integrity of file systems.
  • The setup utility does not prevent users from performing dangerous and potentially destructive operations.

Getting ReactOS

Due to the current state of the project, the ReactOS Foundation does not offer official installation media for distribution. Installation CD-ROMs must be created by the user by writing an available image file to a CD-ROM.

Downloading Files

Official ISO image files can be downloaded at one of the following locations:

  • The official Download page. (Installation CD)
  • ReactOS at SourceForge (

Creating the Installation CD

The downloaded file is a compressed archive in ZIP format, containing a single file named "ReactOS.iso". The ISO image contains everything needed to create the CD.

  • Extract the image file from the archive into a temporary directory.
  • Burn the ISO image to a CD-R or CD-RW using any software of your choice.

When burning the ISO to disc, be sure it is written as an image file. Writing to the disc as another type of data will not work and render the Installation CD unbootable. Look for an option similar to "Burn from ISO" or "Write disk image".

Installing ReactOS

ReactOS goes through three stages during setup. The first two stages deal with the installation of the system, while the third stage is the first usable boot by the user.

  • First stage - Text mode setup, started when booting from a ReactOS CD-ROM.
  • Second stage - Booting to GUI installer. Input of user information and registering of files.
  • Third stage - Booting to desktop, user configurations.

Real Hardware

  • Make sure your BIOS is configured to boot from the CD-ROM first
  • Insert the ReactOS setup CD-ROM into a CD-ROM drive and reboot your computer. On the next boot, the ReactOS setup utility will start.
  • Follow the instructions on the screen to install ReactOS on your computer.
  • After the installation has finished, remove the setup CD-ROM from the CD-ROM drive and press "Return" to reboot your computer. Now, you can start ReactOS by selecting it from the boot menu.

Emulation Software

An emulator is a software program that provides a virtual hardware platform. Software instructions that would be run on hardware are now interpreted by the emulator software. This allows you to "run" a different kind of computer hardware and its software in a window on your computer.

For information on installing ReactOS on emulation software, see here.

Boot options

Kernel command line

The kernel command line is a text string that is passed to ReactOS by the boot loader (usually FreeLoader). It consists of several switches, each of which has a special meaning to ReactOS. A switch is a forward slash (/) followed by a text string (the name of the switch), and optionally an equal sign (=) and a text string (the value). If the equal sign is present, then at least one value is required to follow.

The syntax, variables and device strings used by FreeLoader conform to the ARC firmware and boot specification, similarly to the boot system used in all Windows NT implementations (such as the Windows NT boot loader on the x86 architecture, or the ARC console used to boot Windows NT 4.0 on the MIPS, Alpha AXP and PowerPC architectures). Because of this, boot disks and other firmware- or BIOS-accessible devices are specified by each of the bus, disk, slice, and partition values associated with the device.

In FreeLoader the kernel command line is specified in an Options setting in freeldr.ini. The following text is an example of the contents of freeldr.ini, which boots ReactOS from the first partition of the first IDE drive of the computer system:


As used in the above sample file, DEBUGPORT is a boot option. By adding the boot option /DEBUGREPORT=SCREEN, ReactOS will print debugging information to the screen.


The following boot options may be used:

Specifying DEBUGPORT as a boot option will enable certain debugging features.
    Any one of the following values may set:
    • SCREEN: Send debug output to the screen.
    • BOCHS: Send debug output to bochs.
    • GDB: Enable the GNU debugger (GDB) stub so remote debugging using GDB is possible.
    • PICE: Enable the Private ICE driver so debugging using Private ICE is possible.
    • COM1: Send debug output to COM1.
    • COM2: Send debug output to COM2.
    • COM3: Send debug output to COM3.
    • COM4: Send debug output to COM4.
    • FILE: Send debug output to a file %systemroot%/reactos/debug.log
    • MDA: Send debug output to MDA (The old text graphic card from IBM).
Specifies baudrate of the serial port to be [baudrate] bps. Used in conjunction with COM1-4 or GDB.
  • Format: BAUDRATE=[baudrate]
Specifies the IRQ number of the serial port to be [irq-number]. Used in conjunction with COM1-4 or GDB.
  • Format: IRQ=[irq-number]
Enables profiling. Profiling information will be written in %windir%\profiler.log. This will slow down the system quite a bit.
  • Format: PROFILE
Will restrict ReactOS to use only the first [maxmem] MB of physical memory.
  • Format: MAXMEM=[maxmem]