HDV 1.43 - Doku --------------- ***** HDV : Festplatte Testen/Ueberschreiben/Lesen/Kopieren/Vergleichen. ***** Testen Die Festplatte wird auf Fehlerfreiheit getestet, indem alle Sektoren gelesen werden. Bei vorhandenen Lesefehlern wird eine Fehlermeldung aus- gegeben und dieser defekte Sektor kann dann optional mit einem frei waehl- barem Fuellbyte ueberschrieben werden, worauf hin die Festplatte diesen Sektor mit einem intakten Reserve-Sektor ersetzt. Zusaetzlich wird eine Meldung ausgegeben, wenn die Festplatte eine laengere Zeit bei einem Sektor haengt, ohne jedoch eine Fehlermeldung zu generieren. Lesefehler und Verzoegerungen werden am Ende als Summe angezeigt. Die Sektoren werden von der Festplatte gelesen, dabei aber nur auf Les- barkeit geprueft. Es erfolgt kein Datentransfer in den Hauptspeicher. Daher ist, insbesondere bei alten Rechnern ohne UDMA-Support im Bios, die Geschwindgkeit des Zugriffs mitunter deutlich schneller als die der uebrigen Funktionen. Ueberschreiben Die Sektoren einer Festplatte werden mit einem frei waehlbarem Fuellbyte ueberschrieben. Es erfolgen dabei die gleichen Tests, wie bei der Funktion "Testen" erlaeutert. Mit dieser Funktion kann eine Festplatte wieder in einen "jungfraeulichen" Zustand zurueckgesetzt werden. Ideal um verunglueckte Partitionstabellen zu loeschen, Bootmanager zu beseitigen, oder einfach eine Festplatte verkaufen zu koennen, ohne dass der neue Besitzer noch alte Daten vorfinden, bzw. restaurieren koennte. Je nach Zustand der Festplatte koennen defekte Sektoren durch das zwangs- weise Ueberschreiben durch HDV wiederbelebt werden. Wenn defekte Sektoren in nicht zu grosser Anzahl vorhanden sind und die Festplatte noch ueber eine ausreichend grosse Menge an internen Reservesektoren verfuegt, kann sie nach dem Ueberschreiben mit etwas Glueck nach aussen hin wieder ueber eine laengere Zeit als fehlerfrei erscheinen. Diese Funktion arbeitet ohne Low-Level-Formatierung, die eine Festplatte moeglicherweise beschaedigen koennte. Insbesondere in der Fruehzeit der IDE- Festplatten gab es viele Modelle, die ein Low-Level-Format nicht ueberlebten. HDV fuehrt stattdessen nur normale Schreibzugriffe aus, die einer Festplatte, unabhaengig vom Modell, nicht gefaehrlich werden koennen. Eine Wiederherstellung der ueberschriebenen urspuenglichen Daten ist nicht moeglich. Auch professionelle Datenretter wie z.B. Ontrack, IBAS, etc. werden keinerlei Daten restaurieren koennen, sofern die ganze Festplatte ueberschrieben wurde. Dass eine Festplatte mehrfach mit verschiedenen Fuellbytes ueberschrieben werden muss, um die urspruenglichen Daten unrettbar zu vernichten, ist ein nicht zutreffendes Geruecht, dass sich leider bis heute gehalten hat. Optional kann HDV in jeden Sektor zusaetzlich die aktuelle Sektornummer als Ascii-Klartext schreiben. Hiermit kann mit der folgenden Funktion "Lesen" die einwandfreie Adressierbarkeit aller Sektoren geprueft werden. Lesen Die Sektoren einer Festplatte werden gelesen und der Inhalt auf das ange- gebene Fuellbyte geprueft. Wurde die Sektornummer vorher in die Sektoren geschrieben, wird die Adressierbarkeit aller Sektoren geprueft, da die gespeicherte Sektornummer mit der aktuellen Sektornummer verglichen wird. Fuer volle Aussagefaehigkeit ist ein Schreiben/Lesen-Lauf ueber die ganze Festplatte erforderlich. Es wird der vollstaendige Sektorinhalt verglichen, nicht nur die gespeicherte Sektornummer. Alternativ kann mit dieser Funktion auch ein Leercheck der Festplatte ge- macht werden, wenn ohne Sektornummer verglichen wird. Kopieren Die Sektoren einer Festplatte werden auf eine zweite Festplatte kopiert. Die Kopie erfolgt unabhaengig vom Inhalt. Die Partitionierung spielt daher keine Rolle. Es koennen daher beliebige Betriebssysteme, Partitionen, auch verschluesselte Daten etc. kopiert werden. HDV prueft nicht die Groesse der Ziel-Festplatte. Wenn bis an des Ende der Quell-Festplatte kopiert werden soll, muss die Ziel-Festplatte entsprechend gleich gross oder groesser als die Quell-Festplatte sein. Lese- und Schreib- fehler (und verzoegerte Zugriffe) werden von HDV in jedem Fall gemeldet. Vergleichen Die Sektoren einer Festplatte werden mit den Sektoren einer zweiten Festplatte bit-genau verglichen. Jede Differenz wird gemeldet. Diese Funktion kann/sollte nach der Funktion "Kopieren" ausgefuehrt werden. Wenn der Vergleich keine Differenz findet, kann die Fehlerfreiheit der Kopie garantiert werden. HDV prueft nicht die Groesse der zweiten (Vergleichs-)Festplatte. Wenn auf diese Festplatte nicht zugegriffen werden kann, werden ensprechende Lese- fehler gemeldet. HDV greift ausschliesslich ueber den INT 13 und der zu diesem Interrupt ge- hoerenden Extensions des Bios auf die Festplatte zu. Da HDV intern und auch beim Zugriff auf die INT 13 Extensions mit 64 Bit breiten Variablen arbeitet, werden praktisch beliebig grosse Festplatten unterstuetzt. HDV und die Bios- Schnittstelle zusammen isoliert betrachtet, liegt die maximale Groesse bei 4722366483 TB, ein wohl auch auf laengere Zeit utopischer Wert. In Abhaengigkeit des Boards und des Bios kann die tatsaechlich maximal unter- stuetzte Festplattengroesse jedoch erheblich niedriger ausfallen. Die IDE- Schnittstelle kann mit BigLBA (48 Bit) immerhin noch 144115 TB, aber ohne BigLBA (28 Bit) nur noch 137 GB adressieren. Darueber hinaus kann das Bios zusaetzlich fehlerhaft programmiert sein und dadurch die maximal erreichbare Kapazitaet noch weiter einschraenken. Auf diese Probleme hat HDV natuerlich keinen Einfluss, kann diese Probleme aber aufdecken, wenn, wie oben unter den Funktionen "Ueberschreiben/Lesen" beschrieben, die Adressierbarkeit aller Sektoren durch Schreiben und Vergleichen der Sektornummern in den jeweiligen Sektoren geprueft wird. HDV ist ein DOS-Programm zum Einsatz unter nativen DOS. Idealerweise wird der Rechner extern (von Diskette, CD oder USB-Stick) gebootet, damit HDV freien Zugriff auf alle internen Festplatten hat. An einer Eingabe-Aufforderung unter NT-basierenden Windows-Versionen (NT, 2K, XP, Vista ..) ist HDV nicht ausfuehrbar, da dort der benoetigte direkte Zugriff auf den INT 13 des Bios nicht moeglich ist. Soll jedoch auf externe USB-Festplatten zugegriffen werden, kann HDV auch in einer DOS-Box von Windows 98, 98SE oder ME eingesetzt werden, sofern der USB- Treiber den Zugriff auf INT 13 (incl. der Extensions) fehlerfrei unterstuetzt. Da HDV alle notwendigen Routinen fuer den Zugriff auf die INT 13 Extensions des Bios enthaelt, muss das verwendete DOS dafuer selbst nicht ausgelegt sein. Ein MS-DOS 6.x ist daher bereits ausreichend. Trotzdem koennen alle Festplatten in allen Groessen vollstaendig genutzt werden, obwohl MS-DOS 6.x aufgrund fehlendem Support der INT 13 Extensions selbst nur auf 8.4 GB zu- greifen kann. Theoretisch laeuft HDV auch auf MS-DOS 5.0, dieses ist aber bisher nicht getestet. Das DOS von Windows 95 oder 98(SE) kann hingegen natuerlich benutzt werden. HDV hat mit diesen Versionen keinerlei Probleme, es sollten aber folgende Aspekte beruecksichtigt werden: DOS von Windows 95 und 95A (evtl. auch 95B und 95C): Wird dieses DOS extern gebootet, prueft es nach ob auf der Festplatte 0 ein Windows 95 installiert ist. Ist dieses der Fall, versucht es den Bootvorgang von dieser Festplatte fortzusetzen. Dieses gilt fuer das DOS von Windows 95 und 95A. Ob auch 95B und 95C betroffen sind, ist im Moment nicht bekannt. DOS von Windows 95B, 95C, 98, 98SE und ME: Wenn smartdrv.exe geladen ist und sich auf der Festplatte eine oder mehrere FAT32-Partitionen (bzw. log. Laufwerke) befinden, fuer die der Cache aktiv ist und die groesser als 137 GB sind, droht der Verlust der Daten in diesen Partitionen(Laufwerken), wenn dort auf diesen Partitionen(Laufwerken) ein beliebiger Schreibzugriff auf Datei- bzw. Verzeichnissebene erfolgt. Hierbei wird die jeweilige FAT zerstoert. Dieses Problem ist unabhaengig von dem BigLBA-Problem aelterer Boards/Biose (137 GB Grenze bei 28 Bit IDE). Die Ursache liegt in der fehlenden Faehigkeit von smartdrv.exe, eine FAT zu adressieren, die laenger als 16.7 MB ist. DOS von Windows ME: Dieses DOS verfuegt ueber keine Vorteile gegenueber dem DOS von Windows 98 und 98SE und ist darueber hinaus in der Funktionalitaet eingeschraenkt. Der Einsatz ist nicht unbedingt empfehlenswert, aber prinzipiell moeglich. Wer eine Festplatte nur testen oder kopieren moechte, ohne sie ueberschreiben zu wollen bzw. Datenverlust riskieren zu koennen, greift am sichersten zu einer DOS-Version aus der 6.x Reihe. Diese Versionen sind deswegen sicher, weil sie ausser FAT16 auf einer Festplatte keine anderen Partitionstypen erkennen und damit auch nicht beschaedigen koennen. Wer aber ein FAT32-faehiges DOS einsetzen moechte, nimmt dann am besten das DOS von Windows 98 oder 98SE, sollte dabei aber sicherstellen, dass smartdrv.exe nicht geladen wird oder zumindestens deaktiviert wird (Parameter c- d- etc.). Dann besteht fuer FAT32-Partitionen mit einer Groesse von ueber 137 GB keine Gefahr. HDV setzt Festplatten voraus, die an der IDE- bzw. SATA-Schnittstelle mit 512 Byte Sektoren arbeiten. Das ist bei bis Ende 2009 gefertigten Festplatten, unabhaengig ihrer Groesse, generell der Fall. Dabei spielt es keine Rolle, wie gross die intern in der Festplatte genutzten Sektoren tatsaechlich sind. Seit Fruehjahr 2010 sind jedoch Festplatten mit grossen Sektoren (1K oder groesser) am Markt erhaeltlich, die auf eine Emulation der 512 Byte Sektoren an der Schnittstelle verzichten. Fuer diese Festplatten verfuegt HDV jetzt ueber die experimentellen Parameter /1k, /2k und /4k fuer die jeweilige Sektorgroesse. Mit diesen Parametern greift HDV dann ausschliesslich mit dieser gewaehlten Sektorgroesse auf die Festplatte zu. HDV nimmt jedoch keine Ueberpruefung, ob die gewaehlte Sektorgroesse mit der tatsaechlichen Sektorgroesse der Festplatte uebereinstimmt, vor. Es muss daher unbedingt der korrekte Parameter angegeben werden. Umgekehrt darf bei Fest- platten mit 512 Byte Sektoren an der Schnittstelle keiner dieser Paramater angegeben werden. Es ist geplant, HDV um die noch fehlende automatische Erkennung der Sektor- groesse zu erweitern. Achtung! Alle Funktionen von HDV sind gruendlich getestet. Im Gegensatz zum Zugriff mit 512 Byte Sektoren gilt dieses jedoch nicht fuer den Zugriff mit grossen Sektoren mit o.g. Parametern. Mangels geeigneter Hardware konnte dieses bisher vom Autor leider noch nicht vollstaendig getestet werden. HDV greift ausschliesslich ueber die INT 13 Extensions auf die Festplatte zu. Der alte C/H/S-Modus, der mit LBA nur einen Zugriff auf 8.4 GB, und ohne LBA sogar nur auf 528 MB ermoeglichte, wird nicht mehr unterstuetzt, da Boards ohne die INT 13 Extensions heute wohl endgueltig ausgestorben sind. Diese Extensions sind ca. um 1996, also zu Zeiten der Pentium I -Generation, dem Bios hinzugefuegt worden. Seit der darauf folgenden Pentium II -Generation stehen sie durchweg zur Verfuegung. Fuer den 64 Bit breiten Zugriff auf die INT 13 Extensions setzt HDV das Vorhandensein eines Co-Prozessors (FPU) voraus, der jedoch generell seit der Pentium I -Generation intern im Prozessor zur Verfuegung steht. Um die Groesse von HDV nicht unnoetig anwachsen zu lassen, aber auch weil Boards ohne Co-Prozessor auch nicht ueber die notwendigen INT 13 Extensions verfuegen und damit sowieso nicht mehr unterstuetzt werden, wurde auf die Moeglichkeit, eine Laufzeitbibliothek zur Emulation eines Co-Prozessors einzubinden, verzichtet. Ein Abbruch ist jederzeit mit moeglich. Der Einsatz von HDV erfolgt auf eigene Gefahr. Bei falscher Anwendung ist vollstaendiger Datenverlust moeglich. Frank Grotelueschen www.fgro.de *** HDV 1.43 (12.04.10) Freeware ***