Tech-Ecke /DOS/DOS + Win3.x Patches und Tweaks

DOS + Win3.x Patches und Tweaks

Auf dieser Seite möchte ich ein paar Tools und Tipps zusammentragen, die mir bei der Installation von betagten Rechnern, aber auch von betagten Betriebssystemen auf neuen Rechnern geholfen haben.

Diese Seite beinhaltet



EZ-Drive

Mit EZ-Drive lassen sich große Festplatten mit ihrer kompletten Kapazität in alten Rechnern betreiben, selbst wenn diese vom BIOS nicht unterstützt werden. Obwohl das Tool von Western Digital entwickelt wurde, lassen sich damit auch die Platten anderer Hersteller und sogar CF- und SD-Kartenadapter betreiben. Bislang hatte ich noch keine Einschränkung feststellen können. Bei Rechnern der frühen 90er-Jahre muss die Festplatte im BIOS mit deren Zylindern, Sektoren, Spuren und Köpfen angegeben werden. Die Anzahl der Sektoren darf dabei 1 Million nicht überschreiten und damit ergibt sich eine Obergrenze von 512 MB. Zeitlich gesehen betrifft das auf jeden Fall nahezu alle 386er-Systeme und davor. 486er besitzen je nach Hersteller und verwendetem BIOS die Möglichkeit, mit größeren Platten umzugehen, aber auch hier gibt es Obergrenzen, welche meist nur wenige GB zulassen. In der Zeit gab es für große Festplatten herstellerspezifische Treiber, die das Ausschöpfen der vollen Plattenkapazität garantierten. Für neuere Platten wird man diese Treiber jedoch vergeblich suchen, von den CF- und SD-Kartenadaptern ganz zu schweigen. Genau hier kann jedoch EZ-Drive ansetzen. Das Tool übernimmt die Verwaltung der Festplatte und ermöglicht so den Einsatz großer Festplatten bzw. Speicherkarten in betagten Rechnern.


Bevor man EZ-Drive installiert, muss man im BIOS eine geeignete Festplatteneinstellung wählen. Die erste Option ist, die Einstellung zum Erkennen der HDD auf [Auto] zu setzen. Bietet einem das BIOS diese Möglichkeit nicht, so kann man folgende Einstellung versuchen: Cylinder = 16383, Head = 16, Sector = 63. Steht einem auch diese Einstellung nicht zur Verfügung, so empfiehlt EZ-Drive, den Festplattentyp Nr. 9 zu wählen. Bei einem meiner Schätzchen, dem Compaq Contura Aero, musste ich hier die Festplatte im BIOS über [Configure Hard Drives] von "DOS only or DOS and Windows" auf "Other Operating System" umstellen. Die Festplatte erscheint dann im BIOS mit 0 MB, aber damit hat es geklappt. Hier ist wohl unter Umständen auch individuelles Herumspielen angesagt. Infos hierzu findet man in der Hilfe zu EZ-Drive, welche man per [F2]-Taste aufrufen kann.

Hat man die Einstellung gefunden, so geht die menügeführte Installation dann recht flott über die Bühne. EZ-Drive kommt übrigens als Disketten-Image daher, was zuvor auf einem Rechner (bis WinXP 32 Bit) auf Diskette geschrieben werden muss. Mit der Diskette wird der PC dann gestartet und man landet direkt in der EZ-Drive-Installation. Die Anwendung ist dank der Option "Fully Automatic Install" sehr intuitiv. Für eventuelle Probleme steht aber auch eine ausführliche Hilfe zur Verfügung, von daher möchte ich hier gar nicht weiter ins Detail gehen. Nur so viel noch: Während der Fully-Automatic-Installation wird man gebeten, die Installationsdiskette des nachträglich zu installierenden Betriebssystems einzulegen. DOS 6.22 (oder darunter) benötigt das FAT16-Dateiformat und EZ-Drive berücksichtigt dieses automatisch. Leider hat FAT16 selbst wiederum eine Limitierung auf 2 GB pro Partition. 4 Partitionen können angelegt werden, also können mit FAT16 maximal die ersten 8 GB einer Platte genutzt werden. Win95b/98 arbeitet (auch) mit FAT32 und hat diese Einschränkung nicht. 

  ezdrv909.zip


DOS auf SSD-Laufwerken sowie SD-Kartenadapter

Die folgende Problematik betrifft DOS gleichermaßen wie Windows ab Win95 bis einschließlich XP.

Partitionsausrichtung

