Tech-Ecke /DOS/Patches und Tweaks

Patches und Tweaks

Auf dieser Seite möchte ich ein paar Tools und Tipps zusammentragen welche 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 im vollen Umfang an alten Systemen betreiben, auch wenn diese im BIOS eine Limitierung der Plattengröße haben. 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 Rechner der frühen 90'er Jahren wird die Festplatten vom BIOS über Sektoren/Spur, Spuren/Zylinder und Anzahl der Zylinder adressiert. Die Anzahl der Sektoren darf 1 Million nicht überschreiten und damit ergibt sich eine Obergrenze von 512 MB. Zeitlich gesehen betrifft das auf jeden Fall nahezu alle 386'er Systeme und davor. 486'er besitzen je nach Hersteller bzw. BIOS dir Möglichkeit mit größeren Platten als umzugehen aber auch hier gibt es Obergrenzen die meist nur wenige GB zulassen. Um das Problem zu umgehen gab es von den Festplattenherstellern spezielle, individuelle Treiber, welche das Ausschöpfen der vollen Plattenkapazität ermöglichte. Für neuere Platten wird man diese Treiber jedoch vergeblich suchen, von den CF- und SD-Kartenadaptern ganz zu schweigen. Genau hier kann man jedoch EZ-Drive ansetzten. Das Tool übernimmt die Verwaltung der Festplatte und ermöglicht so den Einsatz großer Festplatten bzw. Speicherkarten.


Bevor man EZ-Drive installiert muss man im BIOS einen geeigneten Festplatteneinstellung wählen. Eine Hilfe hierzu finden man auch in der Hilfe in EZ-Drive welche man über F2 aufrufen kann. 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 Comapq Contura Areo 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 rumspielen angesagt.
Hat man die Einstellung gefunden geht die Installation dann auch Menügeführt recht flott von statten. EZ-Drive kommt übrigens als Disketten-Image daher was zuvor auf einem Rechner (bis WinXP 32Bit) 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" intuitiv, für alles anderen steht eine ausführliche Hilfe zur Verfügung. von daher möchte ich hier gar nicht weiter ins Detail gehen. Nur soviel noch, während der Fully-Automatic-Installation wird man gebeten die Installationsdiskette des nachträglich zu installierenden Betriebssystem 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 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 Sektorgröße von 4096 Byte (kurz 4k). SD-Karten können je nach Baujahr/Kapazität eine Sektorgröße von 512, 1024, 2048 oder 4096 Byte haben. Wenn die Sektorgröße der verwendeten Karte unbekannt ist, dann sollte man von 4096 Byte ausgehen, denn 4096 ist durch 512, 1024 und 2018 teilbar.
Eine Partition sollte von der Größe immer ein Vielfaches der Sektorgröße sein. Gibt man in FDISK eine gewünschte Partitionsgöß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 auch ein Vielfaches der SSD-Sektorgröße von 4096 Bytes entsprechen. 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 Author 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 nich das System ausgeführt wird, weshalb ich mir hierfür eine eigens gebastelte 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 hauseigene Treiber sollen unter Windows dafür die Ursache sein, weshalb man immer den Windows eigenen Treiber verwenden sollte (insbesondere bei NVIDEA). 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 alten 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, diesen 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 anders 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 das 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 ran zu kommen. 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 original 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" weggenommen werden bevor man die MSDOS.SYS zu Gesicht bekommt.

Eigene Startbildschirm verwenden

Alternative zum Unterdrücken des Logos kann man auch ein eigenes 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 genau so 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.11 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.x 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 Paktes 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 pachtende Systemlaufwerk, führt diese aus und folgt den Anweisungen auf dem Bildschirm. Die beiden anderen Patchs 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 gleich Bug vorliegen? Näheres findet man in der sehr ausführlichen Beschreibung zu den Tools.

Hinweis: Den Patch habe ich auf einem System, welches auf Basis einer Win98-Startiskette erstellt wurde vorgenommen. Mit dem Befehl "VER" bekommt man die aktueller 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 leider 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 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, so dass 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 HexEditor 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 286'er 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 386'er 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 der CPU > 286'er 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 Zeile hinzugefügt werden, je nach dem 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 gestartet wird. Falls bestimmte Programme hier eine gesonderte Einstellung benötigen, weißen die 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 an das SHARE.EXE benötigt wird. Aber es gibt auch noch eine zweite Methode um das Share-Problem los zu werden, 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 FAKESHARE auch in die AUTOEXEC.BAT einbinden oder die betroffene Anwendung mit eine 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 zu 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 überschnellem 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 Rabbit (1). In so einem Fall kann das Drosseln des CPU's eine Lösung sein. Hierfür gibt es mehrere Tools, wie z.B. MoSlo oder Slowdown.
Während MoSlo dehr einfacher in der Anwendung ist, bietet Slowdown mehrere Möglichkeiten einen CPU zu drosseln, was es flexibler macht. Beispielsweise lässt sich hier die Drosselung per Hot-Key während der Laufzeit der Anwendung/Spiel anpassen, um somit die ideale Geschwindigkeit zu ermitteln. Denn mache Anwendungen verursachen keinen Fehler, wie Jazz Rabbit, laufen aber wie in Zeitraffer, also viel zu Schnell ab.


CPU Drosseln

- Slowdown -
Wird "slowdown.com" (ohne Attribute) ausgeführt, 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 Pipen über den Systemlautsprecher.
Eine weitere und für mich die bevorzugte Möglichkeit ist, die CPU auf die Geschwindigkeit einen bestimmten Prozessortyp zu bringen. Zum Beispiel einem 486'er mit 100 MHz, der Syntax hierzu sieht dann wie folgt aus:

   SLOWDOWN /MHz486:100

Um Slowdown wieder zu beenden kann das Attribut /UNINSTALL oder auch kurz /U verwendet werden. Syntax

   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 Rabbit könnte das dann wie folgt aussehen.

   MOSLO.COM /30 JAZZ.EXE

Hierbei wird Jazz Rabbit 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" eigegeben 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 TurboPascal-Anwendungen (TP v7) entwickelt, welche bei einer schnellen CPU Probleme bereiten. Jazz Rabbit beispielsweise kann mit diesem Patch auch überredet werden, auf einem "überschnellen" Rechner zu laufen. Eventuell hilft der Patch aber auch bei weitere Spielen und Anwendungen. Bei der Shareware-Version von Jazz Rabbit 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, dass ist das Patchen nicht geglückt.

tppatch.zip (10 kB)


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