# Win 98 auf SATA-Platte ?



## asmfreak (30. April 2008)

Ich habe Probleme, Windows 98 SE auf meinem neuen Computer zu installieren.

Ich vermute, dass es mit diesen 3 Problemen zu tun hat:

  1. Ich habe 2 GB Arbeitsspeicher
  2. Ich habe eine SATA-Festplatte
  3. Die Festplatte ist größer als 137 GB (200 GB)

Ich denke, das Problem mit dem Speicher habe ich gelöst: Nach dem ersten Neustart des Windows 98 Setups erscheint die Meldung, dass nicht genügend Speicher vorhanden ist, und genau dieses Problem ist hier beschrieben. Wenn ich einen Wert für MaxPhysPage festlege (z.B. 08000, 10000 oder 20000), indem ich über die Eingabeaufforderung EDIT.COM starte und SYSTEM.INI bearbeite, und anschließend neu starte, läuft das Setup bis zum nächsten Neustart weiter.

Dann aber bleibt der Computer einfach hängen: Nach den Meldungen von WININIT.EXE



> Die Konfigurationsdateien werden aktualisiert.
> Dieser Vorgang kann einige Minuten dauern.
> 
> 
> Dateien wurden aktualisiert. Windows wird geladen.



tut sich einfach gar nichts mehr. Ich habe noch ein paar mal neu gestartet, über Einzelbestätigung einiges weggelassen, und versucht, im abgesicherten Modus zu starten, aber er hängt sich immer wieder auf und nicht mal Strg+Alt+Enf geht mehr.

Falls es nichts mit dem Speicher zu tun hat, liegt es vielleicht an der SATA-Festplatte. Sie wird im BIOS-Setup in voller Größe angezeigt, und offensichtlich vom BIOS auch über den Real-Mode-Interrupt 13h unterstützt, denn sonst hätte ich sie wohl kaum über FDISK partitionieren können.

Nachdem der Hersteller meines Mainboards (MSI K9N6SGM, mit nVidia GeForce MCP61 Chipsatz) lapidar erklärt, das Mainboard unterstütze Windows 98 nicht, und ich auch auf der nVidia-Seite keine Treiber (für den SATA-Controller) gefunden habe, weiss ich im Moment nicht weiter. Gibt es denn nicht irgendeinen generischen Treiber für den SATA-Controller, der mit meinem Chipsatz funtioniert ?

Ansonsten könnte mir noch zwei mögliche Lösungen vorstellen:

1. Kann man nicht vielleicht den SATA-Controller über das BIOS-Setup so konfigurieren, dass er einen (parallelen) IDE-Controller emuliert, so dass Windows die Platte wie eine normale IDE-Platte ansprechen kann ? Ich glaube, ich habe irgendwo sogar gelesen, das bei manchen Mainboards geht.

2. Es gibt im Systemkonfigurationsprogramm (MSCONFIG.EXE) von Windows 98 unter "Weitere Optionen..." eine Einstellung "Kompatibilitätsmodus für Datenträgerzugriff aktivieren". Bedeutet das, dass Windows zum Zugriff auf die Festplatte den Real-Mode-Interrupt 13h verwendet ? Das wäre doch die Lösung, oder ? Die Frage ist nur, wie ich diese Einstellung auf dem neuen Computer vornehmen soll, wenn ich nicht einmal im abgesicherten Modus starten kann. Weiß jemand, in welcher Konfigurationsdatei bzw. an welcher Stelle in der Registrierung MSCONFIG diese Einstellung speichert ? Ich dachte, es wird vielleicht der Parameter 32BitDiskAccess im Abschnitt [386Enh] der Datei SYSTEM.INI gesetzt, aber das ist nicht der Fall. Ich habe den Parameter auch schon von Hand eingetragen bzw. WIN.COM mit dem Schalter /D:F gestartet (das soll angeblich die gleiche Wirkung haben), aber es hat nichts gebracht.

Oder ist das Problem vielleicht die Größe der Festplatte ? Die Partition, auf der ich Windows 98 installieren will, befindet sich innerhalb der ersten 137 GB (sogar innerhalb der ersten 64 GB), und es bestehen dahinter auch keinen weiteren Partitionen. Es gibt ja diesen  Patch für das 137 GB Problem, aber ich bin mir nicht sicher, ob der auch mit SATA-Festplatten funktioniert.

H I L F E !


----------



## merzi86 (30. April 2008)

Deine erste Lösungsmöglichkeit gibts es so.
Das machen z.b. alle Gigabyte-Mainboards, wenn man ältere BS nutzt oder bei der Installation keine Treiber hinzufügt.
Allerdings besteht dann noch das Problem wenn du 98 installiert hast brauchst du noch ein Treiber z.B. für PCIExpress und den gibts bestimmt nicht für win 98, zusätzlich für den Chipsatz.

Wieso willst du auf ein Modernen Board Win98 Se installieren?


----------



## asmfreak (30. April 2008)

PCI-Express-Karten habe ich nicht.

Wie lautet die Einstellung im BIOS-Setup mit der ich diese Emulation einschalten könnte ?

Ich arbeite jetzt einfach seit Jahren mit Windows 98 SE (und DOS 6.22), kenne mich inzwischen einigermaßen damit aus, und möchte es nicht ganz über Bord werfen. Wer weiss, ob alle Programme, die ich habe (z.B. auch Programmier-Tools für DOS) mit Windows XP oder Vista einwandfrei funktionieren. Zum Surfen, Video schauen und allem, was mit Windows 98 SE nicht vernünftig geht, werde ich auf einer anderen Partition noch Windows XP installieren (daher der große Arbeitsspeicher).


----------



## merzi86 (2. Mai 2008)