Alte Betriebssysteme gehen bei Festplatten immer von 512 Byte pro Sektor aus, was für konventionelle HDD-Laufwerke aus dieser Zeit auch immer so passt. Moderne SSD-Platten haben jedoch eine Sektorengröße von 4096 Byte (kurz 4k). SD-Karten können je nach Baujahr/Kapazität eine Sektorengröße von 512, 1024, 2048 oder 4096 Byte haben. Kleineren SD-Karten mit einstelligen GB-Kapazitäten, sollten in aller Regel jedoch mit 512 Byte Sektoren arbeiten. Wenn bei einer entsprechend großen und modernen Speicherkarte die Sektorengröße unbekannt ist, dann könnte man sicherheitshalber von 4096 Byte ausgehen, denn 4096 ist durch 512, 1024 und 2018 teilbar. Denn die Partitionsgröße sollte immer ein Vielfaches der Sektorengröße besitzen.
Gibt man in FDISK eine gewünschte Partitionsgröße in MB an, so wird diese von FDISK auf die nächstmögliche Größe, auf Basis 512 B/Sektor umgerechnet. Der von FDISK errechnete Wert kann, muss aber nicht zwangsläufig ein Vielfaches der Sektorengröße von, z.B. bei SSD's 4096 Bytes sein. Passt dies nicht, so spricht man von einer nicht ausgerichteten Partition (Partition Misalignment). Während ein Misalignment bei konventionellen HDD's in erster Linie Performanceprobleme bereitet, so bedeutet dies für die SSD's in erster Linie ein frühzeitiges Ableben. Ein Performanceeinbruch ist bei den schnellen Flashspeichern, welche in meinem Fall hinter dem IDE-BUS hängen wahrscheinlich nicht erkennbar. Hintergrundinfo zu der Thematik findet man weiter unten, hinter dem Link zu Romans Blog.
Das Anlegen von Partitionen ist unter DOS mit FDISK also durchaus möglich, aber gar keine gute Idee. Stattdessen sollte man die Partitionen vorher an einem Windows 7 Rechner (oder höher) erstellen.
In meinem Fall habe ich jedoch eine mSATA SSD, welche ich über einen IDE-Adapter betreibe. Das ganze hängt dann über einen USB-IDE-Adapter an meinen Win10 Rechner. Das Ergebnis war, dass der Rechner die Festplatte wohl nicht als SSD erkannt hatte, zumindest kam es bei diesem Versuch auch zu einem Misalignment.

Um zu prüfen ob die Ausrichtung passt, kann unter Windows das Tool AS SSD Benchmark benutzt werden. Info für XP-User: Mit der aktuellen Version 2.0x hatte ich unter XP-32Bit kein Erfolg, aber eine älter (v1.64237) in Verbindung mit der Installation von .Net3.5 und .Net4.0 *kotz* hat dann letztlich funktioniert. Mit der Umschaltbox, links oben im Fenster kann man zwischen den Partitionen (und geg. Festplatten) wechseln, direkt darunter sollte für jede Partition ein "OK" zu sehen sein. Ist hier ein "BAD" zu sehen, so ist eine Ausrichtung nötig.


Im Internet wird oft auch eine Methode mit Windows Bordmitteln (ab XP) genannt, welche ganz ohne nervige .Net-Installation auskommt. Dazu klickt man auf "Start/Ausführen" und gibt "msinfo32" ein. Im darauf erscheinendem Fenster klickt man auf "Komponenten/Speichergeräte/Datenträger". In der rechten Fensterseite findet man dann hinter "Partitionstartoffset" einen Byte-Wert zu jeder Partition. Dieser Wert muss glatt durch 4096 teilbar sein, kommt hier eine Kommazahl heraus, so ist die Partition nicht für SSD-Platten ausgerichtet.

So so... Meine 3. Partition mit dem Startoffset von 7.331.143.680 Bytes wurde "AS SSD Benchmark" als "BAD" deklariert. Auch der "Partition Wizard" von MiniTool erkennt hier ein ungültiges Offset, konnte es aber nicht reparieren, weshalb ich nicht näher auf das Tool eingehen möchte. Wie auch immer, wenn ich aber die 7.331.143.680 durch 4096 teile, dann bekomme ich eine arschglatten Zahl und zwar 1.789.830 raus... also war ich erst mal lost. 
Also habe ich mir "AOMEI Partition Assistant" mal angeschaut, welcher auch oft für das Ausrichten von Partitionen genannt wird und in der neusten Version 10.x auch noch XP unterstützt. Dieser erkannte auch einen Missstand und konnte ihn, im Gegensatz zum "Partition Wizard" auch beheben. Dazu die Partition/en selektieren und im linken Menü "Partition ausrichten" auswählen. Dann den Wert auf 4096 Sektoren stellen (warum nicht Byte???- egal) und mit [OK] bestätigen. Danach war alles in Butter und auch "AS SSD Benchmark" ist nun zufrieden :-)



Also nochmal kurz zusammengefasst: Am besten man nimmt direkt "AOMEI Partition Assistant", prüft und repariert auch wenn nötig damit. Wer sich eine zweite Meinung einholen will, schaut nochmal bei "AS SSD Benchmark" vorbei und lässt das mit "MSINFO32" wohl eher bleiben... oder jemand finden den Fehler und klärt mich auf?


Fehlende SSD TRIM Funktionalität

