Datenverlust - Na und? (2)

Nachdem in der letzten Ausgabe die Grundlagen geschaffen wurden, sich defekter Datenträger anzunehmen, soll nun der Einstieg in die Praxis beginnen. Dabei geht es in erster Linie um physikalische Fehler, durch die ein Medium unbenutzbar geworden ist. Besonders gut lassen sich Erfahrungen bei Disketten sammeln.

Klar, man sollte bei den ersten Versuchen, den Daten zu Leibe zu rücken, nicht gerade eine Festplattenpartition malträtieren. Als Versuchsobjekte sind Disketten aus verständlichen Gründen sehr viel besser geeignet.

Kopie erwünscht

Bevor man nun aber irgendwelche Anstalten unternimmt, Daten auf defekten Medien zu manipulieren, sollte man sich unbedingt eine Kopie des Datenträgers anlegen. Dies gilt auch für Disketten, die dem Anschein nach keinen Inhalt mehr haben oder Lesefehler aufweisen. Die meisten Kopierprogramme sind in der Lage, zumindest die fehlerlosen Sektoren (sie beinhalten stets den weitaus größten Teil der Daten), zu duplizieren. Mit etwas Glück werden auch Daten auf den defekten Sektoren auf die fehlerfreie Diskette übertragen. Ist es möglich, den Datenträger zu kopieren, dürfen alle Reparaturversuche ausschließlich an der Kopie erfolgen. So braucht man keine überflüssige Vorsicht walten zu lassen und hat Raum für Experimente.

Beim Anfertigen der Kopie ist darauf zu achten, dass alle Sektoren, also nicht nur die belegten, kopiert werden. Der Grund hierfür dürfte leicht einzusehen sein. Nur so lässt es sieh nämlich ausschließen, dass nicht ein Fehler in der Disk-Belegungstabelle (FAT) dafür sorgt, dass beim Kopieren nur der belegten Sektoren einige fälschlicherweise als unbelegt markierte Daten-Cluster unter den Tisch fallen. Es kommt darauf an, so viele Informationen wie möglich auf ein anderes Medium hinüberzuretten. Nahezu alle Kopierprogramme oder Disk-Utilities bieten die Möglichkeit, zwischen einer Kopie nur der belegten oder aller Sektoren zu wählen.

Eine Diskette lässt sich nur dann ohne weiteres kopieren, wenn der Boot-Sektor fehlerfrei ist. Schließlich benötigt jedes Kopierprogramm die dort enthaltenen Angaben über das logische und physikalische Diskettenformat. Bei einem defekten Boot-Sektor muss die Zahl der Seiten, Spuren und der Sektoren pro Spur per Hand vorgegeben werden. Auch dies wird von vielen Kopierprogrammen unterstützt. Das Standardformat bei DD-Disketten besitzt 80 Spuren zu 9 Sektoren, bei HD-Disketten sind es 18, bei ED-Disketten 36 Sektoren pro Spur. Abweichungen von diesen Richtwerten treten nur dann auf, wenn eine Diskette nicht über das Desktop, sondern mit speziellen Programmen formatiert wurde und Sie dabei andere Diskettenparameter vorgegeben haben. Dann dürfte Ihnen aber wohl bekannt sein, welches Format Sie gewählt haben.

Wenn Sie sich dennoch bezüglich des Diskettenformats im unklaren sind, stellen Sie im Kopierprogramm einfach eine hohe Spur- und Sektorzahl ein, beispielsweise 82 Spuren mit 10 Sektoren pro Spur. Sollten in Wirklichkeit nur 9 Sektoren vorhanden sein, wird das Kopierprogramm sich mit einer Fehlermeldung bemerkbar machen, und man kann die Kopierparameter vor dem nächsten Versuch entsprechend abändern. So kann man durch Ausprobieren auch dann alle Daten kopieren, wenn das genaue Format zunächst unbekannt ist. Eine Reihe von Programmen bietet übrigens die Möglichkeit, die genaue Sektorzahl durch eine Diskettenanalyse zu ermitteln.

