niggo55
Goto Top

DOS EMM386.EXE

Erstmal Hallo,
war zwar schon öfters auf dem Forum hier unterwegs aber bisher, konnte ich mir mit schon erstellten Topics weiterhelfen.
Danke schon mal dafür. face-smile

So und nun zu meinem Problem
Ich habe einen älteren Rechner virtualisiert auf dem Windows NT4.0+MS-DOS 6.2 läuft.
Allerdings habe ich Probleme wenn ich MS-Dos Starten will.
Und zwar er lädt die "himem.sys" und anschließend will er "EMM386.Exe" laden.
Beim laden der EMM386.EXE meldet das Programm immer eine Fehlermeldung namens:"Nicht behebarer Fehler bei priviligierter Operation: #00 -"

Ich habe die Himem.sys und die EMM386.EXE schon durch eine neuere Version von WIN 95 aktualisiert, allerdings auch ohne Erfolg.

Ich weiß nicht mehr weiter. (Okay, meine Dos Kenntnisse sind auch nicht sonderlich gut.)

Vielen Dank im vorraus.

Gruß
Nico

Content-ID: 168896

Url: https://administrator.de/forum/dos-emm386-exe-168896.html

Ausgedruckt am: 24.12.2024 um 18:12 Uhr

Friemler
Friemler 30.06.2011 um 10:59:43 Uhr
Goto Top
Hallo Nico,

nur nochmal zum klarstellen: Du hast eine VM (welche?) mit einem Dualboot-System, einmal DOS 6.2 und außerdem Windows NT 4.0. Richtig?

Welche Parameter übergibst Du an HIMEM.sys und EMM386.exe?

Gruß
Friemler
Nagus
Nagus 30.06.2011 um 11:02:58 Uhr
Goto Top
Moin,
dann wäre es gut wenn Du mal die config.sys und die autoexec.bat hier rein stellst.

Soweit ich mich aber erinnere war mit DOS6.22 EMM386.exe gar nicht mehr zwingend notwendig, weil HIMEM.SYS schon verbessert war. Allerdings ist das schon soooo lange her und ich habe so viel experimentiert, dass es auch gut sein kann das ich ganz andere Tools dafür am laufen hatte ...
DRDOS, NORTON Utilies 8, ... ach das waren noch Zeiten .... face-big-smile

Poste mal die Inhalte der beiden Dateien, dann kommt bestimmt wieder die Erinnerung face-smile

PS: und friemler war schneller ...
Niggo55
Niggo55 30.06.2011 um 11:07:05 Uhr
Goto Top
Hallo Friemel,

es handelt sich um VMware Player.
Die VM wurde erstellt mit VMware Converter.

Ja, einmal Dos 6.2 und einmal NT4.0


Auszug aus der Config.sys

DEVICEHIGH=C:\DOS\HIMEM.SYS
DEVICEHIGH=C:\EMM386.EXE HIGHSCAN X=D400-D7FF NOEMS
BUFFERS=40
FILES=90
DOS=HIGH,UMB
LASTDRIVE=Z
DEVICEHIGH=C:\DOS\ANSI.SYS
SHELL=C:\COMMAND.COM /P/E:1024
COUNTRY=049,850,C:\DOS\COUNTRY.SYS
STACKS=9,256

AUTOEXEC.BAT

rem ---------------------- MTM ATAPI CD-ROM ----------------------
lh C:\DOS\MSCDEX.EXE /D:MTMIDE01 /M:10 /L:R
rem ---------------------- MTM ATAPI CD-ROM ----------------------

lh C:\UTL\LMS\CLOAKING.EXE
lh C:\UTL\LMS\MOUSE.EXE
LH C:\DOS\SMARTDRV.EXE /x
PROMPT $p$g
PATH C:\DOS;C:\WIN;C:\UTL;C:\TCP;C:\UTL\LMS;C:\BEN;C:\NC;
SET TEMP=C:\TMP
SET USER=ef
SET KUK=2
SET PC=245
SET DIRCMD=/ON/P
rem C:\utl\targa\vmode 72M
rem C:\utl\targa\vmode 72Hz
LH KEYB GR,,C:\DOS\KEYBOARD.SYS
LH doskey
REM Einstellungen fr Grafikkarte und Grafiktablett
REM R.Rittiger 24.09.96
SET MIROPATH=C:\UTL\MIRO
SET GTI=C:\UTL\MIRO\DRIVERS\CAD
rem lh c:\utl\summa\tabltdvr\tablet /2
SET SPIRIT=D:\ST\SPIRIT
SET STATION=SPIRIT
SET DWGNAME=_SPIRIT_
SET QAVA=D:\ST\SPIRIT\QAVA53\
SET COBSW=-f +k3 +k4 +p
SET DOS4GVM=@D:\ST\SPIRIT\DOS4GW.VMC
SET DOS4G=QUIET
PATH=%PATH%;D:\ST\SPIRIT\PDOXRUN\
SET METAPATH=D:\ST\SPIRIT\DRIVER\METAWIN

Gruß Nico
Friemler
Friemler 30.06.2011 um 11:12:37 Uhr
Goto Top
Moin Nagus,

die EMM386.exe in Verbindung mit HIMEM.sys war notwendig, um Zugriff auf unbenutzte UMBs (Upper Memory Blocks, im Bereich zwischen 640KB und 1MB) zu bekommen. Dafür gab es aber auch andere Tools.

@Nico:
Die Belegung der UMBs war nicht genormt. Wenn Deine VM in diesem Speicherbereich Hardwareadressen oder Bildschirmspeicher einblendet (müsste sie eigentlich, fragt sich nur wo) und Du machst diese Bereiche mit EMM386 nutzbar, können wichtige Daten überschrieben werden und zu Abstürzen/seltsamen Fehlern führen. Da hilft nur ausprobieren/diagnostizieren (z.B. mit MEM.exe).

Gruß
Friemler
Friemler
Friemler 30.06.2011 um 11:25:31 Uhr
Goto Top
Hallo Nico,

Du verwendest ja schon die Exclude-Option von EMM386 (X=D400-D7FF). Ich weiß jetzt nicht, ob Du das aufgrund irgendwelcher Erkenntnisse machst oder nur, weil es irgendwo als Beispiel stand face-wink . Aber genau das könnte Dein Problem lösen. Du könntest MSD.exe verwenden (evtl. auch den Aufruf MEM /Debug, ist schon lange her face-wink ), um belegte UMBs zu finden. Dabei den Aufruf von EMM386.exe in der Config.sys weglassen. Diese Bereiche musst Du dann mit weiteren Exclude-Parametern von der Verwendung ausschließen.

Eigentlich sollte der Parameter HIGHSCAN von EMM386 das auch können, leider funktioniert er nicht zuverlässig.

Gruß
Friemler
Niggo55
Niggo55 30.06.2011 um 11:51:44 Uhr
Goto Top
Vielen Dank für die Lösungsvorschlag.

Wir haben allerdings den Fehler gefunden.
Eine gewisse Cloacking.exe hat alles zum Absturzgebracht.(Logitech Maus-Treiber)

Trotzdem Vielen Dank
Nagus
Nagus 30.06.2011 um 14:41:20 Uhr
Goto Top
Zitat von @Friemler:
Moin Nagus,

die EMM386.exe in Verbindung mit HIMEM.sys war notwendig, um Zugriff auf unbenutzte UMBs (Upper Memory Blocks, im Bereich zwischen
640KB und 1MB) zu bekommen. Dafür gab es aber auch andere Tools.

Ja ich erinnere mich - aber war das zum schluss tatsächlich auch noch notwendig? Soweit ich mich erinnere habe ich am Ende nur noch den himem.sys geladen ...
oder war das nur auf dem Teufelszeug den Disketten so? Hmm - muss mir mal meine Disketten-Images ansehen ....bin jetzt neugierig geworden

Gruß
Nagus
Friemler
Friemler 30.06.2011 um 18:04:50 Uhr
Goto Top
Zitat von @Nagus:
aber war das zum schluss tatsächlich auch noch notwendig?

Na ja, notwendig in dem Sinne, dass man es sich unter DOS nicht leisten konnte Speicher zu verschenken. In die UMBs, wenn sie denn verfügbar waren, passten noch ein paar Treiber, die nicht in den XMS-Speicher ausgelagert werden konnten. Dadurch hatte ich (je nach System) immer noch ca. 540-590KB als maximale Programmgröße, trotz deutschem Tastaturtreiber, DOSKey, Maustreiber, XMS-RAM-Disk-Treiber, CD-ROM-Treiber, Ultra-DMA-Treiber, SmartDrive und, und, und.

In Erinnerung an die (gute?) alte Zeit face-wink
Friemler