Das zweite Problem in das man rennt, ist das Fehlen der TRIM-Unterstützung von DOS bzw. Windows <Win7. Auch das führt auf Dauer zu großen Problemen. Performanceeinbruch sowie zu einem verfrühten Ausfall und das sogar besonders schnell, wenn die SSD bzw. die Partition knapp bemessen ist und nicht genügend unpartitionierte Speicherreserven vorhält. Auch hier verweise ich mal auf den Link zu Romans Blog.
Aber: Abhilfe schafft hier das DOS-Commandline-Tool "TRIM" von Rudolph R. Loew "DOS DISK/FAT32 TRIM Program", welches ein manuelles TRIM für eine SSD anstoßen kann. Jedoch arbeitet "TRIM" nur mit FAT32 und nicht mit FAT16 welches von DOS (bis v6.22) genutzt wird. Hier wiederum kann man sich jedoch ein DOS 7.x, auf Basis einer Win9x-Startdiskette erstellen, welches auf FAT32 läuft. Es gibt hier zwar einiges zu beachten, z.B. bei der Installation von Win3.x und bei der Übernahme von Befehlsanwendungen von DOS 6.22, aber das ist alles machbar.
Die erste Ausgabe von Win95 läuft nur auf FAT16, ab Win95b wird jedoch auch FAT32 unterstützt.

Wenn man auf die Vorzüge von NTFS verzichten kann, dann kann man Windows XP auch auf einer FAT32 Partition installieren und kann mittels DOS-Bootdiskette ein TRIM anschubsen. Das WindowsXP-Setup bietet keine Möglichkeit eine FAT32 Partition für die Installation vorzubereiten, deshalb sollte man vor dem Booten per Installations-CD eine FAT32 Partition anlegen und Formatieren.
Gemäß dem Autor kann man den Befehl auch in die AUTOEXEC.BAT einbetten, und somit bei jedem Neustart des Systems ein TRIM ausführen. Das funktionier dann aber nur für Laufwerke auf denen gerade nicht das System ausgeführt wird, weshalb ich mir hierfür eine DOS-Bootdiskette erstellt habe. Der Syntax für ein normales TRIM auf Laufwerk C ist: TRIM C: F

Aufhänger des Ganzen war ein Beitrag auf Roman's Blog Windows XP und die SSD (Download offline Mirror 26.11.2023). Roman erklärt in diesem Beitrag was man tun kann, um Windows XP so gut es geht SSD-fähig zu konfigurieren. Ein Feuerwerk an Infos wird dann von "Dino" im erstem Kommentar abgefeuert, was einem erst mal jegliche Motivation für solch ein Unterfangen nimmt. Auch wenn es hierbei primär um Windows XP geht, so treffen die von "Dino" genannten Probleme auch auf DOS zu.


Das Ganze an einem Zweiten Rechner...


Da TRIM offensichtlich beim Armada funktioniert, wollte ich auch meinen DELL Latitude D610 gleichermaßen aufsetzen. Also die vorhandene NTFS Partition samt XP runter und auf eine FAT32 Partition neu aufgespielt. Aber gegen meiner Erwartung ist der Rechner nicht in der Lage ein TRIM an die SSD abzusetzen, der Grund liegt wohl am IDE-Controller. "AS SSD Benchmark" spuckt hier ein "BAD" beim IDE-Controller aus und das BIOS bietet keine Optionen hier was zu ändern.

Obwohl der D610 ca. 5 Jahre nach dem Armada das Licht der Welt erblickte, ist er wohl nicht geeignet. Manche hauseigenen Treiber sollen unter Windows dafür die Ursache sein, weshalb man immer den Windows-eigenen Treiber verwenden sollte (insbesondere bei NVIDIA). Aber da TRIM.EXE unter DOS auch nicht funktioniert und einfach hängen bleibt, kann man den Treiber eigentlich ausschließen. Der eSATA-IDE-Adapter ist übrigens der gleiche wie im Armada, auch die SSD ist gleich, nur 128 GB statt 64 GB. Also bleibt der Rechner bzw. dessen SSD erst mal ohne TRIM-Funktion im Regen stehen. Das dämpft die ganze Euphorie, für alte Rechner eine Lösung gefunden zu haben :-(

Zur Sicherheit habe ich 20% der Platte unpartitioniert gelassen, denn der Festplattencontroller soll in der Lage sein, fehlerhafte Sektoren zu erkennen, diese blockieren und stattdessen unverwendete Sektoren als Ersatz bereitzustellen. Je mehr man also frei lässt, desto mehr Sicherheitsreserve hat man. Das ersetzt zwar kein TRIM, sondern es zieht das zu erwartende Übel lediglich etwas hinaus. Aber der Geschwindigkeitsschub ist einfach zu groß, um es sein zu lassen.

Update 06.12.2023: Probehalber habe ich die SSD mal in einen Latitude D600 eingeschoben. Dieser nutzt zwar ein anderes HDD-Caddy als der D610, aber der IDE-Pin-Adapter (welcher immer schwer abzubekommen ist) darf wenigstens drauf bleiben. Dann per DOS-Diskette gebootet, TRIM ausgeführt und siehe da, es läuft! Also liegt es definitiv am IDE-Controller. Wenigstens kann ich auf diese Weise, ohne größeren Aufwand von Zeit zu Zeit ein TRIM durchführen :-)

 


