"Der Reparatur Modus"Der wichtigste "Fix-in-Place" Modus ist der Reparaturmodus. Dieser wurde entworfen, um ein AmigaDOS Device direkt zu analysieren und es so zu korrigieren, daß es als ein gültiges AmigaDOS Dateisystem angemeldet werden kann. Idealerweise sollte der Reparaturmodus dem Laufwerk wieder vollen Lese- und Schreibzugriff geben, ohne daß Daten verloren gingen. In der Praxis ist es jedoch häufig nötig, ein oder zwei Objekte zu entfernen, um die Laufwerksstruktur wieder herzustellen. Dateien können aus vielerlei Gründen beschädigt werden. DiskSalv versucht nicht die Struktur einer Datei auf dem betroffenen Laufwerk selbst zu reparieren. Wenn eine Problemdatei lokalisiert wurde, wird sie von ihrem Mutterverzeichnis entkoppelt und zum "Wiederherstellen-durch-Kopieren" auf dem "Ausgabefenster" angezeigt, nachdem die "Fix-in-Place" Operation abgeschlossen ist. Ebenso wie Dateien können beschädigte Verzeichnisse auf einem Laufwerk gefunden werden. DiskSalv versucht dann, das beschädigte Verzeichnis möglichst wieder herzustellen. Auf der Grundlage einer vollen Durchsuchung des Eingabedevice wird das interne Modell von DiskSalv jedes Verzeichnis mit seinem Namen - sofern verfügbar - und die Inhalte von jedem Verzeichnis, das entweder direkt gefunden oder durch den Verweis, den eine Datei daraus aufweist, entdeckt wurde, enthalten. Mit diesen Informationen kann DiskSalv ein beschädigtes Verzeichnis wieder ganz herstellen. Nur ein sehr schwerwiegender Fehler wird diese Form der Wiedergewinnung verhindern und dazu führen, daß ein Verzeichnis vom Verzeichnisbaum des Laufwerks entfernt werden muß. Es gibt zwei Varianten des Reparaturmodus: eine langsame und eine schnelle. Der langsame Modus wird durch Setzen des Knopfes für die Suchgeschwindigkeit auf langsam angezeigt. Dies fordert DiskSalv auf, das ganze Laufwerk vom Anfang bis zum Schluß zu durchsuchen, was eine Zeitlang dauert, aber ein sehr gutes Abbild des Laufwerks liefert. Wenn der Knopf auf schnell gesetzt wird, kann die Suche in sehr viel weniger Zeit durchgeführt werden, indem die Dateienstruktur des Laufwerks vom Root Block an abwärts durchgegengen wird. Dies liefert ein weniger vollständiges Modell des Laufwerks, und funktioniert vor allem mit beschädigten Verzeichnissen nicht sehr gut. Es kann dennoch einfachere Probleme lösen und ist viel schneller als die langsame Version des Reparaturmodus, besonders bei großen Laufwerken. Die schnelle Reparatur restauriert keine gelöschten Dateien, während die langsame Variante gelöschte Dateien zurückholen kann. Dies aber nur während ein Verzeichnis von Grund auf wiederherstellt wird. Die Absicht ist hier die Struktur des Laufwerks zu reparieren, und nicht, alles wieder herzustellen, was der Benutzer eventuell gelöscht hat. Wenn der Reparaturmodus durchlaufen ist, gibt er das Eingabelaufwerk frei, dessen Bitmap er vorher als ungültig markiert hat. Dies veranlasst den Validator des Amiga Dateisystems das Laufwerk zu untersuchen, eine ganz normale Verhaltensweise also. Die dahinterstehende Philosophie ist einfach - das Dateisystem ist der beste Richter über den ordnungsgemäßen Zustand des Laufwerks, und es hat eine Routine (den Validator) um diesen Zustand zu bestimmen. Es wäre für DiskSalv unklug und unnötig, diesen letzten Schritt selbst zu übernehmen. Anders als die "Wiederherstellen-durch-Kopieren" Modi kann der Reparaturmodus (und andere "Fix-in-Place" Funktionen) keine DiskSalv Muster benutzen, um die Dateien während der Suche zu filtern. Die Fähigkeit eines Fix-in-Place Durchgangs das Eingabelaufwerk zu reparieren hängt von der Vollständigkeit seines Laufwerksabbilds ab. Irgendetwas auszuschließen wäre hierbei nicht sinnvoll. |