Netzwerk unter DOS

Mit der wachsenden Popularität von Netzwerken – jetzt auch im Heimbereich – und sinkenden Preisen für Netzwerkhardware kommt immer öfter der Wunsch auf, auch ältere Rechner in vorhandene Netzwerke einzubinden.

Übersicht aller DOS Befehle: DOS-Index

MS-DOS

 

Da für diese Rechner oft kein moderneres Betriebssystem als DOS in Frage kommt, und dieses Betriebssystem für viele Anwendungen auch heute noch ausreicht, möchte man es nur wegen der fehlenden Netzwerkfunktionen nicht ersetzen.
Es gibt auch für DOS Möglichkeiten, Netzwerkfunktionen und sogar das Internet zu nutzen.

Der folgende Text soll beschreiben, wie man ein TCP/IP-Netzwerk unter DOS einrichtet.

1. Benötigte Software
2. Die Installation
2.1. Speicher optimieren, erster Teil
2.2. Der MS-Client
2.3. Speicher optimieren, zweiter Teil
3.1. Freigaben oder DOS als Server
3.2. Netzwerkfunktionen nutzen
4.1. Probleme mit der DOS-Version
4.2. Die grafische Windows-Oberfläche
4.3. Auswahl verschiedener Konfigurationsmöglichkeiten
4.3.1. Starten von MS-DOS 6.x
4.3.2. Programm für den MS-DOS-Modus konfigurieren
4.3.3. DOS-Startmenü
5. Eine Beispiel-OEMSETUP.INF

*Um ein Netzwerk einzurichten wird natürlich eine Netzwerkkarte auf dem Rechner vorausgesetzt. Manche Rechner haben eine onboard Netzwerkkarte. Diese ist völlig ausreichend*

1. Benötigte Software

Da DOS selbst keine Netzwerkfunktionalität bereitstellt, muß diese mittels externer Software nachgerüstet werden. Microsoft hat zu diesem Zweck das »MS Workgroup Addon« für MS-DOS geschaffen, das auch unter der Bezeichnung »MS- Client« bekannt ist und eine Version des MS-Lanmanagers darstellt.

Man bekommt diese Software unter ftp://ftp.microsoft.com/bussys/Clients/MSCLIENT/ als selbstentpackende Archive.

DSK3-1.EXE und
DSK3-2.EXE.

Diese beiden Dateien sind in zwei getrennte Verzeichnisse (Beispiel C:\MSCLIENT\DISK1 und C:\MSCLIENT\DISK2) zu entpacken.

Weiterhin wird die Datei NNET.EXE aus dem Verzeichnis ftp://ftp.microsoft.com/Softlib/MSLFILES/ bzw. WG1049.EXE aus dem Verzeichnis ftp://ftp.microsoft.com/Softlib/MSLFILES/ benötigt, wenn man auf dem DOS-Rechner Netzlaufwerke freigeben will.

Sollten mit NNET.EXE Probleme beim Drucken auftreten, sollte stattdessen WG1049.EXE verwendet werden.

Da die TCP/IP-Unterstützung sehr viel Speicher benötigt (größter Treiber über 78 kB) empfieht es sich noch, einige Tools zur Einsparung von konventionellem Speicher einzusetzen und für alle unter DOS benötigten Geräte die Treiber mit dem geringsten Speicherverbrauch einzusetzen.

Wer für die Verbindung zu dem DOS-Rechner nicht unbedingt TCP/IP benötigt, sollte stattdessen das »IPX/SPX compatible protocol« ausprobieren, das vom Installationsprogramm standardmäßig vorgeschlagen wird. Die Unterstützung für dieses Protokoll benötigt deutlich weniger Arbeitsspeicher und Konfigurationsaufwand.

Im einzelnen probierte ich folgende Tools zur Speicheroptimierung aus:

DOSMAX und SHELLMAX von P.Gardner (beispielsweise als ftp://ftp.uni-heidelberg.de/pub/simtelnet/msdos/sysutl/dosmax21.zip,
MEMSTRAT,
die TSR Utilities 3.5 und
LOADSYS.EXE.

Weiterhin setzte ich folgende Treiber mit minimalem Speicherverbrauch ein:

CTMOUSE.COM (Archiv CTMOUS16.ZIP) Aktuelle Versionen dieses Treibers findet man unter http://www.freedos.org/.
Eine Alternative ist dieser Maustreiber.
GERKEYB (Archiv GERKEYB von Sebastian Schuberth),
Als Alternative hier ein nur 400 Byte großer Tastaturtreiber.
CDROM.SYS (Archiv CDROM.ZIP)

2. Die Installation
2.1. Speicher optimieren, erster Teil

Zunächst schafft man sich also ein Maximum an freiem DOS-Speicher durch Einsatz speichersparender Treiber oder Weglassen von nicht benötigten Treibern. Treiber für CD-ROM-Laufwerke sind für ihren Speicherhunger bekannt, hinzu kommen dann immer noch mal reichlich 20 kB für MSCDEX.EXE, so daß man sich überlegen sollte, die CD-Treiber nicht zu laden, wenn man das Netzwerk nutzen will.

Eine platzsparende Alternative zu MSCDEX.EXE bietet das schon erwähnte FreeDOS-Projekt (http://www.freedos.org/).

Die Auswahl der Konfigurationen kann über ein in der CONFIG.SYS einzurichtendes Startmenü vorgenommen werden.Um den Speicher für das Hochladen von Treibern verwenden zu können, benötigt man EMM386.EXE oder einen vergleichbaren Speichermanager wie QEMM von Quarterdeck oder 386MAX.

Mit dem DOS-Tool MSD.EXE kann man sich den freien Speicher anzeigen lassen (Menüpunkt „Memory“), alles, was schwarz dargestellt wird, kann im allgemeinen genutzt werden. Außerdem erhält man so die Werte für den I= Parameter, mit dem EMM386.EXE in der CONFIG.SYS aufgerufen wird.

MSD, Menüpunkt Memory

Allerdings muß man hierfür etwas rechnen. Ein Kästchen in der Anzeige von MSD entspricht 1024 Bytes; eine Reihe sind demnach 16384 Bytes oder 16 kB. Allerdings hat man bei den Adreßangaben eine Zehnerstelle weggelassen; pro Kästchen muß man also zu der links stehenden Zahl 40hex hinzuzählen. Ein Hexadezimalrechner ist an dieser Stelle recht hilfreich.

Im oben gezeigten Beispiel erhalte ich also einen freien Bereich von CD00-EFFF und von B700 bis B7FF. Ab dieser Adresse wird Speicher von der Grafikkarte eingeblendet, ein Ausdehnen des von EMM386 zu nutzenden Speichers auf Adressen im Bereich von B800-BFFF wird meist zum Absturz des Rechners, zumindest aber zu Darstellungsfehlern auf dem Bildschirm, führen. An dieser Stelle wird unter DOS ein Teil des VGA-Bildschirmspeichers eingeblendet.

Meine Zeile für die CONFIG.SYS lautet also

DEVICE=C:\DOS\EMM386.EXE NOEMS NOVCPI I=B700-B7FF I=CD00-EFFF

Wichtig ist die Großschreibung, da EMM386 sonst oft nicht richtig funktioniert. Ebenfalls sollte die Option NOEMS angegeben werden, da sonst 64 kB für den sog. „EMS-Seitenrahmen“ (Page Frame) verloren gehen. Die allermeisten Programme funktionieren mit XMS, so daß EMS abgeschaltet bleiben kann.

Als weitere Maßnahme räume ich etwas konventionellen Speicher frei, indem mit DOSMAX/SHELLMAX Teile des Systems in den „hohen Speicher“ verlagert werden:

DEVICE=C:\UT\DOSMAX\DOSMAX.EXE /c+ /p-
shell=c:\ut\dosmax\shellmax.com c:\command.com /p

und

DEVICEHIGH /L:1 =C:\WINDOWS\IFSHLP.SYS

Dieser Treiber wird bei Windows für Workgroups mitgeliefert und für den MS-Client zwingend benötigt. Er ist auch beim MS-Client enthalten.

DEVICEHIGH /L:1 =C:\DOS\KEYBGR.SYS

Ein kleiner deutscher Tastaturtreiber, der statt der über 6 kB der KEYB.COM von MS-DOS nur knapp 400 Bytes benötigt. Zu finden ist er beispielsweise hier.

Man beachte die Option /L:1 nach DEVICEHIGH, die DOS veranlaßt, diese Treiber in den ersten freien Bereich des „hohen Speichers“ zu laden (im Beispiel der Bereich zwischen B000-B7FF). Auf diese Weise kann ich mir den Bereich zwischen CD00-EFFF für die großen Brocken frei halten.
2.2. Der MS-Client

Als nächstes wird nun der MS-Client installiert. Dazu sollte man sich vorher vergewissern, daß man die DOS- oder Windows-3.11-Treiber für seine Netzwerkkarte parat hat, und sich das Verzeichnis aufschreiben, in dem sie auf der Treiberdiskette abgespeichert wurden. In diesem Verzeichnis sollte eine Datei mit Endung .DOS (der eigentliche Treiber) und eine Datei OEMSETUP.INF (Installationsinformation – siehe unten) existieren.
Für Windows 3.1 gedachte Dateien funktionieren hier ohne Probleme.
Dieses Verzeichnis muß später VON HAND eingegeben werden! Überdies ist die Bedienung des Setup-Tools sehr gewöhnungsbedürftig, so daß ich es nur dazu benutze, um die Dateien zu installieren und anzulegen. Zunächst fragt des Setup nach dem Netzwerktreiber. Nur dann, wenn man keine der aufgelisteten Netzwerkkarten installiert hat (in diesem Fenster sollte man auch einmal scrollen, um sich davon zu überzeugen), wählt man „Other (not listed)“ an und muß nun das entspechende Verzeichnis auf der Treiberdiskette manuell vorgeben. Viele Karten ohne eigene Treiber laufen auch mit „Novell/Anthem NE2000 compatible“.
Wer diesen Treiber benutzt, sollte sich nicht wundern, daß nur wenige Einstellungen für den IRQ und die I/O-Adresse vorgegeben sind. Falls die eigenen Werte nicht anwählbar sind, hilft Angeben der Voreinstellungen (z.B. IRQ 5, I/O-Adresse 300) und Eintragen der richtigen Werte in die protocol.ini:

[MS$NE2000]
IOBASE=0x320
INTERRUPT=11

nach Abschluß der Installation.

Anschließend fragt das Setup nach der „OEM Driver Disk“. Das ist nun nicht etwa noch mal die zur Netzwerkkarte mitgelieferte Diskette, sondern die zweite des MS-Clients, die man zuvor beispielsweise nach C:\MSCLIENT\DISK2 entpackt hat. Dieses Verzeichnis muß hier angegeben werden.

Nachdem alle Dateien kopiert wurden, folgt der Einstellungsdialog, der in zwei Fenster aufgeteilt ist, zwischen denen man mit wechselt. Im oberen Fenster wählt man mit den Cursortasten aus, was bearbeitet werden soll, im unteren, was gemacht werden soll („Change Configuration“).
Mit Enter wird dann der jeweilige Konfigurationsdialog gestartet. Man braucht ihn, um TCP/IP als Protokoll hinzuzufügen, einzurichten und dem Rechner einen Namen und die Arbeitsgruppe zu geben. Als Redirector wählt man „basic“ aus, das spart Speicher.
An dieser Stelle nochmals der Hinweis: Wer nicht unbedingt auf TCP/IP angewiesen ist, sollte bei zu knappem konventionellen Speicher (entsprechende Fehlermeldungen von DOS-Anwendungen) auf ein anderes Protokoll, z.B. IPX/SPX, ausweichen. Die Unterstützung für diese Protokolle benötigt deutlich weniger Speicher als die für TCP/IP. Ich habe an dieser Stelle lediglich TCP/IP hinzugefügt und den Namen vergeben; es ist leichter, die PROTOCOL.INI im Verzeichnis des MS-Clients anzupassen, als sich durch das Setup zu hangeln.
In diesem Fall muß man jedoch vermeiden, daß nach Beenden des Setup (Anwählen von „The Options are correct“) und dem folgenden Rechnerneustart die AUTOEXEC.BAT abgearbeitet wird, es sei denn, im Netz befindet sich ein DHCP-Server. Ist ein solcher vorhanden, braucht man nichts weiter zu konfigurieren. Wenn nicht, nimmt man sich die PROTOCOL.INI im Verzeichnis des MS-Clients vor, der Abschnitt [TCPIP] muß etwa folgendermaßen aussehen:

[TCPIP]
NBSessions=6
DefaultGateway0=192 168 0 1
SubNetMask0=255 255 255 0
IPAddress0=192 168 0 2
DisableDHCP=1
DriverName=TCPIP$
BINDINGS=MS$NE2000
LANABASE=0

Man beachte, daß die Adressen nicht durch Punkte, sondern durch Leerzeichen getrennt werden. An dieser Stelle läßt sich die IP-Adresse auch ohne größeren Aufwand schnell ändern.

Konnte der TCP/IP-Stack erfolgreich geladen werden, stehen jetzt die üblichen Netzwerkfunktionen zur Verfügung, die man sich am besten mit

NET HELP | MORE; detailliertere Hilfe mit NET (Befehl) ? zum jeweiligen Befehl

ansieht. Mit

NET VIEW

sollten sich beispielsweise die Freigaben der anderen Rechner im Netz anzeigen lassen.
2.3. Speicher optimieren, zweiter Teil

Wenn man mit geladenem TCP/IP den freien Speicher mit

MEM/C/P

anzeigen läßt, bekommt man meist erst mal einen Schreck.
Weniger als 500 kB frei!
Was für Programme laufen denn da noch?
Nicht mehr viele.

Glücklicherweise kann man das Ganze noch etwas optimieren, indem man viele der Treiber hochlädt.
Um den MS-Client nur bei Bedarf laden und auch wieder entladen zu können, lagerte ich die vom Installationsprogramm erstellten Einträge in eine separate Datei namens NETSTART.BAT aus:

@echo off
REM *** Informationen fuer Entladen des Clients speichern ***
C:\TSR\MARKNET.EXE /Q C:\TSR\SYSTEM.MRK
REM *** DOS-TCP/IP-Stack laden ***
LH /L:2 C:\NET\NET INITIALIZE
C:\NET\netbind.com
LH /L:1 C:\NET\umb.com
LH /L:2 C:\NET\tcptsr.exe
LH C:\NET\tinyrfc.exe
LH C:\NET\nmtsr.exe
C:\NET\emsbfr.exe

Man beachte wiederum die Aufteilung auf die beiden Speicherbereiche; einige der Treiber suchen sich selbst ihr Plätzchen und bedürfen keiner Sonderbehandlung. Gleiches trifft auf den Maustreiber CTMOUSE.COM zu, bei dessen Aufruf sogar das „LH“ weggelassen werden kann.
Mit Speichermanagern wie 386MAX oder QEMM dürfte dieses Problem leichter in den Griff zu bekommen sein.
NEU: Da mitunter der größte Treiber TCPTSR.EXE trotz ausreichend freien hohen Speichers im konventionellen Speicher Platz wegnimmt, habe ich mit einigen Utilities experimentiert und bin letztlich zu dem Ergebnis gekommen, daß man sowohl UMB.COM als auch EMSBFR.EXE weglassen kann.
Die NETSTART.BAT ändert sich also wie folgt:

@echo off
REM *** Informationen fuer Entladen des Clients speichern ***
C:\TSR\MARKNET.EXE /Q C:\TSR\SYSTEM.MRK
REM *** DOS-TCP/IP-Stack laden ***
LH /L:2 C:\NET\NET INIT
C:\NET\netbind.com
LH /L:2 C:\NET\tcptsr.exe
LH C:\NET\tinyrfc.exe
LH C:\NET\nmtsr.exe

Bisher ergaben sich mit dieser Konfiguration keine Probleme.
3.1. Freigaben oder DOS als Server

Wenn man auf dem DOS-Rechner Laufwerke, Verzeichnisse oder Drucker freigeben will, benötigt man die schon weiter oben erwähnten Dateien NNET.EXE oder WG1049.EXE Diese enthalten eine aktualisierte Version von NET.EXE. Man entpackt NNET.EXE in das Verzeichnis, in das der MS-Client installiert wurde und überschreibt damit die Originalversion von NET.EXE und NET.MSG. Falls es es Probleme mit dem Drucken im Netz gibt, sollte man statt NNET.EXE WG1049.EXE einsetzen.

Als nächstes ist die SYSTEM.INI zu editieren:

FileSharing=Yes
PrintSharing=Yes

Mit dem Programm NETSHARE aus dem Archiv NETSHAR.EXE, das problemlos ins Verzeichnis des Clients (z.B. C:\NET) entpackt werden kann, lassen sich nun die Freigaben einrichten; schaltet hierzu zwischen den einzelnen Eingabefeldern um.

Selbstverständlich lassen sich die Freigaben auch innerhalb von Batchdateien oder auf der Kommandozeile einrichten; hierfür steht der Befehl

net share

zur Verfügung. Mit

net share DOSC=c:\user

gibt man dann beispielsweise das Verzeichnis C:\user mit Vollzugriff frei, es wird im Netz unter DOSC sichtbar. Andere Rechner können dann beispielsweise mit

net use g: \\dos-rechner\dosc

darauf zugreifen.

Die Freigaben lassen sich mit

net share freigabe /delete /yes

auch wieder aufheben.
3.2. Netzwerkfunktionen nutzen

Dazu steht folgendes in der AUTOEXEC.BAT oder (wie bei mir) der separaten NETSTART.BAT:

c:\net\net.exe time \\der_kleine /set /yes > nul

Damit wird die Zeit auf dem DOS-Client mit einem anderen Rechner synchronisiert. Um Fehler durch abweichende Systemuhren zu vermeiden, sollte man dauerhaft vernetzte Rechner regelmäßig (beispielsweise einmal täglich) miteinander synchronisieren. Außerdem erfolgt dann die Sommer-/Winterzeitumstellung automatisch :) .

LH c:\DOS\SHARE.EXE > nul

Auf diese Art und Weise wird die für die Freigabe von Laufwerken auf dem DOS-Rechner unerläßliche SHARE.EXE geladen.

c:\net\net.exe share /yes

Damit werden die mit NETSHAR eingestellten Freigaben aktiviert.
Wer dieses Programm nicht benutzt, muß den Befehl entsprechend anpassen. Einrichtung von Netzwerkdruckern:

c:\net\net use lpt1: \\printserver\hpdeskjet /persistent:no /yes
c:\net\net use lpt2: \\printserver\hplaser /persistent:no /yes

Verbindung von Netzlaufwerken:

c:\net\net use f: \\der_kleine\c /persistent:no /yes
c:\net\net use g: \\der_kleine\d /persistent:no /yes
c:\net\net use h: \\schreiber\c /persistent:no /yes
c:\net\net use i: \\schreiber\d /persistent:no /yes

Wird das Netzwerk nicht mehr benötigt, kann der MS-Client komplett wieder entladen werden
Bei mir heißt diese Datei NETSTOP.BAT:

@echo off
echo Netzwerkverbindung wird getrennt…bitte warten.
c:\net\net stop /yes > nul
REM *** MS-Client aus dem Speicher entfernen ***
C:\TSR\RELNET.EXE /H /R /Q C:\TSR\SYSTEM.MRK

Die beiden Programme MARKNET und RELNET sind Bestandteil der TSR-Utilities (siehe „Tools zur Speicheroptimierung“). Das ZIP-Archiv mit den TSR-Utilities wird einfach mit

md c:\tsr
pkunzip tsrcom35.zip c:\tsr

in ein separates Verzeichnis auf der Festplatte entpackt, eine besondere Installation ist nicht notwendig. Damit kann man den MS-Client rückstandsfrei wieder aus dem Speicher entfernen, auch Windows läßt sich hernach problemlos starten. Eine Funktionsgarantie kann nicht gegeben werden; in jedem Falle sollte die nach dem Eintpacken der TSR-Utilities vorliegende Datei TSR.DOC (keine WinWord-Datei, sondern normaler ASCII-Text) gelesen werden, da sie viele nützliche Hinweise enthält.

Da Windows (getestet mit 3.11 für Workgroups) nach Beenden den Speicher leider nicht in dem Zustand verläßt, wie es ihn vorgefunden hat, funktioniert das anschließende Aufrufen des MS-Clients nicht immer. Als Abhilfe wird auch Windows über eine Batchdatei gestartet:

C:\TSR\MARKNET.EXE /Q C:\TSR\WIN.MRK
REM Falls man mal Parameter mitgeben möchte…
WIN %1 %2
C:\TSR\RELNET.EXE /H /R /Q C:\TSR\WIN.MRK

Damit ist ein problemloses Umschalten zwischen Windows und DOS, beide mit voller Netzwerkunterstützung, möglich.

ACHTUNG:
Einige Netzwerkkartentreiber setzen die Register der Netzwerkkarten nicht zurück, wenn sie auf diese Weise entladen werden. Das führt bei einem erneuten Versuch, den Client zu laden, zum »Aufhängen« des Rechners beim ersten Aufruf von NET USE…. Abhilfe: Den Rechner mit STRG+ALT+ENTF neu starten, in hartnäckigen Fällen hilft der Resetknopf oder vielleicht ein besserer Netzwerktreiber.

Überhaupt sollte man sich immer um einen aktuellen Treiber für die Netzwerkkarte bemühen. Hilfestellung geben die Downloadseiten der jeweiligen Hersteller oder Suchseiten wie http://www.drivershq.com/, http://www.treiber.de/, http://www.driverguide.com/.

Ein weiteres Beispiel für den Einsatz der TSR-Utilities findet sich auf http://www.backmagic.de/support/techtalk/preboot.htm

Viele Leute möchten TCP/IP auch unter dem bei Windows 95/98 mitgelieferten DOS nutzen. Für dieses DOS ist die Einrichtung des Clients die gleiche wie unter MS-DOS 6.22, mit einigen kleineren Besonderheiten.
4.1. Probleme mit der DOS-Version

Diese Probleme bekommt man vor allem mit SHARE.EXE. Diese Datei muß von einer älteren DOS-Version besorgt werden, da sie bei Windows 95/98 nicht mehr enthalten ist. SHARE.EXE von DOS 6.22 läuft aber nicht ohne weiteres unter DOS 7; man muß dem Programm zunächst mit

SETVER SHARE.EXE 6.22

ein DOS 6.22 vorgaukeln.
Dazu muß SETVER in der CONFIG.SYS mit

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

geladen werden. In der Windows-Standardeinstellung (DOS=AUTO) wird SETVER übrigens immer mit geladen, man sollte also testen, ob man nicht auch ohne diesen Eintrag auskommt. Die übrige Konfiguration entspricht der weiter oben beschriebenen mit der Ausnahme, daß ab Windows 95 B kein SHELLMAX mehr benötigt wird. Das Betriebssystem lädt COMMAND.COM von sich aus in den »hohen Speicher«.
4.2. Die grafische Windows-Oberfläche

Auf einen Start der grafischen Oberfläche von Windows 95/98 sollte nach dem Laden des MS-Clients möglichst verzichtet werden, da der Client sich nicht mit der Windows-eigenen Netzwerkunterstützung verträgt. Auch die für den Client notwendigen Maßnahmen zur Speicheroptimierung sind für Windows 95/98 nicht notwendig oder sogar gefährlich. Empfehlenswert ist deshalb also immer ein Neustart des Rechners vor dem Laden der Windows-Oberfläche.
Als Alternative zu dem zeitraubenden Neustart bietet sich die weiter oben beschriebene Verwendung der Tools MARKNET und RELNET an, die auf den meisten Systemen in der Lage sein sollten, den Client vollständig zu entladen.
4.3. Auswahl verschiedener Konfigurationsmöglichkeiten

Wer beim Start des Rechners die Auswahl zwischen verschiedenen Konfigurationen haben möchte (mit/ohne Netzwerk) hat unter Windows 95/98 verschiedene Möglichkeiten der Realisierung:
4.3.1. Starten von MS-DOS 6.x

Dazu schreibt man in die C:\MSDOS.SYS nach Aufhebung ihres Schreibschutzes unter

[Options]

BootMenu=1
BootMulti=1

und kopiert vom alten DOS die Dateien IO.SYS, MSDOS.SYS und COMMAND.COM nach C:\, wichtig ist aber, die Endungen der Dateien auf .DOS zu ändern.

Beispiel:

copy A:\COMMAND.COM C:\COMMAND.DOS

Jetzt kann man in einem Startmenü „Vorherige MS-DOS-Version“ wählen und nach dem Starten von DOS auch eine CONFIG.SYS und AUTOEXEC.BAT erstellen, die Windows-Dateien werden dabei nicht überschrieben.

Vorsicht Bug! Manche Windows95-Versionen benötigen hierfür einen Patch, sonst läßt sich der Rechner nach einem DOS-Start nicht mehr neu booten.
Zu finden beispielsweise bei http://win95.winware.org.
Den Bug kann man umgehen, indem man die DOS-Dateien weiter umbenennt:

copy A:\IO.SYS C:\IBMBIO.COM
copy A:\MSDOS.SYS C:\IBMDOS.COM

Die akzeptiert W95 problemlos als „alte DOS-Version“.
4.3.2. Programm für den MS-DOS-Modus konfigurieren

Alternativ kann man auch unter Windows 95 eine Verknüpfung zu einem DOS- Programm anlegen, es für den DOS-Modus konfigurieren („Eigenschaften“ des Programms; rechte Maustaste, dort Registerkarte Erweitert) und ihm seine eigene CONFIG.SYS und AUTOEXEC.BAT geben.
Beim Start über eine solche Verknüpfung fährt Windows herunter, startet mit der neuen CONFIG.SYS und AUTOEXEC.BAT, lädt das DOS-Programm und startet sich nach dessen Ende wieder neu.
4.3.3. DOS-Startmenü

Wie unter MS-DOS 6.22 läßt sich auch unter Windows 95/98 ein Startmenü in der CONFIG.SYS anlegen, um den Rechner mit verschiedenen Konfigurationen zu starten. Dazu editiert man die Datei C:\MSDOS.SYS, deren Schreibschutz man vorher aufgehoben hat, und fügt unter [Options] folgendes ein:

BootGui=0

In der CONFIG.SYS steht dann beispielsweise:

[Menu]

Menuitem=Normal, Normal
Menuitem=Netz, Netz
Menudefault=Normal, 10

[Normal]

[Netz]
DEVICE=C:\WINDOWS\HIMEM.SYS /testmem:off
DEVICE=C:\DOS\EMM386.EXE NOEMS NOVCPI I=B000-B7FF I=C800-F7FF
INSTALL=c:\ut\memstrat\memstrat.exe 4
DEVICE=C:\UT\DOSMAX\DOSMAX.EXE /c+ /p-
DEVICE=C:\WINDOWS\SMARTDRV.EXE /DOUBLE_BUFFER
DEVICEHIGH /L:1 =C:\WINDOWS\IFSHLP.SYS
DEVICEHIGH /L:1 =C:\DOS\KEYBGR.SYS
shell=c:\ut\dosmax\shellmax.com c:\command.com /p
SET PATH=C:\WINDOWS;c:\;c:\windows\system;C:\NET;C:\DOS;C:\UT Nächste Zeile an diese anfügen!
C:\XL;c:\ultraedt;c:\inet\netscape\program

[Common]
buffers=30,0
FILES=40
stacks=9,256
DOS=HIGH,UMB
LASTDRIVE=Z
FCBS=4,0

In der AUTOEXEC.BAT steht zum Beispiel:

@ECHO OFF
goto %CONFIG%
:Netz
REM *** DOS-TCP/IP-Stack laden ***
LH /L:2 C:\NET\NET INITIALIZE
C:\NET\netbind.com
LH /L:1 C:\NET\umb.com
LH /L:2 C:\NET\tcptsr.exe
LH C:\NET\tinyrfc.exe
LH C:\NET\nmtsr.exe
C:\NET\emsbfr.exe
C:\NET\net start
c:\mouse\ctmouse /r55
c:\ut\memstrat\memstrat 1
goto end
:Normal
win
:end

Eine ähnliche Konfiguration mit dem MS-Client unter DOS 6.22 läuft hier nun schon seit vielen Monaten ohne Störungen.

Als wesentliche Nachteile sind neben den Speicherproblemen unter DOS vor allem vergleichsweise geringe Performance bei Dateitransfers und dem Drucken ins Netzwerk zu nennen.
5. Eine Beispiel-OEMSETUP.INF

Auf vielen moderneren Netzwerktreiber-Disketten findet man zwar noch den DOS-Netzwerkkartentreiber (eine Datei mit Endung .DOS), allerdings fehlt dann die passende OEMSETUP.INF, damit dieser Treiber vom Setup des MS-Clients gefunden werden kann.

Da sich die betreffenden Dateien sehr ähneln, kann man eine OEMSETUP.INF einer anderen Netzwerkkarte entsprechend anpassen, zum Beispiel diese hier:

;; DOS-Netzwerkclient
;; OEMSETUP.INF für SURECOM EP-312V Ethernet Adapter

[disks]
; Das ist die Bezeichnung der Diskette, frei wählbar
1=.,“SURECOM EP-312V Ethernet Adapter WFW Driver Disk“, disk1

[netcard]
; key = description, MSID, type, media, mode, install, protini, style
EP312=“SURECOM EP-312V Ethernet Adapter“,0,ndis,ethernet,0x07,EP312,EP312_nif

[EP312]
;Auf diesen Dateinamen kommt es an, ggfs. entsprechend ersetzen!
ndis2=1:EP312.dos

[EP312_nif]
;Die im Setup anwählbaren Einstellungen für die Kartev
DriverName=EP312$
io=IOBASE,,text,“0x240,0x280,0x2C0,0x300,0x320,0x340,0x360″,0x300
irq=INTERRUPT,,text,“3,4,5,9,10,11,12,15″,5
param=PNPID,“PNPID (0=First PNP adapter found)“,chars,14,0
param=EARLYRECEIVE,“Early Receive (0=Disable,1=Enable)“,text,“0,1″,“0″
param=EARLYTRANSMIT,“Early Transmit (0=Disable,1=Enable)“,text,“0,1″,“0″
param=FULLDUPLEX,“Full Duplex (0=Disable,1=Enable)“,text,“0,1″,“0″

Autor: Gerd Röthig