VOICE Homepage: http://de.os2voice.org |
Februar 2002
[Inhaltsverzeichnis]
|
Von Paul Floyd © Februar 2002, Übersetzung: Manfred Agne |
DFS ist ein sehr kompliziertes Werkzeug. Deshalb ist es eine gute Idee, sich mit einigen seiner Fähigkeiten vertraut zu machen bevor man versucht, sich aus einer Katastrophe zu retten. Zum Beispiel kann es Backups der Partitionstabelle anfertigen. Ganz offensichtlich kann man aber eine Partitionstabelle nur dann zurückschreiben, wenn man vorher ein Backup gemacht hat. In einfachen Worten umfaßt die Funktionalität von DFSEE fdisk, format und chkdsk. Darüberhinaus hat DFSEE viele Funktionen, die für die allgemeine Wartung und den Betrieb eines Computers nützlich sind. Das beinhaltet Batch-gesteuerte Aktionen (bootfähige Partitionen erstellen, Einstellungen des Bootmanagers ändern, ...). Einige der Features sind eher kosmetischer Natur, wie etwa die Darstellung der Plattenbelegung. In diesem Artikel werde ich mich mehr auf die interaktive Verwendung konzentrieren.
DFSEE läuft auf DOS, MDOS, OS/2 und NT. Es unterstützt alle möglichen FAT Partitionen, ebenso wie HPFS, JFS und NTFS. Es kann den Bootmanager und LVM konfigurieren.
Man kann DFSee unter http://shop.mensys.nl/catalogue/mns_DFSee.html registrieren. dfsee.zip enthält alles, was man braucht - alle EXEs sind allein lauffähig. Sie passen auch auf eine Floppydisk, so daß man sie auch verwenden kann, wenn man DOS oder OS/2 von Floppy gebootet hat. Zusätzlich zu den EXEs gibt es noch ein paar Batchdateien für häufig benötigte Aktionen, und ziemlich ausführliche Textdateien (einfaches ASCII), die beschreiben, wie man DFS verwendet. Die Textdateien enthalten sowohl die verfügbaren Befehle als auch ein "How-to", das 13 wichtige Szenarios für den Einsatz von DFSEE beschreibt.
Als allererstes sollte man dfsee.zip auf eine Diskette entpacken (ich habe übrigens zwei solcher Disketten, nur zur Sicherheit). Wenn Sie DFS nur auf ihrer Harddisk installieren, wird es Ihnen nicht viel nützen, wenn Sie auf Ihre Harddisk nicht mehr zugreifen können. DFS hat zwei Betriebsmodi. Zuerst einmal gibt es einen Batchmodus. Um die Hilfefunktion aufzurufen, verwenden Sie einfach die Option -h. Um Batchkommandos zu übergeben, führen Sie DFS mit den entsprechenden Parametern aus. In der Voreinstellung können mehrere Befehle mit dem '#' Zeichen getrennt [und gemeinsam übergeben - d.Übers.] werden. Wenn Sie "dfs" ohne weitere Parameter eingeben, zeigt DFS ein Userinterface an.
Standardmäßig zeigt DFSEE ein paar grundlegende Informationen über den Rechner in seinem Hauptfenster an, mit einer Kommandozeile am unteren Rand des Bildschirms (ähnelt dem tedit Editor oder dem DOS Editor e ).
Jedesmal wenn Sie einen Befehl eingeben, scrollt die Ausgabe durch das Hauptfenster, das einen 4000-Zeilen-Puffer hat. 4000 Zeilen hört sich vielleicht nach viel an, aber DFS kann eine Menge an Information über ein System ausgeben. Deshalb kann man die Information auch in eine Protokolldatei ausgeben lassen. Zum Beispiel enthält das dfsee.zip Paket ein paar Skriptdateien. Eine davon, 'dfsquick.[bat|cmd]' generiert auf meinem PC eine Protokolldatei die 108292 Byte groß ist (1866 Zeilen). 'dfsinfo.cmd' erzeugt eine Protokolldatei mit einer Länge von 561989 Bytes (9762 Zeilen), obwohl ich das von meiner Festplatte aus ausgeführt habe, und Disk 1 gesperrt war. Wenn man dfs V3.42 ausführt, erzeugt das eine Datei mit 398058 Bytes Länge (6413 Zeilen). Zum Vergelich, ich habe 3 Festplatten, 21GB, mit den folgenden Partitionen: 1 FAT16, 1 FAT32, 3 HPFS, 2 NTFS, 2 Ext2fs, 1 Linux Swap, 2 Solaris UFS und 1 FreeBSD UFS. Das Verhältnis ist etwa 60/40 zwischen OS/2+Windows / Unices. DFS gibt nicht viel Informationen über Partitionen her, die es nicht versteht (wie BeFS und UFS).
Auf einer großen Festplatte kann die Protokolldatei bei einer umfangreichen Überprüfung leicht auf mehr als ein Megabyte und zehntausende von Zeilen anwachsen. Das fängt bei einem einfachen Directory-Listing an und geht über Hex-Dumps der Bootsektoren bis hin zu 'Usage Maps', die die anteilige Belegung der Regionen einer Partition anzeigen.
Das Userinterface ist im Textmodus, und es verwendet ASCII. Deshalb ist die Protokolldatei möglicherweise nicht so hübsch, wenn man sie auf anderen Systemen ansieht. Hier sehen wir DFSee in Windows (cygwin vim, unter NT 4. ):
Man kann die Darstellung mit den Optionen -a und -f:no ein wenig verbessern. Wenn man DFS zum ersten Mal ausführt, bekommt man eine Übersicht der Festplatten und Partitionen auf dem System angezeigt (man kann das mit der Option -q abstellen, oder mit -m die Voreinstellung ändern). Der erste Teil der Ausgabe sieht ein bißchen wie der Bildschirm von Partition Magic aus. Danach kommen mehr zusammenfassende Informationen: Die Version von DFS, die Geometrie und Größe der Platten, und eine Liste von Warnungen und Fehlern, die DFS findet (Unstimmigkeiten zwischen den Partitionstabelleneinträgen für CHS und LBA entries, nicht an Zylindergrenzen endende Partitionen, bootbare Partitionen auf anderen als der ersten Festplatte, usw.).
Danach kommt eine Tabelle, welche die gleichen Informationen wie die grafische Partitionsdarstellung enthält, aber mit Namen und Zahlen.
Die Bedeutung der 9 Spalten ist wie folgt:
Am unteren Rand des Fensters befindet sich eine Statuszeile mit einer Anzeige der Zeilennummer und ein paar Hinweisen dazu, wie man durch die Ausgabe scrollen kann. Darunter ist eine Zeile, auf der man Eingaben eintippen kann. Diese zeile hat eine History-Funktion, so daß man durch frühere Befehle durchscrolle kann.
id Partitions-ID. DFS bezeichnet Partitionen immer in der Reihenfolge ihrer Anordnung, geordnet nach Platten. PD Physikalische Platte ("Physical Disk") Vol Der zugeordnete Laufwerksbuchstabe Type Primär oder logisch, plus der Partitionstyp-Deskriptor (ein Wert von 0 bis 255). Eine kurze Beschreibung der Partition. Man beachte, daß manche Partitionsdeskriptoren von mehr als einem Betriebssystem verwendet werden, deshalb kann DFS sich hier irren (wie zum Beispiel hier mit Partition 03, die Solaris UFS ist, nicht LinuxSwap). Format Das Dateisystem der Partition. Das ist ebenfalls nicht 100% zuverlässig für Partitionen, die nicht FAT/HPFS/NTFS/Ext2fs sind (die oben gezeigte Partition 12 ist FreeBSD UFS, nicht "ÕÞ-"!). Creator Name des Betriebssystems oder Tools, das die Partition erstellt hat. Label info Ein Textlabel (optional), das die Partition hat. BM-Name OS/2 Bootmanager-Name (optional, nur wenn BM installiert ist). Size MB Partitionsgröße in Megabytes.
Sie müssen Ihr Backup jedes Mal erneuern, wenn Sie die Partitionierung Ihres Rechners ändern (Hinzufügen/Löschen von Partitionen, Ändern des Partitionstyps, Vergrößern/Verkleinern einer Partition). Wenn Sie jemals ihre Partitionstabellen wiederherstellen müssen, verwenden Sie den Befehl prestore. Er wird Sie auffordern, alle Partitionstabellen zu bestätigen (einschließlich erweiterter Partitionen), die er wiederherstellt.
Solange DFS läuft, ist es modal. Beim Start ist es im Disk-Modus. Wenn Sie "part 2" eingeben, wird es Information zu der gewählten Partition ausgeben und in den entsprechenden Partitionsmodus schalten. In meinem Fall ist Partition 2 meine OS/2 Bootpartition, deshalb schaltet "part 2" DFS in den HPFS-Modus.
DFS hat eine ziemlich ausführliche Online-Hilfe. Wenn Sie "?" eingeben, bekommen Sie eine Liste der im jeweiligen Modus verfügbaren Befehle. Wenn Sie also etwa im "disk mode" sind, sagt "?" Ihnen etwas über Sachen wie das Erstellen und Löschen von Partitionen. Wenn Sie im Partitionsmodus sind, informiert Sie "?" über Dinge wie das Überprüfen und das Reparieren einer Partition.
Der Befehl "??" informiert Sie über Befehle, die unter allen Umständen verfügbar sind. Das umfaßt Dinge wie das Manipulieren von Sektoren (z.B. um einen Teil einer Platte in eine Datei auf einer anderen Platte zu kopieren, oder umgekehrt, oder sogar ein komplettes Abbild einer ganzen Disk, wie bei Ghost oder Drive Image).
Der Hilfebefehl "???" zeigt eine Beschreibung der Abkürzungen an, die DFS in seinen verschiedenen Modi nutzt. Diese ganzen Hilfen sind ziemlich knapp, und Sie sollten auch die verschiedenen TXT-Dateien lesen, die im Paket enthalten sind.
Die zwei wichtigsten Befehle sind "disk" und "part". Beide kennen einen Parameter, entweder die Plattennummer oder die Partitionsnummer (beide fangen bei 1 an, siehe oben für eine Beschreibung der Partitionsnumerierung). "disk" veranlaßt DFS, eine Zusammenfassung der Platte auszugeben, z.B.
Der erste Teil ist eine Zusammenfassung. Der zweite Teil ist die Partitionstabelle der Platte in Hexadezimaldarstellung. Der dritte Teil ist eine Text-Beschreibung der Partitionstabelle. Zum Schluß kommt noch eine Zusammenfassung des Status von DFS.disk 2 DFSee wNT version : 4.10 executing: disk 2 Registration info : Registration file is not present! LogGeo disk 2 Cyl : 1110 H:255 S:63 = 7.84 Mb Disksize : 011018D6 = 8707 Mb Shown sector LSN : 00000000 = Master Boot Rec Cyl: 0 H: 0 S: 1 = 00000000 MBR informational : 8E30DBBC Possible NT Disk Administrator disk-signature Position Fl|BeginCHS|Tp| EndCHS | BR-offset |sectors [Partition Table ] +==+--------+==+--------+------------+-----------+ -001BE- 52 00 01 01 00 1b fe 3f 3f 3f 00 00 00 01 b0 0f 00 [À??ÀÀª???ÀÀÀ?ªñÀ] -001CE- 52 80 00 01 40 07 fe 3f 9f 40 b0 0f 00 60 88 17 00 [-À?@Àª?â@ªñÀ`Û?À] -001DE- 52 00 00 01 a0 82 fe bf 45 a0 38 27 00 26 72 67 00 [ÀÀ?ßÚª+Eß8'À&rgÀ] -001EE- 52 00 00 81 46 05 fe ff ff c6 aa 8e 00 10 6e 81 00 [ÀÀ|F?ªá᪼-À?n|À] +==+--------+==+--------+------------+-----------+ Partition index 0 : Type 1b = FAT32 Begin sector PSN : 0000003F = Cyl: 0 H: 1 S: 1 End sector PSN : 000FB03F = Cyl: 63 H:254 S:63 Bootsect. offset : 0000003F Sectors : 000FB001 = 502 Mb Partition index 1 : Type 07 = Inst-FSys <-------------------- Active/Bootable Begin sector PSN : 000FB040 = Cyl: 64 H: 0 S: 1 End sector PSN : 0027389F = Cyl: 159 H:254 S:63 Bootsect. offset : 000FB040 Sectors : 00178860 = 753 Mb Partition index 2 : Type 82 = LinuxSwap Begin sector PSN : 002738A0 = Cyl: 160 H: 0 S: 1 End sector PSN : 008EAAC5 = Cyl: 581 H:254 S:63 Bootsect. offset : 002738A0 Sectors : 00677226 = 3310 Mb Partition index 3 : Type 05 = Extended Begin sector PSN : 008EAAC6 = Cyl: 582 H: 0 S: 1 End sector PSN : 011018D5 = Cyl: 1109 H:254 S:63 CHS Cyl:1023 H:254 S:63 Bootsect. offset : 008EAAC6 Sectors : 00816E10 = 4142 Mb ReadWrite Store 1 : PhysDisk : 2 PartId 00 = -- mode=FDISK 271201-164840 RC:0 <Enter> : 008EAAC6 u=00000000 x=002738A0 this=00000000 Base=00000000
Ich werde nicht alle Aufgaben wiederholen, die Sie mit DFS erledigen können und die in der Dokumentation zum Paket beschrieben sind. Die interessantesten davon sind die folgenden:
fixboot Bootsektor einer Partition reparieren fixspare HPFS Spare Block reparieren dirty Dirty Flag umschalten
Ich selbst habe dabei auch mit "File Phoenix" schon Erfolg gehabt. Es ist sehr wichtig, daß Sie ihre Festplattenaktivitäten zwischen dem Moment, in dem Sie die Dateien versehentlich gelöscht haben und dem Augenblick, wo Sie versuchen, sie zu retten, minimieren. Jedes mal, wenn OS/2 auf die Platte schreibt, könnte es potentiell Sektoren wiederverwenden, die zu Ihren gelöschten Dateien gehören und damit die Chancen für eine erfolgreiche Datenrettung reduzieren.
part <id> Auswählen der Partition. delfind Dateien suchen, die als gelöscht markiert sind. delsave <path> [pattern] Dateien kopieren.
Beachten Sie, daß <path> ein Pfad auf einer anderen Partition als <id> sein sollte.
Sie können Wildcards verwenden, um die Dateien zu filtern.
Ich habe das einmal benutzt und es hat etwa 99% der Dateien gerettet, die auf der Partition waren. Ein paar wenige große Dateien wurden nicht wiederhergestellt.
part <id> Partition auswählen find -o:* -t:f Alle Dateien auf der Partition finden. Das ist voraussichtlich langsam! delshow eine Liste aller gefundenen Dateien anzeigen delsave <path> * alle dateien unter <path> abspeichern
Die Lösung ist, den Partitionstyp zu ändern. Der DFS-Befehl, mit dem man das tut, ist settype. Um zum Beispiel eine erweiterte Partition vom Typ 0x0F (15 dezimal) auf 0x05 zu ändern, wobei die Partition die vierte auf der ersten Platte ist, würden Sie den Befehl settype 4 1 5 15 verwenden.
Ansonsten kann DFS, wie schon oben erwähnt, LVM und den Bootmanager manipulieren. Da ich LVM nicht verwende (Ich habe nur Warp 4 Client), kann ich dazu nichts sagen. Hier ist ein Beispiel für die 'part' Ausgabe für eine Platte mit Bootmanager:
Boot capability : Bootable by OS/2 boot-manager as: OS2Warp
DFSee OS2 version : 4.11 executing: setname 1 OS2Warp3 Set as BM-name 'OS2Warp3' for partition 01 (C:) ? [Y/N] : y Disk or volume cannot be locked for writing (open files). Write anyway ? [Y/N] Execute autoshow : 'part -r' DFSee OS2 version : 4.11 executing: part -r Registration info : Registration file is not present! Number of disks : 1 LogGeo disk 1 Cyl : 933 H: 16 S:32 = 0.25 Mb Disksize : 00074A00 = 233 Mb
id PD Vol Type, description Format Creator Label Info BM-Name Size Mb 01 1 *C: Prim 07 Inst-FSys HPFS OS2 20.0 OS2 OS2Warp3 202.0 02 1 *-- Prim 4f QNXv4-3rd ð¼ OBERON ·Û1 Oberon 30.0 03 1 *-- Prim 0a Boot-Mgr BMGR fdisk «OS2Warp » 1.0 04 1 Pri/Log FreeSpace -- -- -- -- -- -- -- -- -- 0.2
Quellenverzeichnis:
DFSee |
[Artikelverzeichnis]
editor@os2voice.org
[Vorherige Seite] [Inhaltsverzeichnis] [Nächste Seite]
VOICE Homepage: http://de.os2voice.org