DOS mit mehr als 2 GB Partitionsgröße unter FAT32

DOS 6.22 war das letzte DOS-Release, welches von Microsoft als eigenständiges Betriebssystem vertrieben wurde. Das System arbeitet mit dem FAT16-Dateisystem, welches auf eine maximale Größe von 2 GB begrenzt ist. Um das zu umgehen, kann z. B. auf DOS 7.1 ausgewichen werden, welches im Hintergrund von Windows 98 werkelt und nie separat, also als eigenständiges Betriebssystem, angeboten wurde. Das Formatieren einer Diskette mit gleichzeitigem Übertragen der Systemdateien ist eine Möglichkeit, um an das DOS heranzukommen. Dies ist besonders empfehlenswert, wenn man das System auch auf der Diskette belassen möchte und somit wirklich nur das Allernötigste draufpacken möchte. Dazu an einem Windows 98 Rechner:

Jetzt hat man ein bootfähiges DOS 7.1 auf Diskette, mit folgenden Dateien: IO.SYS, MSDOS.SYS, COMMAND.COM. Die Dateien sind jedoch nur dann sichtbar, wenn man im Explorer unter "Ansicht/Ordneroptionen/Ansicht/Versteckte Dateien" auf "Alle Dateien anzeigen" umstellt. Des Weiteren wurde auch noch die Datei DRVSPACE.BIN angelegt, welche man aber getrost löschen kann. Im nächsten Schritt benötigt man noch die Datei SYS.COM, aber auch FDISK.EXE und FORMAT.COM werden benötigt, falls man die Festplatte des Zielrechners zuvor partitionieren und/oder formatieren möchte. Diese Dateien findet man auf der Windows-Installations-CD im Ordner "Old_MS-DOS". Möchte man auch noch einen deutschen Tastaturtreiber, CD-ROM-Unterstützung und weitere nützliche Dinge, so findet man hier eine Anleitung dazu.

Alternativ kann man sich am Win98-Rechner auch über "Start/Einstellungen/Systemsteuerung/Hinzufügen/Entfernen/Startdiskette" eine Bootdiskette erstellen lassen. Diese enthält zwar allerlei Daten, welche nicht benötigt werden, aber zumindest auch all das, was man zum Übertragen der Systemdateien auf einen weiteren Rechner benötigt. Gleiches gilt natürlich auch für eine originale Win98-Bootdiskette, wenn man denn noch eine hat.

Nun kann man den Rechner mit der erstellten Bootdiskette starten und mit dem Befehl "SYS C:" die Systemdateien auf die Festplatte des Rechners (Laufwerk C:\ ) übertragen. Dann kann man alles Weitere von der Diskette auf die Festplatte kopieren und sich somit sein eigenes kleines DOS-System aufbauen. Alles, was man dazu braucht, ist hier zu finden.

Hinweis: Sollte trotz korrekter Übertragung das System nicht starten wollen, so liegt es eventuell daran, dass die Partition C nicht aktiv gesetzt ist. Um sicherzustellen dass dies der Fall ist, kann man das Partitionierungstool FDISK benutzen. Dazu den Rechner mit der Bootdiskette booten und FDISK.EXE starten, geg. die Unterstützung für FAT32 mit "J" beantworten, dann die "2" für "Aktive Partition festlegen" und nun die aktive Partition bestimmen, in der Regel wird dies die "1" für Partition C sein. 

Nerviger Windows 98 Startbildschirm beim Booten

Booten man nun über die Festplatte ins selbstgebastelte System, so erscheint während des Bootens der Windows 98 Startbildschirm. Je nach Rechnergeschwindigkeit ist dieser zwar nur für einen kurzen Augenblick zu sehen, aber irgendwie hat er mich gestört. Nach etwas Suche im Netz fand ich diese Lösung (unter Windows bearbeiten):

[Options]
Logo=0

Hinweis: Unter Windows XP muss im Explorer nicht nur die Option "Versteckte Dateien anzeigen" gesetzt sein, sondern auch noch der Haken bei "Geschützte Systemdateien ausblenden" entfernt werden, bevor man die MSDOS.SYS zu Gesicht bekommt.

Eigenen Startbildschirm verwenden

