DOS mit Startmenü

Heute habe ich eine alte selbst gebrannte CD etwa aus dem Jahr 2000 gefunden und mich darüber gefreut, was ich damals alles eingebaut hatte:

Sie konnte DOS starten und dort ein Boot-Menü für unterschiedlichste Tools und Start-Varianten bereitstellen, um danach unterschiedliche Tools oder Betriebssysteme zu installieren.

Es ist ziemlich in Vergessenheit geraten … aber in CONFIG.SYS konnte man Auswahlmenüs für unterschiedliche Startformen hinterlegen.


CONFIG.SYS als INI Datei

CONFIG.SYS war in DOS Zeiten eine reine Text-Datei, in der definiert wurde, welche Treiber (meist binäre .SYS Dateien) beim Start geladen werden sollten. Bekannt sind Zeilen wie DEVICE=HIMEM.SYS oder DEVICE=RAMDRIVE.SYS.
Man merkt hier schon den KEY=VALUE Charakter.

Doch spätestens seit DOS 6 (keine Ahnung ob das schon früher ging), darf CONFIG.SYS auch die aus INI Dateien bekannten “Sektionen” beinhalten.
Sobald eine solche “Sektion” mit Namen MENU vorhanden war, (wie z.B.: [MENU]), die auch mehrere MENUITEM Einträge hatte, zeigte DOS beim BOOT ein Menü an, wo man einen dieser Einträge auswählen konnte.
Der MENUITEM Eintrag bestand aus dem zu startenden Sektions-Namen gefolgt von Komma und dem Menüeintragstext, also MENUITEM=SectionName, Menu-Text

Beim Start wurden dann nur die Kommandos der gewählten Sektion ausgeführt. Damit man aber mehr Flexibilität hatte, gestattete die Zeile INCLUDE=OtherSection, dass eine Sektion alle Kommandos einer anderen beinhalten können sollte.

Und so kam es, dass ich mir damals folgende CONFIG.SYS gebaut hatte:

 1[MENU]
 2MENUITEM=Config1,(Normal)    Start mit allgemeinem ATAPI-CDROM Treiber
 3MENUITEM=Config2,(Minimal)   Minimalstart ohne CD-Unterstützung
 4MENUITEM=Config3,(Spezial 1) Normalstart mit RAM-Disk (2 MB)
 5MENUITEM=Config4,(Spezial 2) Normalstart mit RAM-Disk (8 MB)
 6MENUITEM=Config5,(Spezial 3) Normalstart mit Interlink-Client
 7
 8[Minimal]
 9DEVICE=HIMEM.SYS /TESTMEM:OFF
10DEVICE=EMM386.EXE NOEMS
11BUFFERS=40
12FILES=35
13DOS=HIGH,UMB
14LASTDRIVE=Z
15COUNTRY = 49,,COUNTRY.SYS
16
17[Config1]
18INCLUDE=Minimal
19DEVICEHIGH=ATAPICD.SYS /D:CD003
20
21[Config2]
22INCLUDE=Minimal
23
24[Config3]
25INCLUDE=Minimal
26DEVICEHIGH=ATAPICD.SYS /D:CD003
27DEVICEHIGH=RAMDRIVE.SYS 2048 /e
28
29[Config4]
30INCLUDE=Minimal
31DEVICEHIGH=ATAPICD.SYS /D:CD003
32DEVICEHIGH=RAMDRIVE.SYS 8192 /e
33
34[Config5]
35INCLUDE=Minimal
36DEVICEHIGH=ATAPICD.SYS /D:CD003
37DEVICEHIGH=INTERLNK.EXE

Fortsetzung in AUTOEXEC.BAT

Nach der Abarbeitung von CONFIG.SYS, wurde in DOS stets AUTOEXEC.BAT ausgeführt.
Damit man hier ebenso auf den “ausgewählten” Menüeintrag reagieren konnte, wurde die Umgebungsvariable CONFIG auf den per Menü ausgewählten Sektionsnamen gesetzt.

Meine damalige Version sah so aus:

 1@ECHO OFF
 2PROMPT $v$_$p$g
 3GOTO %CONFIG%
 4
 5:Config3
 6:Config4
 7:Config5
 8:Config1
 9MSCDEX /V /D:CD003 /M:10
10GOTO Config2
11
12:Config2
13Path A:\
14KEYB GR
15MOUSE.COM
16DOSKEY

Und der bewirkte, dass in allen “normalen” Konfigurationen der CD-Mount durchgeführt wurde, jedoch im “Minimal-Fall” wurde dieser übersprungen.

Fazit

Auf dieser DOS-CD (eigentlich ein Disketten-Image, das beim Start von CD geladen wurde) hatte ich noch weitere BATCH Dateien um alles mögliche zu installieren.

Doch mit dem interaktiven Startmenü konnte ich spielend leicht auch Remote-Zugriffe per INTERLINK durchführen, oder RAM-Drives für andere Funktionen einrichten.

Bevor ich das MENU Feature entdeckt hatte, kam ich immer mit einer Schachtel an Disketten angelaufen, wo für jeden Notfall eine besondere Start-Variante fixiert war … nun hatte ich eine einzige, die alles konnte.

Ach, Wahnsinn … über 20 Jahre ist das jetzt her. Doch jetzt erinnere ich mich daran, als ob es erst gestern gewesen wäre, als DOS Startmenüs meinen Experimentier-Alltag versüßten.

… und man merkt, dass ich stets immer 5-10 Jahre hinter der Zeit war, wo ich im Jahr 2000 immer noch mit DOS beschäftigt war. Aber … wir hatten damals ja nichts anderes im Provinzdorf.


Wenn sich eine triviale Erkenntnis mit Dummheit in der Interpretation paart, dann gibt es in der Regel Kollateralschäden in der Anwendung.
frei zitiert nach A. Van der Bellen
... also dann paaren wir mal eine komplexe Erkenntnis mit Klugheit in der Interpretation!

Meine Dokus über:
 
Externe Links zu: