Virtual System Seite V 2.0

Bauanleitung Virtual System (Bootsystem)

Eigenschaften

zurück

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.

Bootsystem allgemein

Voraussetzungen / das wird benötigt:

  1. MS-DOS (im Beispiel Version 6.22, funktioniert sinngemäß auch schon ab 6.0), Windows 95b (wegen FAT32) oder Windows 98 incl. der Erweiterungen OLDMSDOS.
  2. Die RAM-Disk XMSDSK, die einen vorgegebenen Laufwerksbuchstaben ermöglicht.
  3. Die etwas betagte aber für diesen Zweck ideale Komprimierungssoftware RAR für DOS.
  4. Als schlanker Editor kommt bei mir der Editor ED.EXE zum Einsatz.
  5. Einige universelle CD-ROM-Treiber bzw. nach Bedarf auch spezielle Treiber z.B. für SCSI.
  6. Einige Tools, die unten noch beschrieben und zum Download bereitgestellt werden.
  7. Einige Bachfiles, die zum Starten, Laden und Entladen von Programmen dienen.
  8. Je nach Bedarf als Ergänzung z. B. einen Norton Commander
  9. Für Netzwerkanbindung einen DOS-Client, z.B. vorhanden auf der Windows NT 4.0 Server -CD.

Und so wirds gemacht

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.

Seitenanfang

Wie man zusätzliche Programme nutzt

Einleitung

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.

Und so wirds gemacht

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.

Diverse Erweiterungen

Zusätzliche CD-ROM-Treiber

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.

Netzwerkbootdiskette

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:

  1. Netzwerktreiber werden in das Verzeichnis A:\NET kopiert und in der SYSTEM.INI und PROTOCOL.INI eingetragen.
  2. Die Domäne oder Arbeitsgruppe sowie der User- und Computername ist in der SYSTEM.INI in A:\NET veränderbar.
  3. Die TCP/IP-Konfiguration kann in der PROTOCOL.INI in A:\NET angepaßt werden.
  4. Gerade bei Notebooks kann es vorkommen, daß es Speicherplatzprobleme gibt. In diesem Fall müssen in der CONFIG.SYS die Parameter von HIMEM.SYS und EMM386.EXE modifiziert werden. Der Cachetreiber SMARTDRV.EXE wird aus diesem Grunde nicht mit LH geladen. Ein Versuch mit kann allerdings nicht schaden!

In die AUTOEXEC.BAT können nun noch eigene Anpassungen gemacht werden, wie Laufwerksmappings etc. Viel Erfolg beim Probieren!

Seitenanfang

Im Packet enthaltene TOOLS

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!)

ED.EXE

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.

XMSDSK

Eine sehr flexible RAM-Disk für DOS. Funktioniert bis Windows 98 auch unter GUI.

Seitenanfang

Alle oben genannten TOOLS sowie die freien Teile der Bootsysteme befinden sich auf der Downloadpage .

zurück

© Copyright by Ralf Wöhlert