Man kann auch ein eigenes Startlogo entwerfen und anzeigen lassen. Dazu in Paint ein 320x400 Pixel großes Bitmap erzeugen und als 256-Farben-BMP mit dem Dateinamen "LOGO.SYS" abspeichern. Die Datei wird einfach ins Wurzelverzeichnis des Systemlaufwerks, also direkt neben IO.SYS, abgelegt. Fortan wird beim Start nun das eigene Bild angezeigt. Ein Beispiel kann hier heruntergeladen werden.

   LOGO.SYS (gezipt)


Nicht DOS-Relevante Windowsprozesse deaktivieren

Durch Anpassen der MSDOS.SYS können noch einige windowsrelevante (Win9x) Prozesse deaktiviert werden, welche im DOS-Betrieb nicht notwendig sind. Dazu müssen ebenfalls, wie beim "Startbildschirm Unterdrücken", Einträge in der MSDOS.SYS hinzugefügt werden. Hierzu genauso vorgehen wie hier beschrieben und unter [Options] folgende weitere Einträge hinzufügen:

BootGUI=0
DisableLog=1
DblSpace=0
DrvSpace=0
AutoScan=0
SystemReg=0


Windows 3.x unter DOS 7.1

Hat man sich sein eigenes DOS auf Basis der Windows 98-Startdiskette, also DOS 7.1, aufgebaut, so kommt man eventuell auf die Idee, Windows 3.1 oder 3.11 darauf zu installieren. Die Installation verläuft auch tatsächlich reibungslos, aber das anschließende Booten misslingt mit der Fehlermeldung: Der Computer wurde mit einer MS-DOS-Version gestartet, die mit dieser Windows-Version nicht kompatibel ist.

OS2FIX Patch

Abhilfe schafft hier das Patch-Paket OS2FIX von Ralf Buschmann. Für das obige Szenario ist jedoch nur ein Patch des Pakets erforderlich, und zwar "Winstart". Dieser modifiziert die IO.SYS und lässt damit Windows 3.x unter DOS 7.1 starten. Dazu kopiert man die Datei WINSTART.EXE aus dem Ordner WIN3X auf das zu patchende Systemlaufwerk, führt diese aus und folgt den Anweisungen auf dem Bildschirm. Die beiden anderen Patches betreffen laut Beschreibung nur Win95b (nicht-US) und ein Booten von Win3x unter Win95. Sicherheitshalber habe ich den zweiten Patch im Ordner HIMEM auch mal gestartet, da Win98 nicht erwähnt ist, könnte hier ja der gleiche Bug vorliegen? Näheres findet man in der sehr ausführlichen Beschreibung zu den Tools.

Hinweis: Den Patch habe ich auf einem System vorgenommen, welches auf Basis einer Win98-Startdiskette erstellt wurde. Mit dem Befehl "VER" bekommt man die aktuelle Version angezeigt, in meinem Fall ist das "Windows 98 [Version 4.10.1998]", Win98SE wird hier "Windows 98 [Version 4.10.2222]" ausgeben. Ob der Patch auch mit Win98SE läuft, kann ich aktuell nicht sagen?


  osr2fix.zip (31kB)


FAT32 Unterstützung - Dateisystem Probleme mit WIN386.EXE

Windows bootet jetzt zwar schon einmal, aber unter FAT32 verursacht Windows einiges an Datenchaos beim Zugriff auf Dateien und beim Wechseln zwischen Ordnern. Auch wenn das eigentliche Betriebssystem DOS 7.1 mit FAT32 keine Probleme hat, so kommt Windows 3.x leider von Haus aus nicht damit klar. Aber auch hierfür gibt es Abhilfe, sodass Win3x unter FAT32 nicht mehr ins Stolpern kommt.

Hierzu muss die Datei WIN386.EXE im Verzeichnis "C:\WINDOWS\SYSTEM" modifiziert werden. Hierzu existiert zwar der 311FAT32.COM Patch, welchen ich bislang hier verlinkt hatte, dieser ist aber nur mit den originalen englischen Versionen von Win3.1 und Win3.11 kompatibel.

Die Datei lässt sich aber auch mit einem Hex-Editor wie z. B. dem XVI32 schnell von Hand modifizieren. Man sucht nach dem Hex-Code-String "66 C7 46 49 FF FF" und ersetzt diesen durch "6A FF 8F 46 49 90", das Ganze muss an zwei Stellen vorgenommen werden. Für meine deutsche Win3.11 Version sind das die beiden Startadressen "66226" und "66438" (Beispiel zeigt nur 66226).


Windows 3.11 (German)
Adresse: 66226: 66 C7 46 49 FF FF   ändern in   6A FF 8F 46 49 90
Adresse: 66438: 66 C7 46 49 FF FF   ändern in   6A FF 8F 46 49 90

Windows 3.1 (German)
Adresse: 5F226: 66 C7 46 49 FF FF   ändern in   6A FF 8F 46 49 90
Adresse: 5F438: 66 C7 46 49 FF FF   ändern in   6A FF 8F 46 49 90


  XVI32 HexViewer v2.54 oder Homepage des Autors besuchen: http://www.chmaas.handshake.de/



