Short: Splits large disks into smaller parts Uploader: Thomas Rapp Author: Thomas Rapp Type: disk/misc Version: 1.41 Diese Software ist BETA ! Sie ist voll mit Fehlern und kann dir leicht dazu verhelfen, alle Daten auf deiner Festplatte zu verlieren. Benutze sie vorsichtig, du wurdest gewarnt !! ZWECK Wenn du eine Software wie MovieShop hast, die viel Festplattenplatz benötigt, aber nicht über das 4GB-Limit hinaus zugreifen kann, dann kann splitdisk.device dir vielleicht helfen. Es ist ein Filter, der eine große Disk in mehrere kleinere logische Disks aufteilt. Auf diese Disks wird durch splitdisk.device zugegriffen, das die Aufrufe in 64bit-Kommandos umwandelt, die der originale Gerätetreiber versteht. INSTALLATION Kopiere splitdisk.device nach Devs: und kopiere den Inhalt des ENV- Verzeichnis sowohl nach ENV: als auch nach ENVARC:. Kopiere SplitDiskMount nach C:. Beachte, daß splitdisk.device nicht ohne Konfiguration funktioniert, deshalb lies bitte weiter. KONFIGURATION Splitdisk.device wird über die ENV-Variable SPLITDISKUNIT konfiguriert. Diese Variable enthält die Device-Namen und Unit-Nummern der originalen (großen) Laufwerke. Für jedes Laufwerk eine Zeile. Format: unit:name.device,unit[,größe][,blöckeprozyl] Beispiel: 0:scsi.device,2 Die erste Unit-Nummer ist die Einheit für splitdisk.device. In dem obigen Beispiel, wenn du MovieShop sagst, es soll splitdisk.device Unit 0 benutzen, wird splitdisk.device auf die Disk zugreifen, die an scsi.device Unit 2 angeschlossen ist. Der optionale Parameter "größe" gibt an, wie groß die Teile sein sollen, in die die Disk aufgesplittet wird. Standard, wenn nichts angegeben wird, ist 4GB, aber man kann jede beliebige Größe ab 1MB einsetzen. Beispiel: 0,scsi.device,2,500MB Der optionale fünfte Parameter spezifiziert die Anzahl Blöcke pro Zylinder. Normalerweise teilt Splitdisk die Festplatte an einer Blockgrenze. Um Kompatibilität mit dem FastATA-Kontroler zu erreichen, sollte hier die Anzahl Blöcke pro Zylinder, wie sie von der HDToolbox berechnet wird, angegeben werden. Dann benutzt Splitdisk Zylinder-Grenzen. Beispiel: 0,scsi.device,2,,2016 ZUGRIFF AUF DIE TEILE OBERHALB DES 4GB-LIMITS Der Teil, auf den zugegriffen werden soll, wird über die SCSI LUN-Nummer ausgewählt. Die LUN-Nummer wird in der Zehnerstelle der Unit-Nummer angegeben. Zum Beispiel Unit 42 bedeutet LUN 4 an SCSI ID 2. Wenn die HDToolbox das splitdisk.device abtastet, wird jeder Split-Teil als eigenes Laufwerk angezeigt. PARTITIONEN ANMELDEN Es gibt noch keine Unterstützung für Partitionen in splitdisk.device, deshalb mußt du das mitgelieferte Programm SplitDiskMount benutzen, um Partitionen auf einem Split-Teil anzumelden. Aufruf: SplitDiskMount [|U] unit Beispiel: SplitDiskMount U 50 meldet alle Partitionen auf dem sechsten Split-Teil von Unit 0 an. SplitDiskMount funktioniert auch mit "normalen" Festplatten, d.h. man kann auch die Partionen einer Festplatte anmelden, die nicht automatisch beim Hochfahren eingebunden werden. Beispiel: SplitDiskMount scsi.device 0 SplitDiskMount überspringt dabei automatisch die Partitionen, die schon angemeldet sind. BENUTZUNGSBEISPIEL Angenommen, du hast eine 20GB-Festplatte als Slave an den internen IDE-Bus angeschlossen. Dann ist die Festplatte als scsi.device Unit 1 anzusprechen. Füge eine Zeile zu der Variablen SPLITDISKUNIT hinzu, die so lautet: 0:scsi.device,1,4GB Jetzt ist die Festplatte auch als splitdisk.device Unit 0 in 5 Teilen zu je 4GB ansprechbar. Die Teile sind wie folgt: splitdisk.device Unit 0 = 0 GB - 4 GB splitdisk.device Unit 10 = 4 GB - 8 GB splitdisk.device Unit 20 = 8 GB - 12 GB splitdisk.device Unit 30 = 12 GB - 16 GB splitdisk.device Unit 40 = 16 GB - 20 GB DEBUG Benutze das Kommando SplitDiskDebug um Debug-Ausgaben von splitdisk.device aufzuzeichnen. Solange SplitDiskDebug läuft, werden Debug-Ausgaben in eine Datei geschrieben, deren Namen entweder über die Kommandozeilenoption oder die ENV-Variable SPLITDISKDEBUG angegeben wird. Der Standard ist ram:splitdisk.debug, wenn kein Parameter angegeben ist und keine Variable existiert. Benutze das Kommando version devs:splitdisk.device file full um zu prüfen, ob du die Debug-Version von splitdisk.device hast. UNTERSTÜTZTE KOMMANDOS Die folgenden Kommandos wurden erfolgreich getestet: 0002 CMD_READ ja 0003 CMD_WRITE ja 0004 CMD_UPDATE weiter 0005 CMD_CLEAR weiter 0009 TD_MOTOR weiter 000b TD_FORMAT nein 000c TD_REMOVE nein 000e TD_CHANGESTATE weiter 000f TD_PROTSTATUS weiter 0014 TD_ADDCHANGEINT nein 0018 TD_READ64 ja 0019 TD_WRITE64 ja 4000 NSCMD_DEVICEQUERY nein c000 NSCMD_TD_READ64 ja c001 NSCMD_TD_WRITE64 ja 001c HD_SCSICMD 00 Test Unit Ready weiter 08 Read(6) ja 0a Write(6) ja 12 Inquiry weiter 25 Read Capacity ja 28 Read(10) ja 2a Write(10) ja Dabei bedeutet: ja - das Kommando ist in splitdisk.device implementiert weiter - das Kommando wird unverändert an den Originaltreiber weitergeleitet nein - das Kommando ist im Test aufgetaucht, wurde aber nicht benötigt und wird deshalb von splitdisk.device abgelehnt. Alle nicht aufgeführten Kommandos sind nicht implementiert und werden abgelehnt. KONTAKT Bitte sende Fehlermeldungen und Vorschläge an thomas-rapp@web.de.