VIELLEICHT DER STROHHALM DEN ICH GESUCHT HABE!
Diesen Text habe ich gerade von den Support-Leuten von ENMIC (mein Board: 8TTX+) geschickt bekommen..
Der Highpoint-Raid-Controller meldet: "broken stripe"! Wie kann ich das Problem beheben? von Andreas Prevot
getestet bei einem Highpoint HPT370 onboard-Controller, 2 IBM 307030 Festplatten jeweils als Master an primär und sekundär als Raid-0, Board: ENMIC 8ttx+ Layer 0.3 - die Lösung sollte jedoch im Prinzip bei allen Highpoint-Controllern funktionieren. Das Verfahren funktioniert auch, wenn aus Versehen der Raid-Verband gelöscht wurde (aber nur solange die Daten auf der Festplatte noch nicht überschrieben wurden? Wenn man 2 Festplatten an einem Highpoint Controller als Raid-0 Verbund anschließt kann es unter bestimmten Bedingungen zu einem kompletten Datenverlust kommen; deshalb sollte ein Raid-0 Verbund nie zum sichern wichtiger Daten verwendet werden. Der Fehler tritt unter Umständen. auf, wenn man kurzzeitig eine Raid-Platte austauscht oder falsch anschließt. Bei mir kam es zu dem Problem nach der Aktualisierung eines Bootmanagers. Das
Problem kann aber auch mit allen anderen Programmen auftreten, die den 0-Sektor der Festplatte verändern - insbesondere Viren!
Lösung:
Tip: Um Verwechslungen der Platten auszuschließen, diese markieren. Eine abklemmen und im Raid-Bios nachsehen ob das die erste oder die 2. im ehemaligen Verband ist und entsprechend mit 1 und 2 markieren, da die Reihenfolge von großer Bedeutung ist! Als erstes sollte man sich den 0-Sektor jeder einzelnen Festplatte sichern, damit man nach einem fehlgeschlagenen Rettungsversuch den Ausgangszustand
wiederherstellen kann. Dazu schließt man die erste Festplatte des Verbandes als einzigste an einen "normalen" IDE-Anschluß an. Nun bootet man von einer DOS-Bootdiskette und startes das Programm "bootusc" ( ) von Diskette mit folgender Option:
bootusc save_track0 file=raid1.bin
Den weiteren Dialogen folgen. Dadurch wird die Null-Spur der Festplatte auf die Diskette in die Datei raid1.bin gesichert. Den selben Vorgang nun mit der 2. Raid-Platte durchführen jedoch mit der Option: bootusc save_track0 file=raid2.bin damit die Nullspur der 2. Platte in die Datei raid2.bin gesichert wird.
Nun muss man mit einem Hex-Editor weiterarbeiten.
Es ist es praktisch wenn man eine 3. Festplatte oder einen weiteren Rechner zur Verfügung hat, auf der man ein funktionierendes Windows installieren kann. Ist dies nicht der Fall muss man auf einen DOS-Hexeditor zurückgreifen, der den direkten Zugriff auf den Nullsektor der Festplatte
zulässt wie z.B. Norton Diskeditor. Hat man ein Windows zur Verfügung kann man auf "Hex Workshop" zurückgreifen
( ). Nun wieder zuerst nur die 1. Raid-Platte an den normalen IDE-Anschluß anschließen und Windows starten. Hex Workshop starten. Unter dem Menüpunkt "Disc" Open Drive wählen und unter Select "Physical Discs". Dann die Raid-Platte öffnen (normalerweise die 2. Platte in der Liste, da die erste die Windows-Platte ist) Nun sieht man den ersten Sektor der Platte. <>
Mit den Pfeiltasten (im Bild rot markiert) kann man nun zwischen den einzelnen Sectoren wechslen. Nun in den Sectoren Null bis ca 32 (je nach Größe der Platte - bei meinen zwei 30GB Platten war es jeweils Sector 9)
nach der Hex-Folge 1678 suchen. Dies ist die Zeile in der die Informationen über den Raid-Verband stehen.
Bei mit sieht der komplette Eintrag folgendermaßen aus:
F016 785A 7A04 7A4C 0000 0000 0400 0000 0203 0000 E02A 2807
Die 1678 ist der Teil der sich nach meiner Information nie ändert. Dieanderen Werte variieren.
Sollte man die Reihenfolge nicht finden, dann es mal mit der 2. Platte versuchen. Wird man hier fündig, dann gilt folgendes:
DIese Zeile muß auf beiden Fesplatten im selben Sector an der selben Position existieren! Wenn diese auf einer Festplatte durch ein Programm verändert oder teilweise gelöscht wurde kommt es zu der Fehlermeldung
"broken Array" Desweitern gilt folgendes zu beachten: Wenn diese Zeile noch auf einer Platte existiert, die Werte exakt aufschreiben und an der selben Stelle auf
der 2. Platte einfügen.
Zu beachten: XX16 78XX XXXX XXXX 0000 0000 XXXX 0000 XXXX 0000 XXXX XXXX
Die blauen X habe glaub ich was mit der im Raid-Bios eingestellten Größe zu tun (ich hatte 4kb)
Die roten Nullen stehen für die ERSTE Platte im Raid-Verband. Auf der 2. Platte muß stattdessen 0001 stehen!
Hat man beide Platten entsprechend korrigiert, die Platten wieder an den RAID-Controller anschließen und starten.
Ist auf keiner der beiden Platten mehr der Eintrag für den Raid-Verbund vorhanden, die Platten in der Reihenfolge an den Controller anschließen wie sie vorher waren und nun ein neuen RAID-0-Verband erstellen - auch bei der
Erstellung wieder auf die Richtige Reihenfolge achten. Die Cluster???-Größe (ob das die genaue Bezeichnung ist weiß ich leider nicht mehr so genau) so wählen wie sie bei der alten Platte war (4kb - 64kb). Vor der Warnmeldung
keine Angst haben - es werden keine Daten gelöscht, sondern nur der Nullsector der Festplatte verändert!
Nun wieder die Platten einzeln an den normalen IDE-Controller anschließen und in Hexworkshop die Platte und zusätzlich noch die mit bootusc erstellte
Sicherheitskopie öffnen ( raid1.bin bzw. raid2.bin.) Der Raidcontroller löscht nämlich zusätzlich den absoluten Sektor 0. Diesen kann man aber aus der Sicherheitskopie kopieren und auf der Festplatte einfügen. An beiden
Festplatten diese Methode durchführen - nur darauf achten, dass man auf der ersten Platte die Datei raid1.bin und auf der 2. platte die Datei raid2.bin benutzt.
Jetzt müsste die Festplatte wieder einsatzbereit sein - der Raid-Eintrag (die Zeile mit der 1678) wurde ja nun vom Controller neu erzeugt.
Die Festplatten an den Raidcontroller anschließen und hoffen dass alles geklappt hat.
Fehlerquellen:
Falsche Reihenfolge der Platten im Verband - notfalls den oben angesprochenen Wert 0000 bzw 0001 für die 2. Platte auf beiden Platten austauschen.
2. Fehlerquelle: Die Cluster???-größeneinstellung (4kb - 64kb) - mal einen
anderen Wert ausprobieren wenn es nicht klappen sollte - wenn jedoch auf einer der Platten die Raid-Zeile noch vorhanden war sollte dieser Wert stimmen:
Beispiel: F016 785A 7A04 7A4C 0000 0000 0400 0000 0203 0000 E02A 2807 - hier 0400 für 4kb Clustergröße
3. Fehlerquelle -und diese ist fatal! Es wurden nach dem Crash wichtige Bereiche der Platte durch irgendwelche Aktionen überschrieben - z.B. Die Partitionstabelle o.ä. - Dann hilft nur noch die Platte wie oben beschrieben
Wiederherstellen und mit einem Datenrettungstool (z.B. Ontrack Easy Recovery
www.ontrack.de ) nach Daten durchsuchen und so
wiederherstellen. Nützlicher Artikel hierzu:
Eine weitere Methode (Meiner Meinung nach unzuverlässiger) kann man sich auf Englisch hier durchlesen:
www.viahardware.com/faq/kt7/faqhpt370.htm
So ich hoffe ich habe Dir geholfen. Hatte nämlich das selbe Problem und habe im Netz und von Firmen-Hotlines nur mangelhafte Informationen erhalten - "Ja die Daten sind weg, die können nicht wieder hergestellt werden....". Da ich
mich in die Materie (den ganzen Nullsector und Hex-kram) selbst eingearbeitet habe, habe ich mehrere Tage an der Lösung gesessen und etliche Liter Kaffee benötigt um die Nerven zu behalten. Aber letztendlich habe ich
meine wichtigen Daten gerettet und daraus gelernt nichts Wichtiges auf einem Raid-0 System zu speichern
Diesen Text habe ich direkt nach meiner erfolgreichen Datenrettung erstellt, damit es andere leichter haben. Hoffe, dass alles verständlich ist (für Laien ist diese Lösungsanleitung jedoch nicht geschaffen). Wegen Zeitmangels
ist diese Anleitung leider ziemlich schlicht gehalten - hoffe sie erfüllt trotzdem Ihren Zweck.
Bei Fragen, Unklarheiten, Fehlern etc könnt Ihr euch gerne an mich wenden:
a.prevot@web.de
Dieser Text darf ausdrücklich in irgendwelche Webseiten integriert werden (man kann das alles natürlich schöner gestalten, wenn man die Zeit dazu besitzt) , solange ich dankend erwähnt werde - als Lohn für meine Arbeit
ANDREAS PREVOT, Juni 2001