Für eine alte Software brauchte ich ein altes Windows. Da ich leider schon mit Wine gescheitert war, habe ich noch ReactOS ausprobiert und war positiv überrascht, wie gut die Software läuft. Mein Programm konnte ich leider auch damit nicht zum Laufen bringen, da es auf 16-Bit-Funktionen zugreift, bei denen es immer Fehler gibt, aber ich konnte einen aktuellen Firefox installieren und damit surfen.

Gut fand ich, dass eine Art Paketmanager als ReactOS Anwendungsmanager existiert, über den man verschiedene Programme installieren kann.

Skript zum Starten von ReactOS mit Qemu


#!/bin/sh

if test -n "$DISPLAY" && test "$TERM" != xterm
then
    exec xterm -name qemu-win -title "Qemu Reactos" -e "$0" "$@"
fi

if test "$(id -u)" != 0
then
    exec sudo "$0" "$@"
fi

# The following setting enables S3 (suspend to RAM). OVMF supports S3
# suspend/resume. Disable when using Q35
OPTS="$OPTS -global PIIX4_PM.disable_s3=0"

# Enable this to get debug logs
# OPTS="$OPTS -serial file:/tmp/Reactos-serial.log"

# Enable this for installation
#OPTS="$OPTS -boot d -drive file=/tmp/ReactOS-0.4.5.iso,format=raw,media=cdrom"

exec qemu-system-x86_64 $OPTS \
  -enable-kvm \
  -cpu host,kvm=off \
  -smp 4 \
  -m 2G \
  -nodefaults \
  -monitor stdio \
  -name Reactos \
  -drive file=/var/tmp/reactos.img,index=1,format=raw,media=disk \
  -net nic,model=rtl8139 \
  -net user,hostname=react \
  -k de \
  -vga std \
  -usbdevice tablet \
  -localtime \

Auf das Plattenimage kann man über ein Loop-Device zugreifen:

# losetup /dev/loop0 /var/tmp/reactos.img
# partprobe /dev/loop0
# mount /dev/loop0p1 /mnt/other
# losetup -d /dev/loop0