Virtual System besteht aus einer System-Boot-Disk und im Bedarfsfalle weiteren Disketten, auf denen sich zusätzliche Programme befinden können. Eine Erweiterung bzw. Anpassung des Systems z.B. als Netzwerkbootdisk ist problemlos möglich. Das System ist so konstruiert, daß es mit den meisten handelsüblichen CD-ROM-Laufwerken zusammenarbeitet und zum Betrieb nach dem Booten weder die Bootdiskette noch die Festplatte benötigt. Aufgrund der am Ende des Alphabetes angeordneten Laufwerksbuchstaben ist auch ein einheitliches Design unabhängig von der Anzahl der im System befindlichen Festplatten gewährleistet. Das System erkennt alle Festplatten, die vom BIOS unterstützt werden.
Das System arbeitet komplett innerhalb einer RAM-Disk, welche auf den Buchstaben V: (Virtual!) festgelegt und standardmäßig 16MB groß ist. Die CD-Laufwerke beginnen bei X:, so daß die 3 sinnvoll möglichen Laufwerke am IDE-BUS bis Z: Platz haben. Die Dateien für die RAM-Disk befinden sich in einer komprimierten Datei auf der Diskette, die ins Ramdrive kopiert und dort entpackt wird, was die Ladezeit reduziert. Beim Starten kann in einem Bootmenü zwischen verschiedenen Konfigurationen ohne und mit CD-ROM sowie dem (für Notfälle immernoch praktisch) Interlink gewählt werden. Für Bootsysteme mit Netzwerk entfällt diese Auswahl praktischerweise.
Im ersten Schritt sollte ein Verzeichnis angelegt werden, in dem die Verzeichnisstruktur des künftigen virtuellen Laufwerkes (V:) aufgebaut wird. Hier hinein werden zunächst die benötigten Dateien kopiert. Die Struktur der letzten Version unter MS-DOS 6.22 sieht folgendermaßen aus (die gekennzeichneten Dateien befinden sich im Downloadbereich):
Hauptverzeichnis (Root von V):
START.BAT, DOS\, UTI\
DOS\
ATTRIB.EXE, BOOT.COM, COMMAND.COM, DEBUG.EXE, DELTREE.EXE, DISKCOPY.COM, DOSKEY.COM, FDISK.EXE, FORMAT.COM, INT19EXE.COM, INTERLNK.EXE, INTERSVR.EXE, KEYB.COM, KEYBOARD.SYS, LOAD.BAT, MEM.EXE, MEMDIR.COM, MORE.COM, MOUSE.COM, MOVE.EXE, MSCDEX.EXE, MSD.EXE, SMARTDRV.EXE, SYS.COM, UNFORMAT.COM, UNLOAD.BAT, XCOPY.EXE, XD.COM
UTI\
ED.EXE, OUT.EXE, KILLPART.CO_
Diese Dateien sind mit RAR in ein SFX-Archiv zu verpacken. Das entstandene Archiv ist nun nach SYSTEM.VSM umzubenennen. Im nächsten Schritt wird eine bootfähige Diskette benötigt (format a: /s). Die Datei DRVSPACE.BIN kann gelöscht werden, falls nicht benötigt. Auf der Diskette ist nun die folgende Struktur zu erstellen:
Hauptverzeichnis (Root von A):
AUTOEXEC.BAT, COMMAND.COM, CONFIG.SYS, (DRVSPACE.BIN), IO.SYS, MSDOS.SYS, SYSTEM.VSM, VERSION, CD_ROM\, DOS\
CD_ROM\
ASPI8DOS.SYS, ASPICD.SYS, MTMCDAI.SYS, TEAC_CDI.SYS
DOS\
EMM386.EXE, HIMEM.SYS, INTERLNK.EXE, XMSDSK.EXE
Damit ist zunächst einmal die Bootdiskette erstellt. Für Windows 95b bzw. Windows 98 wird analog vorgegangen, jedoch ist noch die Datei MSDOS.SYSnötig, die sich ebenfalls im Download befindet.
Zum Erweitern des Systems steht nun der im Folgenden beschriebene Lademechanismus zur Verfügung. Dieser wird über den Befehl LOAD ausgelöst und kann Programme nachladen, die sich auf einer oder mehreren zusätzlichen Disketten befinden. Im letzteren Fall ist die erste Diskette zuletzt einzulegen. Das letztgeladene Programm läßt sich mit UNLOAD wieder entfernen. Zusätzliche Programme (wie z.B. Virenscanner, Diskeditoren usw.) werden wie folgt präpariert.
Zuerst werden alle benötigten Dateien in ein Verzeichnis kopiert. Wenn das erledigt ist, wird mit Hilfe von RAR der gesamte Verzeichnisinhalt in ein SFX-Archiv gepackt und danach in NAME.VSM (NAME steht für das Programm) umbenannt. Nun kann diese auf eine Diskette kopiert und nach dem Einlegen dieser (die Bootdiskette kann ja nach dem Start ungestraft entfernt werden) mit LOAD NAME das Programm geladen werden. Dieses befindet sich dann in einem eigenen Unterverzeichnis NAME\ welches im PATH eingefügt ist. So kann dann direkt das Programm per Aufruf gestartet werden.
Bei Packeten, die größer als eine Diskette sind, kann ein Multivolume-SFX erzeugt werden und die .EXE-Datei in NAME.VSV benannt werden. Die Dateien sind dann auf mehrere Disketten verteilt zu kopieren. Die erste Diskette mit der .VSV-Datei muß beim Laden als letzte eingelegt werden.
Zusätzliche CD-ROM- oder SCSI-Treiber lassen sich wie folgt einbinden. Als erstes wird der Treiber in das Verzeichnis A:\CD_ROM\ kopiert. Nun kann er an folgender Stelle in der CONFIG.SYS eingetragen werden:
[USER]
rem replace USER with your drivername ...
rem devicehigh=a:\cd_rom\user.sys /D:CDROM001
rem
Außerdem ist dieser Eintrag in der Sektion [MENU] anzupassen (rem weg und Userdefined CD anpassen):
rem menuitem=USER,Userdefined CD
Nun steht ein zusätzlicher Menüpunkt für ein weiteres Gerät zur Verfügung. Sollte der Platz auf der Diskette eng werden, so können nicht benötigte Treiber entfernt werden.
Für die Nutzung als Netzwerkbootdiskette kommt eine etwas veränderte Struktur zum Einsatz. Aus Platzgründen und weil es kaum Sinn machen würde, habe ich hier auf das Startmenü und die CD-ROM-Unterstützung bewußt verzichtet. Das folgende Beispiel zeigt die Konfigurationen für die Linksys 10/100 PCMCIA (LE100) - auch als Skyport oder D-Link im Handel - für TCP/IP. Für andere Karten müssen die Einträge entsprechend geändert und die Treiber ausgetauscht werden. Die Datei LANEN.EXE ist ein herstellerspezifischer Portenabler, der bei PCI- oder ISA-Karten nicht vorhanden ist. Die Dateien der eigentlichen Clientsoftware bekommt man z.B. von der NT4.0-Server-CD.
Im Folgenden ist die Datenstruktur der Ramdisk und der Diskette abgebildet. Um auch mit FAT32 kompatibel zu sein, wird hier praktischerweise Windows 95b als System verwendet.
Hauptbverzeichnis (Root von A):
AUTOEXEC.BAT, COMMAND.COM, CONFIG.SYS, IO.SYS, MSDOS.SYS, SYSTEM.VSM, VERSION, DOS\, NET\
DOS\
EMM386.EXE, HIMEM.SYS, XMSDSK.EXE
NET\
DHCP.PRM, IFSHLP.SYS, LANEN.EXE, LE100.DOS, NEMM.DOS, PROTMAN.DOS, PROTMAN.EXE, PROTOCOL.INI, SYSTEM.INI, TCPDRV.DOS, TCPUTILS.INI
Hauptverzeichnis (Root von V):
START.BAT, DOS\, NET\, UTI\
DOS\
ATTRIB.EXE, BOOT.COM, COMMAND.COM, DELTREE.EXE, DOSKEY.COM, FDISK.EXE, FORMAT.COM, KEYB.COM, KEYBOARD.SYS, LOAD.BAT, MEM.EXE, MEMDIR.COM, MORE.COM, MOUSE.COM, SMARTDRV.EXE, SUBST.EXE, SYS.COM, UNLOAD.BAT, XCOPY.EXE, XCOPY32.EXE, XD.COM
NET\
ADDNAME.EXE, CONNECT.DAT, EMSBFR.EXE, HOSTS, LMHOSTS, NET.EXE, NET.MSG, NETBIND.COM, NETH.MSG, NETWORKS, NMTSR.EXE, PING.EXE, PROTMAN.EXE, PROTOCOL, SERVICES, SHARES.PWL, SOCKETS.EXE, STARTNET.BAT, STOPNET.BAT, TCPTSR.EXE, TINYRFC.EXE, UMB.COM, WFWSYS.CFG
Als Anpassung an die jeweiligen Netzwerverhältnisse sind die folgenden Modifikationen möglich:
In die AUTOEXEC.BAT können nun noch eigene Anpassungen gemacht werden, wie Laufwerksmappings etc. Viel Erfolg beim Probieren!
Neben den bekannten DOS-Tools und Netzwerkprogrammen, die ich hier nicht erklären will, sind in dem Package noch einige Programme enthalten, die der Erklärung bedürfen. Im Anschluß sind alle Programme aufgelistet, die entweder speziell für VSystem entwickelt wurden oder zumindest nicht zum Allgemeingut gehören.
BOOT.COM
Startet OS neu. Parameter: w (warm) oder r (reset)
DSKIMAGE.EXE
Tool zum Anlegen von Diskettenimages auf Festplatte. Steuerung durch DREAD.BAT und DWRITE.BAT.
DREAD.BAT
Wird gemeinsam mit DSKIMAGE und DWRITE in ein Verzeichnis kopiert, auf welches der PATH (Suchpfad) verweist. DREAD NAME liest eine Diskette von A: und erzeugt ein bootfähiges Image namens NAME.IMG im aktuellen Verzeichnis. Funktioniert auch unter DOS!
DWRITE.BAT
Gegenstück zu DREAD. Schreibt vorhandenes Image auf Diskette (bootfähig!)
Ist ein kompakter und leistungsfähiger Editor, der anstelle von EDIT.COM und QBASIC.EXE aus MS-DOS verwendet wird. Die Bedienung ist analog zur Borland-IDE unter DOS und damit recht komfortabel. Wird ein Nortoncommander eingesetzt, kann dieser statt NCEDIT.EXE eingesetzt werden.
INT19EXE.COM
Löst einen Interrupt 19 aus. Diese (etwas betagte) Funktion funktioniert nur bei MS-DOS und nicht auf allen Hardwareplattformen. Ziel ist es, das System neu zu starten, ohne einen RESET oder Warmstart auszulösen. Wenn es funktioniert, erscheint bei eingelegter Bootdiskette sofort die Meldung "Starte MS-DOS ...". Anderenfalls Wirung wie bei BOOT.COM.
KILLPART.COM
Dieses Programm löscht ohne Rückfrage oder Interventionsmöglichkeit die Partitiontable der ersten Festplatte im System. Ein Recovery ist mir nur bei DOS-Partitionen mit Norton Disk Doctor gelungen. Damit ein versehentlicher Doppelklick kein Fiasko auslöst, ist die Datei in KILLPART.CO_ umbenannt worden. Wer sie braucht, vor Gebrauch umbenennen!
LOAD.BAT
Der Ladebatch für weitere Programme. Mit LOAD PROGRAM wird standardmäßig die Datei PROGRAM.VSM von Diskette A: geladen, entpackt und aktiviert. Weitere Optionen sind mit LOAD /? ersichtlich. LOAD funktioniert auch zur Entwicklung unter Windows NT und höher.
MEMDIR.COM
Liefert als Rückgabewert "XD Akt.Laufwerk:\Akt.Pfad" also z.B "XD V:\UTI". Dies kann im Zusammenspiel mit XD (wird unten erklärt) wie PUSHD und POPD verwendet werden, um nach Beenden eines Programmes zum Ausgangspfad zurückzukehren. Wird vom Ladebatch verwendet.
OUT.EXE
Ehemals zum Testen von Druckern gedacht, bietet dieses Tool verschiedenste Möglichkeiten der variablen Ausgabe von Zeichen und Dateien an verschiedene Geräte und Dateien. So kann mit OUT -LPT1: #27 ein ESC-Zeichen an den Drucker gesendet werden. OUT öffnet jedes File im Appendmodus und kann so zum Anhängen von Informationen an Dateien verwendet werden und vieles mehr. Eine Hilfe liefert OUT -?.
UNLOAD.BAT
Entlädt das letzte mit LOAD geladene Modul.
XD.COM
Wechselt gleichzeitig das Laufwerk, legt nicht vorhandene Verzeichnisbäume an und wechselt hinein. der Aufruf von "XD V:\TEST\TEST1\TEST2" wechselt zunächst nach V:, legt falls nicht vorhanden die Verzeichnisstruktur TEST\TEST1\TEST2 an und wechselt nach TEST2. Praktisch in der Bachtprogrammierung und funktioniert selbst am Kommandoprompt von W2K. Wird von MEMDIR und daher auch von LOAD benötigt.
Eine sehr flexible RAM-Disk für DOS. Funktioniert bis Windows 98 auch unter GUI.
Alle oben genannten TOOLS sowie die freien Teile der Bootsysteme befinden sich auf der Downloadpage .
© Copyright by Ralf Wöhlert