Mir fällt momentan nicht ein, wie diese Funktion heißt.
Leider finde ich sie auch bei mir nicht im BIOS.
Schau mal deine BIOS-Einstellungen durch, ob es irgendwas gibt um auf SATA ide zu emulieren.


----------



## lamp222 (3. Mai 2008)

Hallo asmfreak,
vieleicht hilft dir das etwas weiter. Das Treiberproblem wird zwar nicht gelöst aber mit dem
Ram und MaxPhysPage das haut nicht immer so hin.
---------------------------------------------------------------------------------
Ich bin zwar neu hier, aber vieleicht kann ich auch Anderen die noch Rechner mit AGP Grafikkarten haben, etwas zur Verfügung stellen.
Der Eintrag MaxPhysPage=XXXXX wird leider nicht von allen Teilen des Windows verstanden.
Deshalb hier ein Tool wo der Eintrag ganz entfallen kann.
Ausserdem kann man hier durch die Aufrufoption die Ramgröße (ohne zu Schrauben) anpassen, 
welche anschließend  Win9x zur Verfügung gestellt wird. Zwischen 128 MB bis 1020 MB mehr verträgt Win98 nicht. 
Dies kann man anschließend mit dxdiag oder Arbeitsplatz kontrollieren.
Kann warscheinlich auch für andere Win9x oder ME Versionen genutzt werden.

Ich häng hier mal ne Zip mit dran in der ist die BS_RAM9X.EXE. Diese in der autoexec aufrufen und Win98 läuft wie geschmiert.
Er sollte sogar der Eintrag MaxPhysPage=XXXXX in der SYSTEM.INI unter [386Enh] entfallen.

Am Test-PC konnte ich mit den unter Windows verfügbaren 1 GB RAM (physikalisch 2GB) dadurch sogar VGA - Treiber de- und installieren.
In der Zip ist auch ne TXT mit einer genaueren Erklärung. Die Exe hat auch ne Hilfe wenn man sie mit /? aufruft.

Gruß lamp222


----------



## asmfreak (3. Mai 2008)

Ich habe jetzt meine alte IDE-Platte zusätzlich zu der SATA-Platte in den neuen PC eingebaut, und durch Setzen von MaxPhysPage konnte ich Windows 98 SE auf der alten Platte installieren. Ich habe den Wert jetzt mal auf 3C000 gesetzt, das entspricht 960 MB (wird unter "Eigenschaften von System" korrekt angezeigt).

Das eigentliche Problem scheint also wirklich die Festplatte zu sein. Ich werde jetzt mal versuchen, ob ich mit dieser Windows-Installation im Kompatibilitätsmodus auf die SATA-Platte zugreifen kann.

@lamp222: Vielen Dank, ich werde das Tool bei Gelegenheit mal ausprobieren. Wäre nett, wenn du mir mal kurz erklären könntest, wie das technisch funktioniert, denn mit Begriffen wie EMS und XMS konnte ich noch nie etwas anfangen. Hast du das selbst programmiert ?


----------



## lamp222 (4. Mai 2008)

asmfreak hat gesagt.:


> ....
> @lamp222: Vielen Dank, ich werde das Tool bei Gelegenheit mal ausprobieren. Wäre nett, wenn du mir mal kurz erklären könntest, wie das technisch funktioniert, denn mit Begriffen wie EMS und XMS konnte ich noch nie etwas anfangen. Hast du das selbst programmiert ?



Jo hab ich selber Programmiert. Ganz kurz und allgemeinverständlich.
CPU im Real-Mod.(DOS-Start) kann nur 1MB Speicher benutzen + 64KB Sondertrick (HMA)
Um auf Ram darüber zuzugreifen zu können muss die CPU in den Protectet-Mod geschaltet werden. (Machen alle Win...) RAm > 1MB heißt also XMS (EMS ist alter Standard den keiner mehr nutzt) Da jeder anders diesen Speicher nutzte hat man sich zum Schluß auf eine Einheitliche Schnittstelle geeinigt den XMS-Standard
Im Dos macht das der Himem.SYS der schaltet die CPU hin und her und stellt Ram zur Verfügung. Da selbst das BIOS schon was davon belegt, hält Win sich auch an diesen Standard.bevor es für immer in den Protectet-Mod schaltet. Es schaut an dieser Schnittstelle nach vieviel Ram frei ist und merkt sich das wenn der alle is gehts in die Auslagerungsdatei. Nun kommt der Bug bei den physikalischen Adressen  >1GB gibts ein Problem mit Win9x
Und nun mein Trick.
Das schwierigste.daran ist die Schnittstelle dafür die Microsoft nicht publiziert.
Ich reserviere den Ram welcher an den physikalischen Adr. > 1GB liegt und sperre ihn gegen verschieben.Im Prinzip wird er für Win entfernt. bis zum nächsten booten.
MaxPhysPage hilt nur beim Start aber später gibts doch noch Probleme da nicht elle Routinen danach schauen und der Speicher ja noch frei ist.
Ich berechne.den Ram > 1GB (oder dein Parameter) und lege ihn tot. 
Keine Funktion findet ihn mehr. Da Win9x ja immer mit dieser Schnittstelle gearbeitet hat, um zu erkennen wieviel RAM zur Verfügung steht (steckt )und vom Bios nach nicht verwendet wird. Es denkt halt es steckt nicht mehr RAM drin.
Ich würde dir raten MaxPhysPage wegzunehen (;rem) sonst sind das 2 verschiedene Grenzen die kriegst du nie so genau hin. ist nämlich nicht ganz glatt die Zahl (HMA+geringfügige Reservierungen vom PC abhängig)
Hatte jahrelang auch nur MaxPhysPage als Lösung mit entspr.Problemen deswegen hab ich dann selber was programmiert.
mfg lamp222


----------