Der Wert für den Eintrag PageOverCommit in System.ini ist zu groß - Zuviel Arbeitsspeicher


Falls Windows immer noch nicht startet und die Fehlermeldung "Der Wert für den Eintrag PageOverCommit in SYSTEM.INI ist zu groß" ausgibt, dann ist folgendes zu tun:

Speicher reduzieren

Der Hintergrund liegt in einem zu großen Arbeitsspeicher von >64 MB. Ist mehr als 256 MB RAM installiert, so kann der Wert von 2 auf 1 gesenkt werden. Sind mehr als 1024 MB (1 GB) RAM installiert, so muss man den Speicher limitieren. Das gelingt z.B. mittels "LIMITMEM.SYS". Dazu muss LIMITMEM, in der CONFIG.SYS vor HIMEM.SYS eingetragen werden.

DEVICE = DOS\LIMITMEM.SYS 64

Hiermit wird der Speicher auf 64 MB begrenzt. Das Ganze kann man natürlich auch bei weniger als 1 GB installiertem RAM so anwenden und somit gänzlich auf den PageOverCommit Eintrag in der SYSTEM.INI verzichten.

  LIMITMEM.ZIP

Bei einigen älteren DOS-Spielen kann übrigens schon 64 MB zu viel sein, hier gibt es eine weitere Möglichkeit, die ich hier aufgeführt habe und die ohne Eintrag in der CONFIG.SYS auskommt. 


 
Windows 3.x bleibt beim Bootvorgang hängen

Falls Windows trotz aller Modifikationen dennoch nicht starten möchte und beim Startbildschirm oder mit einem schwarzen Bildschirm hängen bleibt, dann sollte man Windows mit der Option /b starten.

win /b

Hierbei legt Windows eine Logdatei mit dem Namen BOOTLOG.TXT im Windows-Ordner (C:\WINDOWS) an und protokolliert jeden einzelnen Schritt. Alle Treiber und Komponenten sollten mit einem "LoadSuccess" abgeschlossen werden. Somit lassen sich eventuell falsche oder fehlerhafte Treiber bzw. Komponenten ermitteln.

Eine weitere Möglichkeit ist, Windows im Standardmodus zu starten. Dieser Modus ist eigentlich gedacht, um Windows auf einem 286er oder mit weniger als 4 MB RAM auszuführen. Der Standardmodus wird jedoch nur von Windows 3.1 unterstützt und unter den vorangegangenen Bedingungen auch automatisch gestartet. Wenn bei einem 386er oder größer weniger als 4 MB RAM vorhanden sind, dann kann der erweiterte Modus mit der Option /3 auch erzwungen werden. Windows 3.11 WfW kann, wie bereits erwähnt, nicht im Standardmodus gestartet werden.

win /s

Sollte der Rechner hier starten und die CPU > 286er und RAM > 4 MB sein, dann liegt eventuell ein Problem mit dem Speicher vor. Mit dem Befehl MEM kann man sich unter DOS die Speicherkonfiguration anzeigen lassen. Windows benötigt mindestens 200 K freien konventionellen und 4.096 K (4 MB) erweiterten Speicher.

Weitere Startoptionen lassen sich über die Option /? anzeigen.

win /?



Das SHARE.EXE Problem

Einige Anwendungen, darunter Word 6.0 und Excel 5.0 für Win3x, benötigen SHARE.EXE, aber auch einige DOS-Spiele fragen danach. Zum Teil lassen sich manche Anwendungen mit der SHARE.EXE aus älteren DOS-Versionen zufriedenstellen. Um Programme aus älteren DOS-Versionen unter DOS 7.1 zum Laufen zu bringen, benötigt man den Anwendungsbefehl SETVER.EXE. Zu finden ist dieser auf der Installations-CD von Win98 im Ordner "Old_MS-DOS". Dabei wird SETVER.EXE wie folgt angewendet: Ich gehe davon aus, dass das System wie hier beschrieben aufgebaut ist und in der AUTOEXEC.BAT folgende Zeile zu finden ist: PATH C:\DOS

Zur CONFIG.SYS muss eine der beiden Zeilen hinzugefügt werden, je nachdem, ob im System das Speicherverwaltungstool HIMEM zum Einsatz kommt oder nicht:

bei Nutzung von HIMEM.SYS:

DEVICEHIGH /L:1 =C:\DOS\SETVER.EXE


oder ohne HIMEM.SYS:

DEVICE = C:\DOS\SETVER.EXE

 Danach kopiert man SETVER.EXE und SHARE.EXE in den Ordner C:\DOS\ und startet das System neu. Nun gibt man folgenden Befehl ein:

SETVER SHARE.EXE 7.1

und startet das System nochmal durch. Jetzt sollte sich SHARE.EXE ohne die sonst übliche Fehlermeldung "Falsche DOS-Version" zu bringen ausführen lassen. Ordentlich ins System eingebunden wird Share.exe mit folgendem Eintrag in der CONFIG.SYS:

