DOStalgietrip

Seit der Einführung von Windows 95 gehört MS-DOS zum alten Eisen. Gelegentlich können alte Eisen jedoch nützlich sein – oder sogar unverzichtbar.

vorlesen Druckansicht 25 Kommentare lesen
Lesezeit: 5 Min.
Von
  • Michael Riepe

Viele langjährige PC-Nutzer haben mit dem Thema DOS längst abgeschlossen. Mitunter ist es jedoch hilfreich, wenn man DOS-Programme ausführen kann – etwa um eine Kopie der Diplomarbeit anzufertigen, deren Dateiformat keine moderne Textverarbeitung mehr versteht. Doch während sich früher noch viele Programme aus der Windows-Eingabeaufforderung starten ließen, machen es neuere Windows-Versionen dem Anwender immer schwerer, von Linux oder Unix ganz zu schweigen.

Linux-Nutzer können auf dosemu zurückgreifen. Der Emulator führt nicht nur 16-Bit-Programme im Real Mode aus, sondern unterstützt auch 32-Bit-Code, der das DOS Protected Mode Interface (DPMI) verwendet. Als Basis dient normalerweise der Open-Source-DOS-Clone FreeDOS, man kann alternativ die Systemdateien von MS/PC-DOS oder DR-DOS verwenden. Beim ersten Start legt dosemu das Verzeichnis $HOME/.dosemu/drive_c als virtuelle Festplatte an. Der Anwender kann zusätzliche Programme dorthin kopieren oder das Verzeichnis per Symlink auf eine existierende DOS-Partition „umbiegen“.

Portabler ist das Programm dosbox, das unter Linux/Unix und Mac OS X ebenso läuft wie unter Windows. Der in erster Linie für Spiele entwickelte Emulator gestattet es, die Geschwindigkeit der virtuellen CPU zu variieren. Das ist besonders nützlich bei Programmen, die Verzögerungen mit einer Zählschleife umsetzen: Moderne Rechner zählen rund tausendmal so schnell wie der erste IBM-PC.

Ist eine Emulation des Betriebssystems nicht kompatibel genug, bietet es sich an, ein echtes DOS in einem PC-Emulator wie Bochs („Box“ ausgesprochen) oder QEMU zu starten. Letzterer eignet sich auch dazu, (MS-)DOS auf einer virtuellen oder realen Festplatte einzurichten – vorausgesetzt, man verfügt über die notwendigen Installationsmedien.

Liegen die Disketten als Image-Dateien vor, lässt sich die Prozedur mit dem Kommando qemu –hda <festplatte> –fda <diskette1> –boot order=ac starten. Verlangt die Setup-Routine nach der zweiten Diskette, muss der Nutzer mit Strg+Alt+2 in die QEMU-Konsole wechseln, mit dem Befehl change floppy0 <diskette2> das neue Medium einlegen und per Strg+Alt+1 zum Installationsprogramm zurückkehren. Vor dem abschließenden Reboot lässt sich die virtuelle Floppy mit eject floppy0 auswerfen. Linux-Nutzer können sie mit change floppy0 /dev/null durch ein unformatiertes „Medium“ ersetzen.

Als Festplatte kann man eine reale Platte oder eine Image-Datei verwenden. Theoretisch auch einen USB-Stick, doch von dem will ein gewöhnliches MS-DOS nicht einmal in QEMU booten: „Betriebssystem fehlt“ lautet die Diagnose. Ursache dürfte die ungewöhnliche Plattengeometrie vieler USB-Sticks sein: Stimmt die Zahl der Sektoren, Köpfe und Zylinder nicht mit den im Dateisystem hinterlegten Daten überein, findet der DOS-Bootsektor die Systemdateien nicht.

Mit einer externen (USB-)Festplatte hatte der Autor ebenfalls wenig Erfolg. Während QEMUs virtueller PC davon ohne Murren bootet, verweigerte ein realer Rechner den Dienst. Möglicherweise liegt das an einer unvollständigen Unterstützung von USB-Geräten im BIOS – DOS selbst kann mit USB nichts anfangen und muss daher auf die Dienste der Firmware zurückgreifen. Von einer per (e)SATA angeschlossenen Festplatte bootet derselbe Rechner hingegen ohne Schwierigkeiten.

Anlass für diesen Artikel: Ein Testgerät im iX-Labor benötigte ein BIOS-Update. Das vom Hersteller gelieferte Programm zum Neuprogrammieren des Flash-Speichers läuft jedoch nicht unter dem installierten Windows 7 (64 Bit), sondern verlangt ein DOS – vorzugsweise ein „echtes“, damit beim Flashen nichts schiefgeht. Ein Diskettenlaufwerk mit USB-Anschluss steht zur Verfügung, eine bootfähige Diskette lässt sich mit QEMU und dem in einer virtuellen Platte installierten MS-DOS einfach per format a:/s erzeugen.

Leider passen Brennprogramm und Firmware-Datei zusammen nicht auf eine Diskette. Zwar lieĂźen sie sich auf der Festplatte des Rechners speichern, aber darauf kann ein DOS-Programm aus zwei GrĂĽnden nicht zugreifen: Erstens ist die Windows-Partition als NTFS formatiert, das MS-DOS nicht versteht. Zweitens verwendet das System ein RAID, fĂĽr das keine DOS-Treiber existieren.

Der Versuch, Firmware und Brennprogramm per CD nachzureichen, scheitert daran, dass DOS mit einem Standardtreiber nicht auf das CD-Laufwerk zugreifen kann. Allerdings erlaubt der El-Torito-Standard, der die Prozedur zum Booten von CD definiert, das Booten von einer virtuellen Festplatte. Die bietet genug Platz für ein komplettes DOS sowie alle übrigen Dateien. Treiber sind nicht notwendig, da das BIOS des Rechners die virtuelle Platte wie eine echte erscheinen lässt.

Erstellen lässt sich solch eine bootfähige CD mit jedem besseren CD-Brennprogramm. Linux-Nutzer können auf die cdrtools zurückgreifen: Liegt das Festplatten-Image in der Datei /tmp/dos/image, erzeugt mkisofs –o cdimage.iso –b image –hard-disk-boot /tmp/dos daraus eine ISO-Datei, die man anschließend mit cdrecord auf einen CD- oder DVD-Rohling schreiben kann. Wer das Resultat vorher ausprobieren will, kann mit qemu –cdrom cdimage.iso –boot d einen Testlauf durchführen.

iX-Link: www.ix.de/ix1007133 (mr)