Lesefehler entschärft

In der Regel wird natürlich auch die Kopie des defekten Datenträgers Fehler aufweisen. Allerdings wird es sich hierbei nicht mehr um physikalische Fehler in Form defekter Sektoren handeln (?Daten auf Disk A: defekt"). Falls es sich bei der Zieldiskette um eine fehlerfrei formatierte Diskette gehandelt hat, sind diese Fehler auf der Kopie verschwunden. Es können also nur noch logische Fehler, beispielsweise eine defekte FAT oder fehlende Daten in einigen Dateien, vorhanden sein. Natürlich muss man davon ausgehen, dass ein Teil der Daten, die sich auf den fehlerhaften Sektoren befunden haben, beim Kopieren verlorengegangen ist. Aber daran lässt sich nichts ändern, denn das liegt leider in der Natur solcher Defekte.

Immerhin lässt sich die kopierte Diskette nun weiterbearbeiten, ohne dass man sich noch um Lesefehler kümmern müßte. Wichtig ist für das weitere Vorgehen nur, dass der Boot-Sektor fehlerfrei ist. Nur dann ist ein vernünftiger Zugriff auf die restlichen Sektoren des Mediums sichergestellt.

An dieser Stelle muss mal wieder Murphy's Gesetz herhalten, welches besagt, dass Daten im Boot-Sektor in der Regel eben nicht mehr zu gebrauchen sind. Das ist leicht dadurch festzustellen, dass der Desktop die Diskette ablehnt oder einfach kein Inhaltsverzeichnis anzeigen will. Dem kann abgeholfen werden. In der letzten Ausgabe hatte ich bereits den Aufbau der Boot-Sektor-Parameter erläutert. Liegt eine Diskette mit fehlerhaftem Boot-Sektor vor, müssen diese Angaben überprüft und eventuell korrigiert werden. Werfen Sie dazu mit einem Disk-Monitor einen Blick auf die ersten Bytes des Sektors. Gewisse Standardwerte sind bei allen Diskettenformaten für den ATARI oder IBM anzutreffen:

BPS $0002, 512 Bytes pro Sektor
SRC $02 bei ATARI-Disketten, $01 bei MS-DOS-HD-Disketten
RES $0100, ein reservierter Sektor (der Boot-Sektor)
FAT $02, zwei FATs
MEDIA nicht von Bedeutung
SIDE $0200 bei doppelseitigen, $0100 bei einseitigen Disketten
HIDE $0000, keine versteckten Sektoren

Diese Angaben sind im Intel-Format gemacht, wie es auch auf der Disk verwendet wird.

Über die restlichen Parameter lässt sich nicht so leicht eine Aussage treffen. Falls die Möglichkeit besteht, sollten Sie eine weitere Diskette in genau dem Format formatieren, das auch die defekte Disk hatte, und anschließend einen Teil oder gleich alle der Boot-Sektor-Parameter übertragen. Es ist durchaus legitim, den fehlerfreien Boot-Sektor einer Diskette mit geeignetem Format zu lesen und komplett auf die fehlerhafte Disk zu kopieren. Der Boot-Sektor enthält schließlich keine Daten, die irgendwie mit den Dateiinhalten in Verbindung stehen, sondern ausschließlich Angaben über das Diskettenformat.

Probieren geht über Studieren

Haben Sie keine Anhaltspunkte, was die Boot-Sektor-Daten angeht, müssen sie durch das Analysieren der restlichen Sektoren gewonnen werden. Dazu kann man bei Disketten und Festplatten auf die gleichen Verfahren zurückgreifen. Wie kommt man also an die Werte für DIR, SEC und SPF?

Die Gesamtzahl der Sektoren SEC zu ermitteln, dürfte kaum Schwierigkeiten bereiten. Sie ergibt sich als Produkt aus der Zahl der Tracks und der Sektorzahl pro Track. Dieser Wert muss bei zweiseitigen Disketten natürlich verdoppelt werden. SEC beträgt bei normal formatierten DD-Disketten $A005 (1440), bei HD-Disketten $400B (2880).

Ein wenig umständlicher wird es bei SPF, der Zahl der FAT-Sektoren. In der Regel wird SPF bei DD-Disketten 5, bei HD-Disketten 6 betragen. Bei DD-Disketten hat SPF einen Wert von 3, wenn die Disk auf einem IBM-kompatiblen PC, unter MultiTOS oder auf dem Falcon formatiert wurde. Je nach Formatierung (z.B. Hyperformat mit 11 Sektoren pro Spur) können sich auch andere Abweichungen ergeben. Der wahre Wert für SPF lässt sich durch einen Blick auf die ersten Sektoren der Diskette herausfinden. Dabei hilft es weiter, dass zwei (identische) FATs vorhanden sind, die direkt aufeinander folgen. Der erste Sektor von FAT l befindet sich im Regelfall direkt hinter dem Boot-Sektor, es sei denn, eine Disk hat mehr als einen reservierten Sektor. (Solche Disketten werden vom ATARI nicht erzeugt.) Um die Größe der FAT zu ermitteln, wirft man zunächst einen Blick auf den ersten FAT-Sektor. Nun schaut man sich die folgenden Sektoren an und wird auf einen Sektor stoßen, der denselben Inhalt wie der erste FAT-Sektor aufweist. Hierbei muss es sich um den ersten Sektor von FAT 2 handeln. Da beide FATs hintereinander angeordnet sind, ergibt sich SPF als Differenz zwischen dem Start von FAT 2 und FAT1.

Bleibt noch der Parameter DIR, der eine Aussage über die Zahl der Dateien macht, die im Hauptverzeichnis Platz finden. Für jeden Dateieintrag werden 32 Bytes benötigt. In einen Sektor mit 512 Bytes passen somit 16 Dateien. (Vorsicht: Bei Festplatten können größere Sektoren auftreten, also eventuell mehr Dateieinträge pro Sektor.) Teilt man daher DIR durch 16, erhält man die Zahl der Sektoren, die für das Directory benötigt werden. Der erste Directory-Sektor befindet sich direkt hinter FAT 2. Da die Größe der FAT inzwischen bekannt ist, lässt sich der Beginn des Directorys also leicht finden. Daß man einen Verzeichnissektor vor sich hat, ist unschwer an den Dateinamen zu erkennen, die sich in den ersten 11 Bytes des Datenfeldes befinden. Im letzten Heft wurde der genaue Aufbau eines Dateieintrags ja bereits erklärt. Um die Länge des Wurzelverzeichnisses zu bestimmen, sollte man einfach solange die folgenden Sektoren anschauen, bis man auf einen Sektor trifft, bei dem es sich offensichtlich nicht mehr um einen Sektor mit Dateinamen handelt. Dabei ist zu beachten, dass die letzten Directory-Sektoren häufig mit Null-Bytes gefüllt sind, da selten so viele Dateien vorhanden sind, dass das Directory wirklich komplett gefüllt wäre. Der erste Sektor, der keine Dateinamen und auch keine Null-Bytes, sondern irgendwelche anderen Daten (Inhalte von Dateien) enthält, ist der erste Datensektor. Die Differenz zwischen der Nummer des ersten Datensektors und dem Start des Hauptverzeichnisses entspricht der Directory-Größe. Wird dieser Wert noch mit der Zahl der Dateinamen pro Sektor multipliziert (also mit 16, s.o.), hat man den korrekten Wert für DIR bereits gefunden. Bei DD-Disketten hat DIR meist den Wert 7, bei HD-Disketten 14.

Damit sind bereits alle wichtigen Boot-Sektor-Parameter komplett. So schwierig ist es also gar nicht, einen defekten Boot-Sektor in den Griff zu kriegen. Nachdem der Boot-Sektor repariert ist, kann man sich recht gut ein Bild darüber machen, wie es um den Zustand der restlichen Daten bestellt ist. Bevor man den Versuch unternimmt, alle verbliebenen Fehler zu beseitigen, sollte man erst einmal überprüfen, inwiefern die entscheidenden Daten überhaupt betroffen sind. Unter allen Umständen muss man dabei verhindern, dass irgendwelche Daten auf das Medium geschrieben werden, denn dies kann weiter Datenverluste mit sich bringen. Gerade dann, wenn die FAT fehlerhaft ist, kann ein Schreibversuch unangenehme Folgen haben.

Programmdateien

Prinzipiell muss man zwischen Programmdateien und solchen, die nur Texte oder andere Daten enthalten, unterscheiden. Texte oder vergleichbare Dateien lassen sich recht schnell dadurch überprüfen, dass man sie lädt und optisch auf korrekten Inhalt überprüft. Läßt sich kein Fehler feststellen, bringt man die Datei am besten sofort auf einem anderen Datenträger unter. Ist die FAT in Mitleidenschaft gezogen, kann es vorkommen, dass eine Datei unvollständig ist oder Daten enthält, die eigentlich Bestandteil einer anderen Datei sind. Hier gilt es von Fall zu Fall zu entscheiden, ob sich der Aufwand lohnt, weitere Reparaturmaßnahmen in die Wege zu leiten. (Mehr über Fehler in der FAT in einer kommenden Folge.) Eventuell lassen sich die fehlenden Daten schneller durch erneutes Eintippen ersetzen.

Bei Programmen, die sich fehlerfrei starten lassen, kann davon ausgegangen werden, dass sie nicht beschädigt sind. In den meisten Fällen lassen sich defekte Programmdateien sofort als solche erkennen. Entweder gibt es gleich nach dem Start einen Absturz (Bomben), oder man wird mit einem ?TOS-Fehler #35" darauf aufmerksam gemacht, dass mit der Datei etwas nicht so ganz stimmt. Auch wenn es eine Binsenweisheit sein dürfte: Im Gegensatz zu Textdateien lässt sich mit fehlerhaften Programmdateien rein gar nichts mehr anfangen. Das heißt aber nicht, dass man sie nun ohne Bedenken löschen kann. Es sei nochmals darauf hingewiesen, dass auf einen defekten Datenträger solange keine Schreibzugriffe erfolgen dürfen, bis wirklich alle wichtigen Daten gerettet sind.

Komprimierte Daten

Wachsender Beliebtheit erfreuen sich Programme wie DataLight [1] oder DataDiet [2], die die Speicherkapazität eines Mediums dadurch erhöhen, dass sie Daten während des Speicherns automatisch komprimieren und bei Lesezugriffen wieder entpacken. Dieser Vorgang geschieht im Hintergrund, und bis auf einen gewissen Geschwindigkeitsverlust merkt der Anwender davon nichts. Da sich die Plattenkapazität durch Komprimierung in günstigen Fällen nahezu verdoppeln lässt, stellen diese Programme eine preisgünstige Alternative zur Neuanschaffung einer größeren Festplatte dar. Bei der Benutzung solcher Packer sollte man sich jedoch darüber im klaren sein, dass gepackte Daten besonders anfällig für Datenverluste sind. (Es geht mir bei dieser Bemerkung nicht darum, Sinn und Zweck dieser Programme in Frage zu stellen, sondern lediglich um den Hinweis, dass komprimierte Daten im Falle eines Datenverlustes empfindlich getroffen werden können.) Daher sollte man auf das Packen wichtiger Daten verzichten oder aber besonders peinlich darauf achten, dass Sicherheitskopien vorhanden sind. Gepackt sein können übrigens durchaus auch Daten, bei denen man sich dessen gar nicht bewußt ist. So legen z.B. manche Textverarbeitungen Dateien in einem platzsparenden, komprimierten Format ab. Das führt natürlich dazu, dass eine komplette Textdatei zerstört sein kann, wenn nur wenige Bytes verfälscht wurden. Wird eine solche Datei aufgrund eines Fehlers in den Daten vom Textprogramm nicht mehr erkannt, ist guter Rat teuer. Ob es sich bzgl. der Dateien, die eine Textverarbeitung erzeugt, um komprimierte Daten handelt, lässt sich schnell erkennen. Es genügt, einen kurzen Blick in die Datei zu werfen, sei es per Editor, Disk-Monitor oder auch über das Desktop. Bei nicht optimierten Daten lassen sich die Texte (möglicherweise mit diversen Steuerzeichen durchsetzt) als solche erkennen, bei komprimierten Formaten findet man nur Müll, der mit dem eigentlichen Text nichts gemeinsam hat.

Was die Formatierung von Disketten angeht, kann der Anwender mit geeigneter Software die Speicherkapazität und damit auch das Format recht stark variieren. Es gibt Möglichkeiten, die Kapazität zu vergrößern, ohne dass die Datensicherheit beeinträchtigt wird. So ist es unbedenklich, Disketten mit 10 statt 9 Sektoren pro Spur zu formatieren.

Vofsichtsmaßnahmen

Das sogenannte Hyperformat mit 11 Sektoren bringt zwar nochmals einen Gewinn von ca. 90 KB pro Diskette, birgt jedoch aufgrund der hohen Datendichte erhöhte Risiken. Wichtige Daten sollten daher nicht auf hyperformatierten Disketten untergebracht werden. Wenn es wirklich darauf ankommt, große Datenmengen auf Disketten zu sichern, sollte bei Geräten, die noch mit einer DD-Floppy ausgestattet sind, die Anschaffung eines HD- oder auch ED-Laufwerks in Betracht gezogen werden.

Ein Hinweis für diejenigen, die sicherstellen wollen, dass ihre Disketten sowohl vom ATARI als auch von einem IBM-kompatiblen PC gelesen werden können: Verwenden Sie nur die von beiden Systemen unterstützten Standardformate. Denken Sie daran, dass auf dem ATARI formatierte Disketten erst ab TOS 1.04 von DOS erkannt werden. Besitzen Sie noch eine ältere Systemversion, formatieren Sie die Disketten auf dem PC oder mit einem Programm, das ein IBM-kompatibles Format erzeugt.

Bei Festplatten lassen sich Lesefehler leider nicht in der beschriebenen Weise beheben. Als Anwender hat man kaum die Möglichkeit, Teile defekter Sektoren zu retten. In manchen Fällen hat man nach mehreren Leseversuchen aber doch noch Erfolg, und die Daten des beschädigten Sektors lassen sich lesen. Inwiefern das funktioniert, hängt nicht zuletzt von der Betriebstemperatur der Platte ab.

Problemfall Festplatte

Daß eine Festplatte mit der Zeit Defektstellen aufweist, ist normal. Bei modernen SCSI-Platten werden defekte Sektoren automatisch durch Reservesektoren ersetzt, ohne dass der Anwender es bemerkt. Bei den älteren Platten der ATARI MEGAFILE-Serie ist dies nicht der Fall. Sollte sich die Zahl der defekten Sektoren häufen, ist eine Neuformatierung der Platte ratsam. Klar, dass vorher ein Backup angelegt werden muss.

Wenn auch die Organisation von Daten auf Festplatten der auf Disketten sehr ähnelt, gibt es doch einige Unterschiede, die vor allem darauf beruhen, dass die Platte in der Regel partitioniert, also in mehrere Laufwerke aufgeteilt ist. Daher können bei Festplatten Fehler auftreten, die bei Disketten nicht denkbar sind. Dabei handelt es sich stets um logische Fehler in den Datenstrukturen der Platte und nicht um physikalische Fehler. Mehr darüber beim nächsten Mal.

US

Literatur:

[1] ?DataLight - Per Software aufgemotzt", ST-Computer 4/92
[2] ?DataDiet - Dateien auf Diät", ST-Computer 9/92



Aus: ST-Computer 04 / 1993, Seite 83

Links

Copyright-Bestimmungen: siehe Über diese Seite