DEVICE=C:\DOS\SHARE.EXE /F:4096 /L:40

Die Parameter /F:4096 /L:40 sind die gängigsten und werden so z. B. von Word und Excel verlangt. Im Grunde wird es aber in den meisten Fällen egal sein, ob man SHARE mit oder ohne Parameter startet. Falls bestimmte Programme hier eine gesonderte Einstellung benötigen, weisen diese im Setup darauf hin und nehmen diese auf Wunsch auch automatisch vor.

FAKESHAR.COM als bessere Alternative (in vielen, aber nicht allen Fällen)

Oftmals lassen sich mit dieser Methode gerade Word und Excel nicht zum Start überreden und meckern immer noch, dass SHARE.EXE benötigt wird. Aber es gibt auch noch eine zweite Methode, um das Share-Problem loszuwerden, welche in den allermeisten Fällen sogar die bessere Wahl ist – und zwar das kleine Tool FAKESHAR.COM. Hierbei handelt es sich um eine Software, welche das Vorhandensein von SHARE vorgaukelt. Im Netz ist zu lesen, dass der Einsatz zu Datenverlust führen kann. Das kann man prinzipiell nicht abstreiten, aber nur, wenn man sich mit den betroffenen Anwendungen in einem Netzwerk befindet, wo mehrere Personen auf die gleiche Datei zugreifen können, denn SHARE.EXE regelt genau dies. Also droht bei der Verwendung von FAKESHAR kein Datenverlust, solange man das Ganze auf einem Einzelplatzrechner oder gar in der DOSBox betreibt.

FAKESHAR wird einfach vor dem Start der betroffenen Anwendung ausgeführt. Bei regelmäßigem Gebrauch kann man FAKESHAR auch in die AUTOEXEC.BAT einbinden oder die betroffene Anwendung mit einer Batchdatei starten, in der man vorher FAKESHAR ausführt. Das einmalige Ausführen von FAKESHAR.COM startet den Service, das erneute Ausführen beendet ihn und gibt den Speicher wieder frei.
 
  fakeshar.zip (2 kB)



DOS-Spiele auf "moderner" Hardware

Einige Spiele, aber zum Teil auch Anwendungen, haben Probleme mit – für DOS-Verhältnisse – moderner Hardware. Zum Teil haben sie Probleme mit der Speicheradressierung, wenn mehr als 64 MB RAM zur Verfügung stehen, oder eine zu hohe CPU-Taktfrequenz wirft sie aus der Bahn. Auch Windows 3.11 hat seine Probleme mit zu viel Speicher, das Thema habe ich aber bereits hier und hier behandelt.

Hat eine Anwendung Probleme mit einem – für DOS-Verhältnisse – überschnellen Prozessor (ab ca. 200 MHz), so ist oft nur die Meldung "Runtime error 200 at..." oder "Divide by Zero" zu lesen und das war's. Ein typischer Vertreter dieses Phänomens ist Jazz Jackrabbit (1). In so einem Fall kann das Drosseln der CPU eine Lösung sein. Hierfür gibt es mehrere Tools, wie z. B. MoSlo oder Slowdown.

Während MoSlo sehr einfach in der Anwendung ist, bietet Slowdown mehrere Möglichkeiten, eine CPU zu drosseln, was es flexibler macht. Beispielsweise lässt sich hier die Drosselung per Hotkey während der Laufzeit der Anwendung/des Spiels anpassen, um somit die ideale Geschwindigkeit zu ermitteln. Denn manche Anwendungen verursachen keinen Fehler wie Jazz Jackrabbit, laufen aber wie im Zeitraffer, also viel zu schnell ab.


CPU Drosseln

- Slowdown -
Wird "slowdown.com" (ohne Parameter) aufgerufen, so geschieht zunächst nichts, außer das sich das Tool in den Speicher schreibt. Hier werden ca. 3 kB konventioneller Speicherplatz belegt. Man kann SLOWDOWN aber auch in den hohen Speicherbereich laden, um sich die 3 kB konventionellen Speicher zu sparen. Der Syntax hierzu sieht wie folgt aus:

   DOSHIGH SLOWDOWN

Die CPU-Geschwindigkeit kann dann über die Tastenkombination [Strg] + [Alt] + [1..0] angepasst werden, wobei [Strg] + [Alt] + [1] die langsamste und [Strg] + [Alt] + [0] die schnellste Einstellung ist. Der Rechner bestätigt den Wechsel mit einem Piep über den Systemlautsprecher.
Eine weitere und für mich die bevorzugte Möglichkeit ist, die CPU auf die Geschwindigkeit eines bestimmten Prozessortyps zu bringen. Zum Beispiel einem 486er mit 100 MHz. Der Syntax hierzu sieht dann wie folgt aus:

   SLOWDOWN /MHz486:100

Um Slowdown wieder zu beenden, kann der Parameter /UNINSTALL oder auch kurz /U verwendet werden.

   SLOWDOWN /U

Das hier Gezeigte ist jedoch nur ein Bruchteil von dem, was SLOWDOWN an Möglichkeiten bietet. Wer mehr wissen möchte, muss sich durch die 150-seitige Dokumentation arbeiten, die für meinen Geschmack mit etwas zu viel Prosatext versehen ist und sich dadurch schwerfällig durchforsten lässt (DOC\SLOWDOWN\SLOWDOWN.DOC).

slowdown_v1.3.zip (154 kB)


- MoSlo -
Im Gegensatz zu Slowdown ist MoSlo, sowohl in der Funktionalität als auch der Dokumentation, geradezu spartanisch gehalten. Nach dem Entpacken kopiert man alle Dateien in den Programm- bzw. Spieleordner und öffnet die "moslo.bat" in einem Editor. Hier findet man etwas Erklärung in auskommentierten Zeilen. Am Ende fügt man die Startzeile inkl. der gewünschten Parameter ein. Im Fall von Jazz Jackrabbit könnte das dann wie folgt aussehen.

   MOSLO.COM /30 JAZZ.EXE

Hierbei wird Jazz Jackrabbit mit 30% reduzierter CPU-Leistung, also mit 70% der eigentlichen CPU-Geschwindigkeit ausgeführt. Zum Starten des Spiels wird nun die MOSLO.BAT gestartet.
Hinweis: Es muss explizit "moslo.bat" eingegeben werden. Wird nur "moslo" ohne Endung eingegeben, so wird die moslo.com gestartet. ".com" hat übrigens Vorrang vor ".exe" und ".exe" vor ".bat". 

moslo.zip (19 kB)

Den Effekt beider Tools kann man sich z.B. mit  Landmark System Speed Test v2.0 ansehen.


Anwendung Patchen

- TTPatch -
Eine weitere Möglichkeit, um Probleme mit einer zu schnellen CPU zu beheben, ist das Patchen der ausführbaren Datei (EXE) mit dem Tool TPPatch. Das Tool wurde von Andreas Bauer für kompilierte Turbo-Pascal-Anwendungen (TP v7) entwickelt, welche bei einer schnellen CPU Probleme bereiten. Jazz Jackrabbit beispielsweise kann mit diesem Patch auch überredet werden, auf einem "überschnellen" Rechner zu laufen. Eventuell hilft der Patch aber auch bei weiteren Spielen und Anwendungen. Bei der Shareware-Version von Jazz Jackrabbit muss die JAZZ.EXE gepatcht werden, bei der Vollversion hingegen die FILE0001.EXE. Dazu TPPATCH.EXE temporär in den Spieleordner kopieren und wie folgt aufrufen:

   TPPATCH JAZZ.EXE  bzw. TPPATCH FILE0001.EXE

Wenn alles geklappt hat, dann quittiert TPPatch die Aktion mit: "Datei ist ok. Die Datei wird jetzt gepatcht... Fertig". TPPATCH.EXE kann danach wieder entfernt werden.
Gibt das Tool eine Meldung aus, dass es sich bei der Datei nicht um eine TP7-Anwendung handelt, dann ist das Patchen nicht geglückt.

tppatch.zip (10 kB)



Windows 3.x Programmgruppen (.grp - Dateien) editieren 

Ich hatte letztens die Ordnerstruktur meiner DOS/Win3.x-Partition auf meinem Armada 1750 geändert. Unter anderem betraf dies eine kleine Spielesammlung mit mehr als 30 Windows-Spielchen, die ich zuvor mühevoll in eine eigene Programmgruppe verlinkt hatte. Zwar kann man die Dateipfade der .GRP-Datei neben vielen hieroglyphischen Zeichen in einem Texteditor sehen, aber der Versuch, diese zu ändern, macht die Programmgruppendatei unbrauchbar. Als ich das Vorhaben schon fast aufgegeben hatte, bin ich über folgendes kleines Tool gestolpert: Group Editor v1.3 von John A. Grant.

Am Ende ist es sogar mehr, als ich erhofft hatte. Mit diesem Tool habe ich meine Gruppendateien in null Komma nichts angepasst.

Programmgruppen auf anderen Rechner übertragen  
Das Tool hat mir kurze Zeit später nochmals geholfen, als ich die Spielesammlung auf einen anderen Rechner, mit ebenfalls anderer Verzeichnisstruktur, übertragen habe. Um Programmgruppen von einem auf den anderen Rechner zu übertragen, geht man wie folgt vor:

Da Windows die Gruppendateien standardmäßig ins Windowsverzeichnis legt, kann dieses weggelassen werden. Das Tool kann direkt hier heruntergeladen werden.

Group Editor v1.3


Die Option Drucken funktioniert erst ab Netscape V4.0 bzw. I-Explorer 5.0
[Erstellt 30.12.2014 - letzte Aktualisierung 28.01.2025]