Kapitel – 3
Logischer Ansatz für Festplatten und Betriebssystem
Die Festplatte kann ihre Hardware nicht selbst ausführen und benötigt zwei grundlegende Software, um ihre Operationen auszuführen, das BIOS (Basic Input Output System) und das DOS (oder Betriebssystem). Das Plattenbetriebssystem spricht nicht direkt mit der Hardware von Computer und Festplatte, sondern benötigt das BIOS dazwischen. Aus diesem Grund hat das BIOS eine wichtige Rolle im Computer übernommen.
BIOS
Die grundlegende Aufgabe des BIOS besteht darin, eine Standardschnittstelle zwischen der Hardware oder den an den Computer angeschlossenen Geräten und dem DOS bereitzustellen. Das System-BIOS ist die unterste Schnittstelle zwischen der Hardware Ihres Systems und der darauf ausgeführten Software . Es spielt mehrere wichtige Rollen, die es bei der Kontrolle des Zugriffs auf Festplatten spielt, wie z
- BIOS-Unterbrechungsroutinen
- Festplattenerkennung und -konfiguration
- Unterstützung des Festplattenschnittstellenmodus
Um die Interoperabilität verschiedener Hardware- und Softwareprodukte zu gewährleisten, ist das BIOS des Systems auf die Anforderungen seiner Hardware zugeschnitten und bietet eine Standardmethode, mit der Software die Hardware ansprechen kann. Diese werden als BIOS-Dienste bezeichnet und von vielen Betriebssystemen und Anwendungsprogrammen verwendet. Sie bieten eine einheitliche Schnittstelle zur Festplatte, sodass Anwendungen nicht wissen müssen, wie sie mit jedem Festplattentyp einzeln kommunizieren sollen.
Standard IDE/ATA-Festplatten werden im BIOS über verschiedene BIOS-Einstellungen konfiguriert. Moderne BIOS-Programme können moderne IDE/ATA-Festplatten erkennen, um diese Parameter zu ermitteln und automatisch zu konfigurieren. Das BIOS steuert, welche Arten von Schnittstellenmodi mit der Festplatte verwendet werden können, indem es mit dem System-Chipsatz auf der Hauptplatine und dem System-I/O-Bus arbeitet.
Die INT 13H-Schnittstelle und INT 13H-Erweiterungen
Die primäre Schnittstelle zum BIOS war der Software-Interrupt 13H, der allgemein als INT 13H bekannt ist, wobei INT für Interrupt steht und 13H die Zahl 19 in hexadezimaler Notation ist.
Wir werden die Verwendung von Interrupts beim Programmieren im Detail in der Programmierphase dieses Buches lernen und diskutieren. Die Int13H-Schnittstelle unterstützt viele verschiedene Befehle, die an das BIOS gegeben werden können, das sie dann an die Festplatte weiterleitet. Der Interrupt 13H umfasst die meisten Aufgaben, die wir mit der Festplatte ausführen müssen, wie Lesen, Schreiben, Formatieren usw.
Die Verwendung und Arbeit mit Int13H erfordert, dass das aufrufende Programm die spezifischen Parameter der Festplatte kennt und den Routinen eine genaue Kopf-, Zylinder- und Sektoradressierung zur Verfügung stellt, um den Plattenzugriff zu ermöglichen.
Das BIOS verwendet die Geometrie für die Festplatte, wie sie im BIOS-Setup-Programm eingerichtet ist. Die Int13H-Schnittstelle belegt 24 Bit für die Spezifikation der Geometrie des Antriebs, aufgeteilt wie folgt:
- 10 Bit für die Zylindernummer oder insgesamt 1.024 Zylinder.
- 8 Bits für die Kopfnummer oder insgesamt 256 Köpfe.
- 6 Bits für die Sektornummer oder insgesamt 63 Sektoren.
So kann die maximal mögliche Anzahl von Sektoren in der Platte sein
= 1024 * 256 * 63
= 16515072
Wie wir hier sehen, kann die INT 13H-Schnittstelle Festplatten mit bis zu 16515072 Sektoren mit 512 Bytes pro Sektor unterstützen. Somit kann die maximale Festplattengröße sein,
= 16515072 * 512
= 8455716864 Bytes
~ 8.456 GB
Somit kann die INT 13H-Schnittstelle die Festplattengröße ungefähr bis zu 8,456 GB (oder 7,875 GiB) unterstützen.
Heutzutage verwenden die meisten Computerbenutzer Festplatten mit einer viel größeren Kapazität als 8 GB, weshalb die INT 13H-Schnittstelle in modernen Computersystemen endgültig das Ende ihrer Nützlichkeit erreicht hat und durch eine neuere Schnittstelle namens INT ersetzt wurde 13H-Erweiterungen, jedoch kann INT 13H weiterhin von DOS und einigen anderen älteren Betriebssystemen sowie aus anderen Kompatibilitätsgründen verwendet werden.
Int 13H-Erweiterungen
Es ist wirklich eine interessante Geschichte, dass, als die INT 13H-Schnittstelle entwickelt wurde, niemand jemals damit gerechnet hat, die 8-GB-Größe auf der Festplatte zu bekommen. Heutzutage können wir jedoch eine 8-GB-Festplatte in ihrer Kapazität als viel kleiner empfinden, selbst für den PC eines Heimanwenders.
Der ältere Standard hat eine wichtige Einschränkung, dass er 24 Bit Adressierungsinformationen verwendet und als solcher nur Laufwerke verarbeiten kann, die bis zu 16515072 Sektoren mit 512 Byte pro Sektor enthalten, was eine maximale Kapazität von 8,456 GB (oder 7,875 GiB) ergibt.
Das Problem bestand also darin, den Zugriffspfad von 24 Bit auf etwas Größeres zu erweitern, aber es war nicht möglich, die vorhandene INT13H-BIOS-Schnittstelle zu erweitern, da wenn wir dies versuchen würden, eine Menge älterer Hardware und Software nicht mehr funktionieren würde. Und praktisch gibt es keine Hoffnung, mit viel älterer Hardware und Software, die nicht mit Ihrer Entwicklung funktioniert, einen respektablen Platz in der Computerwelt zu erreichen.
Daher wurde eine neue Schnittstelle entwickelt, um Int13H zu ersetzen. Diese Routinen werden als Int13H-Erweiterungen bezeichnet. Diese neue Schnittstelle verwendet 64 Bit statt 24 Bit zur Adressierung und erlaubt eine maximale Festplattengröße von 9,4 * 10 21 Byte, also 9,4 Billionen Gigabyte.
Wir lernen die Verwendung der beiden Erweiterungen INT 13H und INT 13H im Programmierabschnitt dieses Buches kennen. Es gab eine Reihe anderer Größenbeschränkungen, die in früheren Tagen stattfanden. Einige der gängigen logischen und physikalischen Grenzen wurden im Folgenden beschrieben:
Die 2,1-GB-Grenze
Diese Größenbeschränkung wurde in einigen älteren BIOSen beobachtet, die nur 12 Bit für das Feld im CMOS-RAM zuweisen, das die Anzahl der Zylinder angibt. Daher darf diese Zahl höchstens 111111111111B (maximal mögliche 12-Bit-Binärzahl) sein, was 4095 entspricht. Auf diese Weise beträgt die maximale Plattengröße mit 16 Köpfen, auf die zugegriffen werden kann:
= 4095 * 16 * 63 * 512 Bytes
= 2113413120 Bytes are accessible.
Die 33,8-GB-Grenze
Diese Barriere bei der Festplattengröße wurde Anfang 1999 bemerkt. Große Festplatten weisen 16 Köpfe, 63 Sektoren/Spur und 16383 Zylinder auf. Viele BIOS berechnen eine tatsächliche Anzahl von Zylindern, indem sie die Gesamtkapazität durch 16*63 dividieren.
Bei Festplatten mit mehr als 33,8 GB führt dies zu einer Zylinderzahl von mehr als 65535. In diesem speziellen Fall können einige Versionen von Award BIOS Laufwerke mit mehr als 65.535 Zylindern nicht verarbeiten. Jetzt stürzt das BIOS ab oder hängt sich auf. Da Festplattenparameter normalerweise 16 Köpfe und 63 Sektoren verwenden, ergibt dies eine Kapazität von etwa 33,8 GB oder 31,5 GiB, bevor Probleme auftreten.
Die Lösung besteht darin, das BIOS zu aktualisieren, oder Sie können einen Jumper verwenden, um die Festplatte kleiner erscheinen zu lassen.
ATA-Spezifikation für IDE-Festplatten – Die 137-GB-Grenze
Die alte ATA-Spezifikation erlaubt keinen Zugriff auf eine Festplatte, die größer als 137 GB ist. Tatsächlich verwendet es nur 28 Bits, um eine Sektornummer anzugeben. ATA-6 definiert jedoch eine Erweiterung mit 48-Bit-Sektornummer.
Die Grenze der Plattengröße wurde mit der Kombination von höchstens 65536 Zylindern, die von 0 bis 65535 gezählt werden, 16 Köpfen, die von 0 bis 15 gezählt werden, und 255 Sektoren pro Spur, die von 1 bis 255 gezählt werden, der maximalen Gesamtkapazität der Platte, generiert.
= 65535 * 16 * 255 Sectors
= 267386880 Sectors
= 136902082560 Bytes (Sector of 512 Bytes Each)
~ 137 GB
BIOS-IDE-Unterstützung für zwei und vier Festplatten
Heutzutage unterstützen die meisten modernen BIOS-Programme die automatische Festplattenerkennung, wodurch das BIOS jede Festplatte abfragen kann, um ihre logische Geometrie, unterstützte Übertragungsmodi und andere Informationen zu ermitteln. Dies kann je nach BIOS entweder zur Setup-Zeit oder dynamisch bei jedem Systemstart erfolgen.
Das System-BIOS bietet native Unterstützung für IDE/ATA-Festplatten, daher kann es eine Reihe von Parametern geben, die eingestellt werden können, um dem BIOS mitzuteilen, welche Festplatten sich im System befinden und wie sie gesteuert werden. Jede Festplatte im System hat ihre eigenen Einstellungen, also gibt es einen Satz für den primären Master und einen für den primären Slave und so weiter. SCSI-Festplatten werden jedoch über ihren Hostadapter und das integrierte SCSI-BIOS konfiguriert.
Da Festplatten mit einer Größe von über 8 GB nicht mit herkömmlichen IDE/ATA-BIOS-Geometrieparametern beschrieben werden können, ist die dynamische Autoerkennung die Standardmethode zum Einrichten moderner Laufwerke, insbesondere bei älteren Computersystemen. Der Benutzer kann jedoch noch einige Laufwerke einstellen Parameter manuell.
Im Folgenden finden Sie die Einstellungen, die normalerweise im BIOS-Setup-Programm zum Konfigurieren von IDE/ATA-Festplatten zu finden sind. Obwohl auf modernen Systemen einige der ältesten Kompatibilitätseinstellungen möglicherweise nicht einmal mehr vorhanden sind:
- Festplattentyp: wurde ursprünglich verwendet, um dem Benutzer zu ermöglichen, seine Festplatte aus einer vordefinierten Liste auszuwählen, aber jetzt wird dies verwendet, um die automatische oder manuelle Parametereinstellung für das Laufwerk zu steuern.
- Größe: Größe des Festplattenlaufwerks in Dezimal-Megabyte. Sie errechnet sich aus den anderen Parametern wie Zylinder, Köpfe und Sektoren etc.
- Zylinder: Die Anzahl der logischen Zylinder auf der Festplatte.
Köpfe: Die Anzahl der logischen Köpfe auf der Festplatte.
- Sektoren: Die Anzahl der logischen Sektoren mit jeweils 512 Bytes in jeder logischen Spur auf der Festplatte. Normalerweise haben moderne Festplatten 63 Sektoren auf einer einzigen Spur.
- Schreibvorkompensation: ist eine Kompatibilitätseinstellung, die angibt, bei welcher Zylinderzahl Schreibanpassungen für sehr viel ältere Laufwerke vorgenommen werden sollen.
- Landezone (Parkende Köpfe): Die Landezone ist der Zylinder, in dem die Köpfe vom BIOS geparkt werden, um den Datenverlust oder die Erstellung fehlerhafter Sektoren zu vermeiden, wenn das Laufwerk abgeschaltet wird. Da die modernen Festplatten ihre Köpfe automatisch parken, wird sie heute nur noch selten benötigt.
- Übersetzungsmodus: Der BIOS-Übersetzungsmodus, der zur Unterstützung von Festplatten über 504 MB verwendet wird.
- Blockmodus: Zur Steuerung der Fähigkeit des BIOS, Datenträgerübertragungen in Blöcken durchzuführen.
- Programmed I/O (DMA) Mode: Der programmierte I/O-Modus oder DMA-Modus, der verwendet wird, um Übertragungen zur und von der Festplatte durchzuführen.
- 32-Bit-Übertragungsmodus: Steuert die Verwendung von leistungsstärkeren 32-Bit-Datenübertragungen.
Einschränkungen in Dateisystemen
Jedes Dateisystem unterstützt eine maximale Volume-Größe, Dateigröße und Anzahl von Dateien pro Volume.
Zum Beispiel sind FAT16- und FAT32-Volumes im Allgemeinen auf 4 GB bzw. 32 GB (allgemein) begrenzt. Es gibt einige Einschränkungen in Bezug auf FAT-Dateisysteme, die Sie kennen müssen, siehe unten:
- FETT12:FAT-Volumes kleiner als 16 MB werden als FAT12 formatiert. Es ist der älteste FAT-Typ und verwendet eine 12-Bit-Binärdatei, um Clusternummern zu speichern. Ein mit FAT12 formatiertes Volume kann maximal 4.086 Cluster aufnehmen, was 2 12 minus einiger reservierter Werte für die Verwendung in FAT entspricht. (Wir werden es im Detail in der logischen Struktur der Platte besprechen, die als nächstes in diesem Kapitel gegeben wird). Daher ist FAT12 am besten für kleinere Volumes geeignet. Es wird auf Disketten und Festplattenpartitionen verwendet, die kleiner als etwa 16 MB sind.
- Fett16: Der FAT16 verwendet eine 16-Bit-Binärzahl, um Clusternummern zu speichern. Ein Volume, das FAT16 verwendet, kann maximal 65.526 Cluster aufnehmen, was 2 16 minus einigen reservierten Werten entspricht, die in FAT verwendet werden sollen. (Wir werden es im Detail in der logischen Struktur der Platte besprechen, die als nächstes in diesem Kapitel gegeben wird). FAT16 wird für Festplattenvolumes mit einer Größe von 16 MB bis 2.048 MB verwendet. Auf FAT16-Volumes mit mehr als 2 GB kann von Computern mit MS-DOS, Windows 95/98/ME und vielen anderen Betriebssystemen nicht zugegriffen werden. Diese Einschränkung tritt auf, weil diese Betriebssysteme keine Clustergrößen über 32 KB unterstützen, was zu einer Beschränkung von 2 GB führt. (Siehe die Cluster-Grenze weiter unten in diesem Kapitel).
- FAT32: Theoretisch können die maximalen FAT32-Volumes bis zu 2048 GB (ca. 2 Terabyte) betragen. FAT32 wird von der OEM SR2-Version von Windows 95 sowie von Windows 98/ME unterstützt. FAT32 verwendet eine 28-Bit-Binärclusternummer (Denken Sie daran! nicht 32, da 4 der 32 Bits „reserviert“ sind). Somit kann FAT32 theoretisch Volumes mit über 268 Millionen Clustern (tatsächlich 268.435.456 Cluster) verarbeiten und unterstützt Laufwerke mit einer Größe von bis zu 2 TB. Dafür wird die Größe der FAT jedoch sehr groß. (Wir werden es in den folgenden Themen in diesem Kapitel besprechen).
Der Vergleich der FAT-Typen wurde als nächstes in der Tabelle angegeben.
NTFS: NTFS steht für New Technology File System. Es wird von Windows 2000/XP verwendet. Theoretisch beträgt die maximale NTFS-Partitionsgröße (2 64 – 1) Cluster.
Die detaillierte Beschreibung des NTFS-Dateisystems würde den Rahmen dieses Buches sprengen, jedoch werden einige Einschränkungen in der folgenden Tabelle aufgeführt:
Description
|
Limit |
Maximum file size
|
16 Exabytes – 1 KB (2 64 Bytes – 1 KB) |
Maximum volume size
|
(2 64 – 1) clusters |
Files (and Folders) per volume
|
4,294,967,295 (2 32 – 1 ) Flies and Folders |
Cluster
Die kleinste zuzuweisende Speicherplatzeinheit auf der Festplatte, auf die jede Software zugreifen kann, ist der Sektor , der 512 Bytes enthält. Es ist möglich, ein Zuordnungssystem für die Festplatte zu haben, bei dem jeder Datei so viele einzelne Sektoren zugewiesen werden, wie sie benötigt. Eine 1-MB-Datei würde beispielsweise etwa 2.048 einzelne Sektoren zum Speichern ihrer Daten benötigen.
Bei einem FAT-Dateisystem oder besser gesagt bei den meisten Dateisystemen werden einzelne Sektoren nicht verwendet. Dafür gibt es mehrere Performance-Gründe. Wenn DOS Informationen auf die Festplatte schreibt, weist es den Speicherplatz nicht sektorweise zu, sondern verwendet stattdessen eine neue Speichereinheit namens Cluster.
FAT wurde vor vielen Jahren entwickelt und ist ein einfaches Dateisystem, das nicht in der Lage ist, einzelne Sektoren zu verwalten. Stattdessen gruppiert FAT Sektoren in größere Blöcke, die als Cluster oder Zuordnungseinheiten bezeichnet werden.
Ein Cluster ist die kleinste Einheit von Speicherplatz, die einer Datei zugewiesen werden kann. Aus diesem Grund werden die Cluster oft als Zuordnungseinheiten bezeichnet. Es kann sehr schwierig sein, die Festplatte zu verwalten, wenn Dateien in 512-Byte-Stücke aufgeteilt werden.
Ein 20-GB-Datenträger mit einzeln verwalteten 512-Byte-Sektoren würde über 41 Millionen einzelne Sektoren enthalten, und die Verfolgung dieser vielen Informationen ist zeit- und ressourcenintensiv. Einige Betriebssysteme weisen den Dateien jedoch Speicherplatz nach Sektor zu, aber sie benötigen eine fortgeschrittene Intelligenz, um dies richtig zu tun.
Cluster sind der minimale Speicherplatz, der vom DOS zugewiesen wird, wenn Informationen auf der Festplatte gespeichert werden. Selbst um nur ein Byte lange Informationen auf der Platte zu speichern, wird mindestens ein Clusterbereich auf der Plattenoberfläche benötigt.
Wenn ein Cluster 512 Bytes an Informationen speichern kann, benötigen Sie zum Speichern von 513 Bytes zwei Cluster. Jeder Datei muss eine ganzzahlige Anzahl von Clustern zugeordnet werden. Das bedeutet, wenn ein Volume Cluster verwendet, die 4.096 Bytes enthalten, dann verwendet eine 610-Byte-Datei einen Cluster, also 4.096 Bytes auf der Festplatte, aber eine 4.097-Byte-Datei verwendet zwei Cluster, also 8.192 Bytes auf der Festplatte.
Aus diesem Grund ist die Clustergröße so wichtig, um sicherzustellen, dass Sie die effiziente Nutzung der Festplatte maximieren. Daher können wir verstehen, dass je größer die Clustergrößen sind, desto mehr Platz wird verschwendet.
Die folgende Abbildung zeigt die Eigenschaften einer Datei namens BINARY.C und verdeutlicht die Tatsache des Speicherplatzes, der von der Datei auf der Festplatte verwendet wird. Die tatsächliche Größe der Datei beträgt 610 Bytes, aber da der einzelne Cluster 4.096 Bytes groß ist, verwendet die Datei einen Cluster (4.096 Bytes) auf der Festplatte.
Ein Cluster kann aus einem oder mehreren Sektoren bestehen. Dies hängt vom verwendeten Datenträgertyp ab. Da ein Cluster aus mehr als einem Sektor bestehen kann, reduziert die Verwendung von Clustern als Zuordnungseinheit die Größe der Dateizuordnungstabelle, die DOS verwendet, um die Informationen über den belegten und leeren Speicherplatz zu speichern.
Die Clustergröße wird hauptsächlich durch die Größe des Festplattenvolumens bestimmt. Wenn nicht genau genommen, verwenden größere Volumes im Allgemeinen größere Clustergrößen. Bei Festplattenvolumes reicht die Größe jedes Clusters von 4 Sektoren (2.048 Byte) bis 64 Sektoren (32.768 Byte).
Disketten verwenden viel kleinere Cluster und in einigen Fällen einen Cluster mit einer Größe von nur 1 Sektor. Die Sektoren in einem Cluster sind kontinuierlich, sodass jeder Cluster ein kontinuierlicher Speicherplatzblock auf der Festplatte ist.
Die Clustergröße und damit die Partitions- oder Volumegröße, da sie in direktem Zusammenhang stehen, hat einen wichtigen Einfluss auf die Leistung und Festplattenauslastung. Die Clustergröße wird bestimmt, wenn das Festplattenvolumen partitioniert wird.
Es gibt einige Dienstprogramme wie Partition Magic, die die Clustergröße einer vorhandenen Partition innerhalb der Grenzen bestimmter Bedingungen ändern können, aber für den allgemeinen Fall, sobald die Partitionsgröße und Clustergröße ausgewählt sind, ist sie festgelegt.
Wie wir bereits besprochen haben, beginnt die Zylinder- oder Spurnummer bei 0 und die erste Sektornummer wird immer als 1 angenommen, und Sie sollten sich noch daran erinnern, dass die erste Clusternummer immer als 2 angenommen wird.
Clustergröße
Cluster werden verwendet, um den Speicherbereich nur für den Datenbereich zuzuweisen. FAT und Verzeichnisbereich werden nicht entsprechend der Clustergröße zugewiesen. Auf einer Festplatte, die 512-Byte-Sektoren verwendet, enthält ein 512-Byte-Cluster einen Sektor, während ein 4-KB-Cluster 8 Sektoren enthält.
Die folgenden Tabellen listen die Standard-Clustergrößen auf, die von DOS für verschiedene Festplattenformate verwendet werden. Die Größe des Clusters kann jedoch unter bestimmten Umständen von der Standardgröße abweichen:
Floppy Disk Drive (FDD) |
Drive Types |
Sectors/Cluster |
Total Cluster size in bytes (Sectors of 512 bytes Each) |
5.25” 360Kb FDD |
2 sectors |
1,024 |
5.25”1.2Mb FDD |
1 sector |
512 |
3.5” 720Kb FDD |
2 sectors |
1,024 |
3.5”1.44Mb FDD |
1 sector |
512 |
3.5”2.88MB FDD |
2 sectors |
1,024 |
FAT16, FAT32 und NTFS verwenden jeweils unterschiedliche Clustergrößen, abhängig von der Größe der Partition, und jedes Dateisystem hat eine maximale Anzahl von Clustern, die es unterstützen kann. Je kleiner die Clustergröße, desto effizienter speichert eine Festplatte Informationen, da ungenutzter Speicherplatz innerhalb eines Clusters nicht von anderen Dateien verwendet werden kann.
Die folgende Tabelle zeigt die Standardclustergrößen für FAT16-, FAT32- und NTFS-Dateisystempartitionen. FAT 32 ermöglicht eine viel effizientere Speicherung und Verwendung größerer Festplatten, 32-Bit-FAT ist nur mit Windows 95 OSR-2 und Windows 98/ME kompatibel. FAT 16 wird von MS-DOS, Windows 3.1, Windows 95 und Windows NT unterstützt. Die Betriebssysteme Windows 2000/XP verwenden das NTFS-Dateisystem.
Note : Hier wurde 1 KiB für 1 binäres Kilobyte geschrieben, was bedeutet, dass 1 KiB aus 1024 Bytes besteht, oder wir können sagen, dass zwei Sektoren von 512 Bytes 1 KiB entsprechen.
Mit zunehmender Größe der FAT16-Partition nimmt auch die Verschwendung von Speicherplatz zu. Die Verwendung von FAT32 reduziert die Clustergrößen und sorgt somit für eine effiziente Speicherung. Während FAT32 die Verwendung größerer Festplatten und stark reduzierter Clustergrößen ermöglicht, gibt es bei der Verwendung von FAT32 einen wichtigen Leistungsaspekt, dass die riesigen Festplatten mit Dutzenden von Gigabyte FAT32 für neuere Systeme unverzichtbar gemacht haben. Vielmehr können wir sagen, dass Sie oft keine praktische Wahl mehr zwischen FAT16 und FAT32 haben.
Betrachten wir eine Partition von 2.048 MB, die größte, die FAT16 unterstützen kann. Wenn diese Partition unter FAT16 eingerichtet wird, führt dies zu einer Dateizuordnungstabelle mit 65.526 Clustern darin, wobei jeder Cluster 32 KiB Speicherplatz beansprucht.
Die große Clustergröße führt in der Tat zu einer großen Verschwendung von Speicherplatz. Daher wird empfohlen, FAT32 auf dieser Partition zu verwenden, wodurch die Clustergröße von 32 KiB auf 4 KiB reduziert wird.
Tatsächlich wird dies den Schlupf auf der Festplatte um einen enormen Betrag reduzieren, der bis zu 30 % betragen kann, und möglicherweise Hunderte von Megabyte zuvor verschwendeten Speicherplatzes freigeben. Es ist normalerweise das Richtige in dieser Situation. Es hat jedoch eine andere Seite. Wir bekommen diese reduzierte Clustergröße nicht umsonst.
Da jeder Cluster kleiner ist, müssen mehr Cluster vorhanden sein, um die gleiche Festplattenmenge abzudecken. Anstelle von 65.526 Clustern haben wir jetzt also 524.208.
Darüber hinaus sind die FAT-Einträge in FAT32 32-Bit breit (jeder Eintrag von 4 Bytes), während die Einträge von FAT16 16-Bit sind (Eintrag von jeweils 2 Bytes). Das Endergebnis ist, dass die Größe der FAT für FAT32 16-mal größer ist als für FAT16. Die folgende Tabelle fasst zusammen:
FAT 16 and FAT 32 for 2,048 MB Disk Volume |
FAT Type |
FAT16 |
FAT32 |
Cluster Size |
32 KiB |
4 KiB |
Number of FAT Entries |
65,526 |
524,208 |
Size of FAT |
131052 Bytes
(~ 128 KiB) |
2096832 Bytes
(~ 2 MiB) |
Wenn wir die Größe des FAT32-Volumes von 2 GB auf 8 GB erhöhen, erhöht sich die Größe der FAT von etwa 2 MiB auf 8 MiB. Die Bedeutung davon liegt nicht in der Tatsache, dass das FAT32-Volume mehrere Megabyte Speicherplatz auf der Festplatte verschwenden muss, um die FAT zu speichern. Denn nur dadurch spart es viel mehr Platz als durch die Reduzierung der Größe von FAT. Das eigentliche Problem besteht darin, dass die FAT alle Cluster-Zeiger für jede Datei im Volume enthält. Eine starke Vergrößerung der FAT kann sich negativ auf die Systemgeschwindigkeit auswirken.
Aus diesem Grund ist es wichtig, die Größe der Dateizuordnungstabelle auf eine vernünftig große Zahl zu beschränken. Tatsächlich geht es in den meisten Fällen darum, ein Gleichgewicht zwischen Clustergröße und FAT-Größe zu finden. Ein gutes Beispiel dafür ist die Auswahl der Clustergröße, die von FAT32 selbst getroffen wird.
Da FAT32 maximal 268 Millionen Cluster verarbeiten kann, ist die Clustergröße von 4 KiB konzeptionell in der Lage, ein Festplattenvolumen mit einer Größe von 1 TiB (1.024 GiB) zu unterstützen, aber das Problem dabei ist, dass die FAT-Größe dann überschritten würde 1 GB entsprechend 268 Millionen mal 4 Bytes pro Eintrag.
Aus diesem Grund verwendet FAT32 nur 4-KiB-Cluster für Volumes mit einer Größe von bis zu 8 GiB, und dann werden größere Cluster verwendet, wie in der obigen Tabelle für Clustergrößen gezeigt. Die maximal von FAT32 unterstützte Partitionsgröße beträgt offiziell 2.048 GiB (2 TiB).
Logischer Aufbau einer Festplatte
Grundsätzlich können wir die logische Struktur der Festplatte in die folgenden fünf logischen Begriffe unterteilen:
Basically, we can divide the logical structure of the hard disk in the following five logical terms:
- MBR (Master Boot Record)
- DBR (DOS Boot Record)
- FAT (Dateizuordnungstabellen)
- Stammverzeichnis
- Datenbereich
Die folgende Abbildung stellt die konzeptionelle Anordnung dieser logischen Begriffe dar, die die logische Struktur einer Festplatte bilden:
Der Master Boot Record (MBR) oder manchmal auch als Master Partition Table (MPT) bezeichnet, enthält ein kleines Programm zum Laden und Starten der aktiven (oder bootfähigen) Partition von der Festplatte. Der Master Boot Record enthält Informationen über alle vier primären Partitionen auf der Festplatte, wie Startsektor, Endsektor, Größe der Partition usw.
Der MBR befindet sich im absoluten Sektor 0, oder wir können sagen, bei Zylinder 0, Kopf 0 und Sektor1, und wenn mehr als eine Partition auf der Festplatte vorhanden ist, gibt es Extended Master Boot Records, die sich am Anfang jeder Partition befinden erweitertes Partitionsvolumen (Siehe die nebenstehende Abbildung).
Der MBR wird auf der Festplatte erstellt, indem der Befehl FDISK.EXE von DOS ausgeführt wird. Es gibt jedoch viele andere Software für die gleiche Aufgabe. Mit dem FDISK kann jede dieser Partitionen aktiviert oder bootfähig gemacht werden.
Dadurch erhält der Bootsektor der aktiven Partition die Kontrolle, wenn das System gestartet wird. Da die Diskette keine Partitionen hat, gibt es auf einer Diskette keinen MBR.
Da DOS ein einziges Großbuchstaben-Alphabet verwendet, um eine Partition zu benennen, ist die maximale Anzahl aller Partitionstypen, die DOS zusammen erlaubt, 24, beginnend mit Laufwerksbuchstabe C (C:) bis Laufwerksbuchstabe Z (Z:). . Auch wenn mehr als ein physisches Festplattenlaufwerk vorhanden ist, darf die Gesamtzahl der Partitionen aller Laufwerke daher 24 nicht überschreiten.
Nach dem Power-On Self Test (POST) lädt das BIOS den MBR (Master Boot Record) von der Festplatte in den Speicher und führt ihn dann aus. Zuerst überprüft der MBR die Festplatte auf eine aktive Partition, dann lädt er den DOS Boot Record (DBR) in den Speicher und übergibt die Kontrolle an den Boot-Code des Betriebssystems, und dann lädt der Boot-Record-Code des Betriebssystems den Rest des Betriebssystems hinein Erinnerung.
Master-Boot-Record-Format
Wir können das Festplattenlaufwerk in mehrere logische Laufwerke partitionieren, denen im Allgemeinen von DOS eigene Laufwerksbuchstaben zugewiesen werden. Es kann immer nur eine Partition als aktive (oder bootfähige) Partition markiert werden.
Der Master Boot Record ist auf vier Einträge in der Master-Partitionstabelle beschränkt. Der Speicherort des Extended Master Boot Record kann jedoch mit Hilfe des Master Boot Record ermittelt werden, der erweiterte Partitionstabellen enthält, deren Format genau das gleiche ist wie das der Hauptpartitionstabelle, außer dass kein Bootcode vorhanden ist.
Im erweiterten Master Boot Record ist dieser Platz von 446 Bytes normalerweise für den Bootcode reserviert und bleibt leer. Alle 512 Bytes des Master Boot Record sind wie folgt gebrochen, siehe Tabelle:
Offset |
Description |
Size |
000H |
Initial Program Loader (IPL) , Executable Code (Provides very first booting to the Computer) |
446 Bytes |
1BEH |
First Partition Entry (See Next Table) |
16 Bytes |
1CEH |
Second Partition Entry |
16 Bytes |
1DEH |
Third Partition Entry |
16 Bytes |
1EEH |
Fourth Partition Entry |
16 Bytes |
1FEH |
Executable Marker or Bootable Sector Signature or Magic Number (AAH 55H) |
2 Bytes |
Total = 512 Bytes |
Alle erweiterten Partitionen sollten innerhalb des durch den erweiterten Partitionseintrag reservierten Speicherplatzes existieren. Nur zwei der erweiterten Partitionen sollen verwendet werden, die erste als normale Partition und die zweite als eine weitere erweiterte Partition, falls vorhanden. Daher können wir mit Hilfe einer Master-Partitionstabelle den Speicherort einer anderen Extended Master-Partitionstabelle daneben erhalten, falls vorhanden.
Eingabeformat der Partitionstabelle
Das Format des Partitionstabelleneintrags einer beliebigen Partition im MBR ist in der nächsten Tabelle angegeben. Jeder Partitionseintrag eines beliebigen MBR kann in die folgenden Bytes mit ihren spezifischen Bedeutungen aufgeteilt werden:
Boot Type Indicator Byte (1 Byte): Wenn dieses Byte 00H ist, bedeutet dies, dass die Partition nicht aktiv ist, und wenn das Byte 80H ist, bedeutet dies, dass die Partition eine aktive Partition oder eine bootfähige Partition ist . Obwohl das Vorhandensein von anderen Bytes als diesen nicht erwartet wird, kann es, wenn ein anderes Byte vorhanden ist, auf eine Beschädigung der Partitionstabelle oder auf einen VIRUS-Angriff in der Partitionstabelle zurückzuführen sein.
Startzylinder – Kopf – Sektornummer der Partition (3 Bytes): Wenn wir die CHS (Zylinder, Kopf und Sektor) einer Festplatte berechnen, werden die physischen CHS wie folgt gezählt:
- Der physische Sektor wird ab 1 gezählt.
- Der physische Kopf wird von 0 an gezählt.
- Der physische Zylinder wird von 0 an gezählt (siehe vorheriges Kapitel für Details)
- Das Byte bei Offset 01H stellt die Anfangskopfnummer im Hexadezimalsystem für die Partition dar.
6 niedrigstwertige Bits des Bytes bei Offset 02H bilden die Startsektornummer der Partition und die Kombination der verbleibenden 2 Bits (als zwei höchstwertige Bits) plus 8 Bits eines weiteren Bytes bei Offset 03H (die restlichen 8 niedrigstwertigen Bits der 10 -Bitnummer) machen die Startzylindernummer der Partition.
Offset |
Meaning |
Size |
Description |
00H |
Boot Type Indicator Byte |
1 Byte |
If Byte is 00H, the Partition is Inactive and if Byte is 80H , The Partition is Active (or Bootable) |
01H |
Head Number of Beginning of the Partition |
1 Byte |
Starting Head number of the Partition in Hexadecimal System |
02H |
Sector and Cylinder Number of Beginning of the Partition |
2 Bytes |
6 Bits of First Byte make Starting Sector Number and Combination of remaining 2 Bits (as Two Most Significant Bits) plus 8 Bits of another Byte (Rest 8 least Significant Bits of the 10-Bit Number ) make the Starting Cylinder Number of the Partition |
04H |
File System indicator Byte |
1 Byte |
File System Indicator Byte in Hexadecimal system (See the Table given next for Indicators) |
05H |
Head Number of End of the Partition |
1 Byte |
Ending Head Number of the Partition in Hexadecimal System |
06H |
Sector and Cylinder Number of End of the Partition |
2 Bytes |
6 Bits of First Byte make Ending Sector Number and Combination of remaining 2 Bits (as Two Most Significant Bits) plus 8 Bits of another Byte (Rest 8 least Significant Bits of the 10-Bit Number ) make the Ending Cylinder Number of the Partition |
08H |
Relative Sector number of Beginning of the Partition |
4 Bytes |
Number of Sectors Between the MBR and the First Sector in the Partition |
0CH |
Number of Sectors of the Partition |
4 Bytes |
Number of Sectors in the Partition |
Total = 16 Bytes |
Die Zylinder- und Sektorencodierung wurde im Beispiel einer als nächstes durchgeführten Probepartitionstabellenstudie angegeben.
Dateisystemanzeigebyte (1 Byte) : Das Dateisystemanzeigebyte bei Offset 04H repräsentiert das Dateisystem dieser Partition. Die Tabelle, die das File System Indicator Byte für verschiedene Dateisysteme auflistet, finden Sie weiter unten in diesem Kapitel.
Endzylinder – Kopf – Sektornummer der Partition (3 Bytes): Die Kodierung ist dieselbe wie für Startzylinder – Kopf – Sektornummer der Partition.
Relative Sektornummer am Beginn der Partition (4 Bytes): Anzahl der Sektoren zwischen dem MBR und dem ersten Sektor in der Partition im Hexadezimalsystem.
Anzahl der Sektoren der Partition (4 Bytes) : Anzahl der Sektoren in der Partition im Hexadezimalsystem.
Es sollte immer daran erinnert werden, dass die Zylinder-, Kopf- und Sektornummern diejenigen sind, die an das BIOS übergeben werden sollten. Wenn also das BIOS die Übersetzung verwendet (LBA-Modus oder INT 13H Extensions Support), stellen die Werte möglicherweise nicht die physikalischen CHS-Werte dar. Bei großen Festplatten (größer als 8,4 GB) können die CHS-Werte ungültig sein. Diese Werte sollten generell ignoriert und stattdessen die absoluten Sektorwerte verwendet werden.
Die folgende Abbildung zeigt den MBR einer Festplatte mit FAT32-Partitionen. Der hervorgehobene Bereich von 64 Bytes am Ende der Abbildung stellt die Master-Partitionstabelle des MBR dar.
Die Kodierung für den Start- und End-CHS ist wie folgt:
- Bei Offset 00H stellt 80 (Hex) dar, dass die Partition eine aktive Partition ist.
- Bei Offset 01H repräsentiert 01 (Hex) die Anfangskopfnummer = 1.
- Die Kombination von zwei Bytes bei Offset 02H und 03H bildet den Startsektor
und Zylindernummer der Partition gemäß der nebenstehenden Kodierung:
Also Anfangs-C-H-S der Partition= 0-0-1.
In ähnlicher Weise ist die Kopfnummer für das Ende der Partition FE (Hex), was 254 ist, und die Kodierung für den Endzylinder und die Sektornummer der Partition sind in der nächsten Tabelle angegeben:
Daher ist die Endung C-H-S der Partition = 701-254-63.
Das Byte 0B (Hex) bei Offset 04H ist das Dateisystemanzeigebyte für die Partition. Das Byte 0B (H) stellt dar, dass die Partition das FAT32-Dateisystem hat. Die Tabelle für verschiedene Dateisysteme und ihre Dateisystemanzeigebytes wurde als nächstes angegeben:
File system Indicator Byte in Hexadecimal |
Partition/ File system Description |
00H |
Unused/Empty Partition-Table Entry
(Remember this is not used to designate unused area on the disk, but marks an unused partition table entry) |
01H |
DOS 12-bit fat
(The type 01H is for partitions up to 15 MB) |
02H |
XENIX: root file system |
03H |
XENIX /usr file system (obsolete)
(XENIX is an old part of Unix V7. Microsoft XENIX Operating System was announced in August 1980. It was a portable and commercial version of the Unix operating system for the Intel 8086, Zilog Z8000, Motorola M68000 and Digital Equipment PDP-11. Microsoft introduced XENIX 3.0 in April 1983. SCO delivered its first XENIX for 8088/8086 in 1983.) |
04H |
16-bit FAT, DOS 3.0+ (Partition size < 32M)
(Some old DOS versions have had a bug which required this partition to be located in the 1st physical 32 MB of the hard disk ) |
05H |
DOS Extended (DOS 3.3+ Extended Volume)
Supports at most 8.4 GB disks. With this type 05H DOS/Windows will not use the extended BIOS call, even if it is available.) |
06H |
16-bit FAT, DOS Big, DOS 3.31+ (Partition Size >= 32M)
(Partitions are at most 2 GB for DOS and Windows 95/98 with maximum 65536 clusters with each cluster, at most 32 KB. Windows NT can create up to 4 GB FAT16 partition using 64 KB clusters.) |
07H |
OS/2 IFS (Installable File System) (HPFS is the best known example of this file system. OS/2 only looks at partitions with ID 7 for any installed IFS this is the reason that EXT2 IFS packet includes a special "Linux partition filter" device driver to fool OS/2 into thinking Linux partitions have ID 07). |
07H |
Advanced Unix |
07H |
Windows NT NTFS |
07H |
QNX2.x (pre-1988)
(For the actual file system of partition type 07H, one should inspect the partition boot record) |
08H |
OS/2 (v1.0 to v1.3 only) |
08H |
AIX boot partition
[AIX (Advanced Interactive Executive) is the IBM's version of Unix] |
08H |
SplitDrive |
08H |
DELL partition spanning multiple drives |
08H |
Commodore DOS |
08H |
QNX 1.x and 2.x
("qny" according to QNX partitions) |
09H |
AIX data partition |
09H |
Coherent file system
[Coherent was a UNIX like Operating System for the 286-386-486 systems, marketed by Mark Williams Company led by Bob Swartz. It was renowned for its good documentation. It was introduced in 1980 and died 1 Feb 1995. The last versions are V3.2 for 286-386-486 and V4.0 (May 1992, using protected mode) for 386-486 only. It sold for $99 a copy and it is rumored that 40000 copies have been sold. A Coherent partition has to be primary. ] |
09H |
QNX 1.x and 2.x ("qnz" according to QNX Partitions) |
0aH |
OS/2 Boot Manager
(OS/2 is the operating system designed by Microsoft and IBM to be the successor of MS-DOS) |
0aH |
Coherent swap partition |
0aH |
OPUS
(Open Parallel Unisys Server) |
0bH |
WIN95 OSR2 32-bit FAT
(OSR2 stands for Microsoft’s “OEM Service Release 2”. It is for Partitions up to 2047GB. Almost always, Windows 95/98/ME have the same File system which is FAT-32, within the same partitions limits) |
0cH |
LBA-mapped WIN95 OSR2 32-bit FAT
(It is using Logical Block Addressing – mode of Interrupt 13H extensions therefore we can say that this is the Extended INT 13H equivalent of 0BH. Almost always, Windows 95/98/ME have the same File system which is FAT-32, within the same partitions limits) |
0eH |
LBA-mapped WIN95: DOS 16-bit FAT or Logical Block Addressable VFAT
(It is same as 06H but using LBA-mode of INT 13H) |
0fH |
LBA-mapped WIN95: Extended partition or Logical Block Addressable VFAT
(It is same as 05H but using LBA-mode of INT 13H. Windows 95 uses 0EH and 0FH as the extended INT13H equivalents of 06H and 05H. Windows NT does not recognize the four Windows 95/98/ME types 0BH, 0CH, 0EH and 0FH) |
10H |
OPUS
(Octal Program Updating System) |
11H |
Hidden DOS 12-bit FAT or OS/2 Boot Manager hidden 12-bit FAT partition or DOS Seen From OS/2 (When OS/2 Boot manager boots a DOS partition, it will hide all primary DOS partitions except the one that is booted, by changing its ID and 01H, 04H, 06H and 07H becomes 11H, 14H, 16H and 17H, respectively. |
12H |
Compaq Configuration/diagnostics partition
(It is used by Compaq for their configuration utility partition. It is a FAT-compatible partition that boots into their utilities, and can be added to a LILO menu as if it were MS-DOS. ) |
14H |
(Hidden DOS 16-bit FAT or OS/2 Boot Manager Hidden DOS 16-bit FAT) <32M Partition
(Partition size is less than 32M. ID 14H is resulted from using Novell DOS 7.0 FDISK to delete Linux Native partition. ) |
15H |
Hidden DOS-Extended |
16H |
(Hidden DOS 16-bit FAT or OS/2 Boot Manager hidden 16-bit FAT ) >=32M Partition |
17H |
OS/2 Boot Manager hidden HPFS partition or Hidden IFS (e.g., HPFS) |
17H |
Hidden NTFS partition |
18H |
AST SmartSleep Partition or AST special Windows swap file ("Zero-Volt Suspend" partition)
[AST Research, Inc. (named from first initials of the founders, Albert Wong, Safi Qureshey and Thomas Yuen). Ascentia laptops have a “Zero – Volt Suspend Partition” or `SmartSleep Partition' of size 2MB+memory size.] |
File system Indicator Byte in Hexadecimal |
Partition/ File system Description |
19H |
Willowtech Photon COS
(Code 19H is Claimed for Willowtech Photon COS by Willow Schlanger. |
1bH |
Hidden WIN95 OSR2 32-bit FAT or Hidden Windows 95 FAT32 Partition |
1cH |
LBA-mapped Hidden WIN95 OSR2 32-bit FAT
(It is hidden Windows95 FAT32 partition using LBA-mode of INT 13H Extensions) |
1eH |
LBA-mapped Hidden WIN95 16-bit FAT or Hidden LBA VFAT partition |
1FH |
LBA mapped Hidden WIN95 Extended or Hidden Extended LBA VFAT Partition |
20H |
OFSI
(Willowsoft Overture File System ) |
21H |
Officially listed as Reserved
(HP Volume Expansion, SpeedStor variant.) |
21H |
FSO2
(Claimed for FSO2 (Oxygen File System) by Dave Poirier) |
22H |
FSO2 Extended Partition
(Claimed for Oxygen Extended Partition by Dave Poirier) |
23H |
Officially listed as Reserved |
24H |
NEC DOS 3.x |
26H |
Officially listed as Reserved |
31H |
Officially listed as Reserved |
32H |
NOS (Network Operating System)
(32H is being used by the operating system NOS, being developed by Alien Internet Services in Melbourne Australia. The id 32H was chosen not only because of it was one of the few that are left available but also 32k is the size of the EEPROM the OS was originally targeted for. |
33H |
Officially listed as Reserved |
34H |
Officially listed as Reserved |
35H |
JFS on OS/2 or eCS
[35H is used by OS/2 Warp Server for e-Business, OS/2 Convenience Pack (aka version 4.5) and eComStation (eCS, an OEM version of OS/2 Convenience Pack) for the OS/2 implementation of JFS (IBM AIX Journaling File System)] |
36H |
Officially listed as Reserved |
38H |
THEOS v3.2 (2GB partition) |
39H |
Plan 9 partition
(Plan 9 is an operating system developed at Bell Labs for many architectures. Originally Plan 9 used an unallocated portion at the end of the disk. 3rd edition of Plan 9 uses partitions of type 39H, subdivided into sub partitions described in the Plan 9 partition table in the second sector of the partition.) |
39H |
THEOS v4 spanned partition |
3aH |
THEOS v4 (4GB partition) |
3bH |
THEOS v4 Extended partition
(THEOS is a multi-user multitasking Operating System for PCs founded by Timothy Williams in 1983.) |
3cH |
PartitionMagic recovery partition
(When a PowerQuest product like Partition Magic or Drive Image makes changes to the disk, it first changes the type flag to 3CH so that the Operating System will not try to modify it. At the end of the process, it is changed back to what it was at first. Therefore the only time you can see a 3CH type flag, is if the process was interrupted somehow such as power off, user reboot etc. If you change it back manually with a partition table editor or any disk editing program then most of the time everything is okay.) |
3dH |
Hidden NetWare |
40H |
Venix 80286
(It is a very old Unix-like operating system for PCs.) |
41H |
Linux/MINIX (sharing disk with DR-DOS)
(DR-DOS stands for Digital Research-Disk Operating System.) |
41H |
Personal RISC Boot |
41H |
PPC PReP (Power PC Reference Platform) Boot Partition |
42H |
Linux swap (sharing disk with DR-DOS) |
42H |
SFS (Secure File System)
(SFS is an encrypted file System driver for DOS on 386+ PCs, written by Peter Gutmann.) |
File system Indicator Byte in Hexadecimal |
Partition/ File system Description |
42H |
Windows 2000 Dynamic Extended Partition Marker
(If a partition table entry of type 42H is present in the legacy partition table, then Windows 2000 ignores the legacy partition table and uses a proprietary partition table and a proprietary partitioning scheme (LDM or DDM). Pure dynamic disks (those not containing any hard-linked partitions) have only a single partition table entry, type 42H to define the entire disk. Dynamic disks store their volume configuration in a database located in a 1-MB private region at the end of each dynamic disk.) |
43H |
Linux native (sharing disk with DR-DOS) |
44H |
GoBack partition
(GoBack is a utility that records changes made to the disk, allowing you to view or go back to some earlier state. It takes over disk I/O like a Disk Manager would, and stores its logs in its own partition.) |
45H |
Boot-US boot manager
(Boot-US (Ulrich Straub) boot manager can be installed to MBR, a separate primary partition or diskette. When installed to a primary partition this partition gets the ID 45H. This partition does not contain a file system, it contains only the boot manager and occupies a single cylinder (below 8.4 GB). ) |
45H |
Priam |
45H |
EUMEL/Elan |
46H |
EUMEL/Elan |
47H |
EUMEL/Elan |
48H |
EUMEL/Elan
(EUMEL, later known as Ergos L3, are the multi-user multitasking systems developed by Jochen Liedtke at GMD, using Elan programming Language. It was used at German schools for the computer science education.) |
4aH |
AdaOS Aquila |
4aH |
ALFS/THIN lightweight filesystem for DOS |
4cH |
Oberon partition |
4dH |
QNX4.x |
4eH |
QNX4.x 2nd partition |
4fH |
QNX4.x 3rd partition
(QNX is a POSIX (Portable Operating System Interface for Unix)-certified, microkernel, distributed, fault-tolerant Operating System for the 386 and later, including support for the 386EX in embedded applications.) |
4fH |
Oberon boot/data partition |
50H |
OnTrack Disk Manager (older versions), Read-Only Partition (Disk Manager is a program of OnTrack to enable people to use IDE disks that are larger than 504MB under DOS. Linux kernel versions older than 1.3.14 do not coexist with DM.) |
50H |
Lynx RTOS (Real-Time Operating System)
(Lynx RTOS gives users the ability to place up to 14 partitions of 2 GB each on both SCSI and IDE drives, for a total of up to 28 GB of file system space.) |
50H |
Native Oberon |
51H |
OnTrack Disk Manager (DM6.0 Aux1), Read/Write Partition |
51H |
Novell |
52H |
CP/M |
52H |
Microport SysV/AT or Microport System V/386 |
53H |
OnTrack Disk Manager (DM6.0 Aux3), Write-Only partition |
54H |
OnTrack Disk Manager 6.0 Dynamic Drive Overlay |
55H |
EZ-Drive Partition
(EZ-Drive is another disk manager like program developed by MicroHouse in 1992. Now It is marketed by StorageSoft.) |
56H |
Golden Bow VFeature Partitioned Volume.
(This is also a Disk Manager like Utility software. This is a Non-Standard DOS Volume.) |
56H |
DM converted to EZ-BIOS |
57H |
DrivePro
(DrivePro was developed by MicroHouse in 1992. Now It is marketed by StorageSoft.) |
57H |
VNDI Partition |
5cH |
Priam EDisk Partitioned Volume
(Priam EDisk is Disk Manager type utility software. This is a Non-Standard DOS Volume.) |
61H |
SpeedStor
(Storage Dimensions SpeedStor Partitioned Volume. This is a Non-Standard DOS Volume. It is Disk Manager type utility software.) |
63H |
Unix System V/386, 386/ix, SCO, ISC Unix, UnixWare, Mach, MtXinu BSD 4.3 on Mach, GNU Hurd |
64H |
Novell NetWare 286, 2.xx |
File system Indicator Byte in Hexadecimal |
Partition/ File system Description |
64H |
PC-ARMOUR protected partition
(64H is used by PC-ARMOUR disk protection by Dr. A. Solomon, intended to keep the disk inaccessible until the right password was given and then an INT 13H hook was loaded above top-of-memory that showed C-H-S = 0-0-2, with a copy of the real partition table, when 0-0-1 was requested). |
65H |
Novell NetWare 3.86, 3.xx or 4.xx
(Novell Netware 3.0 and later versions use one partition per drive. It allocates logical Volumes inside these partitions. The volumes can be split over several drives. The file system used is called Turbo FAT and it only very vaguely resembles the DOS FAT file system. Novell Netware used to be the main Network Operating System available. Netware 68 or S-Net (1983) was for a Motorola 68000, Netware 86 for an Intel 8086 or 8088. Netware 286 was for an Intel 80286 and existed in various versions that were later merged to Netware 2.2. Netware 386 was a rewrite in C for the Intel 386 which was later renamed to Netware 3.x (3.0, 3.1, 3.10, 3.11 and 3.12 etc) versions. Its successor Netware 4.xx had versions 4.00, 4.01, 4.02, 4.10 and 4.11. Then came Intranetware) |
66H |
Novell Netware SMS Partition
(SMS stands for Storage Management Services. It is not used now.) |
67H |
Novell |
68H |
Novell |
69H |
Novell Netware 5+ and Novell Netware NSS Partition
(NSS stands for Novell Storage Services.) |
70H |
DiskSecure Multi-Boot |
71H |
Officially listed as reserved |
73H |
Officially listed as reserved |
74H |
Officially listed as reserved |
74H |
Scramdisk partition
(Scramdisk is a disk encryption software. It supports container files, dedicated partitions type 74H and disks hidden in WAV audio files.) |
75H |
IBM PC/IX |
76H |
Officially listed as reserved |
77H |
M2FS/M2CS partition |
77H |
QNX 4.x |
78H |
XOSL File System
(XOSL Boot loader file system) |
78H |
QNY 4.x |
79H |
QNZ 4.x |
7EH |
F.I.X. |
7Fh |
Alt-OS-Development Partition Standard |
80H |
Old MINIX, MINIX v1.1 to v1.4a |
81H |
MINIX 1.4b and Later
(MINIX is a Unix-like operating system written by Andy Tanenbaum and students at the Vrije University, Amsterdam, around 1989-1991. It runs on PCs (8086 and up), Macintosh, Atari, Amiga, Sparc. |
81H |
Early Linux |
81H |
Mitac Advanced Disk Manager |
82H |
Prime |
82H |
Solaris x86
(Solaris creates a single partition with ID 82H and then uses Sun disk labels within the partition to split it further.) |
82H |
Linux Swap partition |
83H |
Linux Native Partition or Linux native file system or Linux Ext2fs
(Linux is a Unix-like operating system written by Linus Torvalds and many others on the internet since 1991. It runs on PCs 386 and later and a variety of other hardware. It is distributed under GPL (General Public License) . Various file system types like xiafs, ext2, ext3, reiserfs, etc. all use ID 83H.) |
84H |
OS/2 hidden C: drive or OS/2-renumbered type 04 partition.
(OS/2-renumbered type 04h partition is related to hiding DOS C: drive) |
84H |
Hibernation partition
(Reported for various laptop models, e.g., used on Dell Latitudes (with Dell BIOS) that use the MKS2D utility.) |
85H |
Linux Extended partition |
86H |
Old Linux RAID partition super block |
86H |
FAT16 volume/stripe set (Windows NT) or NTFS volume set
(It is Legacy Fault Tolerant FAT16 volume.) |
87H |
HPFS Fault-Tolerant mirrored partition or NTFS volume set or NTFS volume/stripe set
(Legacy Fault Tolerant NTFS volume. HPFS Fault-Tolerant mirrored partition. ) |
8aH |
Linux Kernel Partition
(It is used by AiR-BOOT) |
File system Indicator Byte in Hexadecimal |
Partition/ File system Description |
8bH |
Legacy Fault Tolerant FAT32 volume |
8cH |
Legacy Fault Tolerant FAT32 volume using BIOS Extended INT 13H. |
8dH |
Free FDISK hidden Primary DOS FAT12 partition
(Free FDISK is the FDISK used by FreeDOS. It hides types 01H, 04H, 05H, 06H, 0BH, 0CH, 0EH and 0FH by adding decimal Number 140 (8CH).) |
8eH |
Linux Logical Volume Manager partition |
90H |
Free FDISK hidden Primary DOS FAT16 partition |
91H |
Free FDISK hidden DOS extended partition |
92H |
Free FDISK hidden Primary DOS large FAT16 partition |
93H |
Hidden Linux native partition |
93H |
Amoeba file system |
94H |
Amoeba bad block table
(Amoeba is a distributed operating system written by Andy Tanenbaum, together with Frans Kaashoek, Sape Mullender, Robert van Renesse and others since 1981. It runs on PCs (386 and up), Sun3, Sparc, 68030. It is free for universities for research and teaching purposes.) |
95H |
MIT EXOPC native partition |
97H |
Free FDISK hidden Primary DOS FAT32 partition |
98H |
Free FDISK hidden Primary DOS FAT32 partition (LBA) |
99H |
Mylex EISA SCSI or DCE376 logical drive
(It is used by the Mylex DCE376 EISA SCSI adaptor for partitions which are beyond the 1024 cylinder of a drive.) |
9aH |
Free FDISK hidden Primary DOS FAT16 partition (LBA) |
9bH |
Free FDISK hidden DOS extended partition (LBA) |
9fH |
BSD/OS |
a0H |
Phoenix NoteBIOS Power Management "Save-to-Disk" partition or Laptop hibernation partition
(It is Reported for various laptops like IBM Thinkpad, Phoenix NoteBIOS, Toshiba under names like zero-volt suspend partition, suspend-to-disk partition, save-to-disk partition, power-management partition, hibernation partition, usually at the start or end of the disk area.) |
a1H |
Laptop hibernation partition
(Used as "Save-to-Disk" partition on a NEC 6000H notebook. Types A0H and A1H are used on systems with Phoenix BIOS. The Phoenix PHDISK utility is used with these.) |
a1H |
HP Volume Expansion (SpeedStor variant) |
a3H |
Officially listed as Reserved |
a4H |
Officially listed as Reserved |
a5H |
BSD/386, 386BSD, NetBSD, FreeBSD
(386BSD is a Unix-like operating system, a port of 4.3BSD Net/2 to the PC done by Bill Jolitz around 1991.) |
a6H |
OpenBSD
(OpenBSD, led by Theo de Raadt, split off from NetBSD. It tries to emphasize on security.) |
a7H |
NEXTSTEP
(NEXTSTEP is Based on Mach 2.6 and features of Mach 3.0. It is a true object-oriented operating system and user environment. |
a8H |
Mac OS-X
(Apple's OS-X uses this type for its file system partition) |
a9H |
NetBSD |
aaH |
Olivetti Fat 12 1.44MB Service Partition
(It Contains a bare DOS 6.22 and a utility to exchange types 06H and AAH in the partition table.) |
abH |
Mac OS-X Boot partition
(Apple's OS-X (Darwin Intel) uses this type for its boot partition.) |
abH |
GO! partition |
aeH |
ShagOS file system |
afH |
ShagOS swap partition |
b0H |
BootStar Dummy
(The boot manager BootStar manages its own partition table, with up to 15 primary partitions. It fills unused entries in the MBR with BootStar Dummy values.) |
b1H |
Officially listed as Reserved |
b3H |
Officially listed as Reserved |
b4H |
Officially listed as Reserved |
b6H |
Officially listed as Reserved |
B6H |
Windows NT mirror set (master), FAT16 file system |
b7H |
BSDI file system (secondarily swap), BSDI BSD/386 file system |
B7H |
Windows NT mirror set (master), NTFS file system |
File system Indicator Byte in Hexadecimal |
Partition/ File system Description |
b8H |
BSDI BSD/386 swap partition (secondarily file system)
(BSDI (Berkeley Software Design, Inc.) was founded by former CSRG (UCB Computer Systems Research Group) members. Their operating system, based on Net/2, was called BSD/386.) |
bbH |
Boot Wizard hidden |
beH |
Solaris 8 boot partition |
c0H |
DR-DOS/Novell DOS secured partition |
C0H |
CTOS |
c0H |
REAL/32 secure small partition |
c0H |
NTFT Partition |
c1H |
DR DOS 6.0 LOGIN.EXE-secured 12-bit FAT partition |
c2H |
Reserved for DR-DOS 7+ |
c2H |
Hidden Linux |
c3H |
Hidden Linux swap |
c4H |
DR DOS 6.0 LOGIN.EXE-secured 16-bit FAT partition |
c5H |
DRDOS/secured (Extended) |
c6H |
DRDOS/secured (FAT-16, >= 32M)
(DR-DOS 6.0 will add C0H to the partition type for a LOGIN.EXE - secured partition so that User can not avoid the password check by booting from an MS-DOS floppy. Otherwise it seems that the types C1H, C4H, C5H, C6H and D1H, D4H, D5H, D6H are used precisely like 1H, 4H, 5H, and 6H.) |
c6H |
Corrupted FAT16 volume/stripe set (Windows NT)
(NTFS will add C0H to the partition type for disabled parts of a Fault Tolerant set. Thus, one gets types C6H, C7H.) |
c7H |
Windows NT corrupted NTFS volume/stripe set |
c7H |
Syrinx boot |
c8H |
Officially listed as Reserved |
c9H |
Officially listed as Reserved |
caH |
Officially listed as Reserved |
cbH |
Reserved for DR-DOS secured FAT32 |
ccH |
Reserved for DR-DOS secured FAT32 (LBA) |
cdH |
CTOS Memdump |
ceH |
Reserved for DR-DOS secured FAT16 (LBA) |
d0H |
REAL/32 secure big partition
(REAL/32 is a continuation of DR Multi-user DOS.) |
d1H |
Old Multi-user DOS secured FAT12 |
d4H |
Old Multi-user DOS secured FAT16 <32M |
d5H |
Old Multi-user DOS secured extended partition |
d6H |
Old Multi-user DOS secured FAT16 >=32M |
d8H |
CP/M-86 |
daH |
Non-FS Data |
dbH |
Digital Research CP/M, Concurrent CP/M, Concurrent DOS |
dbH |
CTOS (Convergent Technologies OS -Unisys) |
dbH |
KDG Telemetry SCPU boot
(KDG Telemetry uses ID DBH to store a protected-mode binary image of the code to be run on a 'x86-based SCPU (Supervisory CPU) module from the DT800 range.) |
ddH |
Hidden CTOS Memdump |
deH |
Dell PowerEdge Server utilities (FAT) |
dfH |
DG/UX virtual disk manager partition |
dfH |
BootIt EMBRM
(The boot manager BootIt manages its own partition table, with up to 255 primary partitions.) |
e0H |
Reserved by ST Microelectronics for a file system called ST AVFS. |
e1H |
DOS access or SpeedStor 12-bit FAT extended partition
(It is a SSTOR partition on cylinders more than 1023.) |
E2H |
DOS Read-Only |
e3H |
Storage Dimensions |
e4H |
SpeedStor 16-bit FAT extended partition < 1024 cylinders |
e5H |
Officially listed as Reserved |
e5H |
Tandy DOS with logical sectored FAT |
e6H |
Officially listed as Reserved |
ebH |
BeOS BFS (BFS1)
(BeOS is an operating system that runs on Power PCs) |
edH |
Reserved for Matthias Paul’s Sprytix |
eeH |
Indication that this legacy MBR is followed by an EFI Header |
efH |
Partition that contains an EFI file system |
f0H |
Linux/PA-RISC boot loader |
f1H |
Storage Dimensions |
f2H |
DOS 3.3+ secondary partition |
f2H |
Unisys DOS with logical sectored FAT |
f3H |
Officially listed as Reserved |
f4H |
SpeedStor large partition |
F4H |
Prologue single-volume partition |
File system Indicator Byte in Hexadecimal |
Partition/ File system Description |
f5H |
Prologue multi-volume partition
(The type F4H partition contains one volume, and is not used anymore. The type F5H partition contains 1 to 10 volumes called MD0 to MD9. It supports one or more systems. Each volume can have as file system the NGF file system or TwinFS file system. ) |
f6H |
Officially listed as Reserved |
F6H |
Storage Dimensions SpeedStor |
faH |
MandrakeSoft's Bochs x86 emulator |
fbH |
VMware File System partition |
fcH |
VMware Swap partition
(VMware offers virtual machines in which one can run Linux, Windows, FreeBSD.) |
fdH |
Linux raid partition with auto detect using persistent super block |
feH |
SpeedStor more than 1024 cylinders |
feH |
LANstep |
feH |
IBM PS/2 IML (Initial Microcode Load) partition
(It is located at the end of the disk.) |
feH |
Windows NT Disk Administrator hidden partition
(Windows NT Disk Administrator marks hidden partitions, i.e. present but not to be accessed, as type FEH.) |
feH |
Linux Logical Volume Manager partition (old) |
ffH |
XENIX Bad Block Table |
DOS-Boot-Record (DBR) / DOS-Boot-Sektor
Nach der Partitionstabelle ist der DOS Boot Record (DBR) oder manchmal auch DOS Boot Sector genannt, die zweitwichtigste Information auf Ihrer Festplatte. Die meisten kommerziellen Anwendungen zur Wiederherstellung von Datenträgern sind in der Lage, zerstörte Boot-Records zu regenerieren
Der DOS Boot Record (DBR) für die erste Partition auf einer Festplatte befindet sich normalerweise im absoluten Sektor 63 (dem 64. Sektor auf dem Laufwerk) oder in CHS-Form können wir C–H–S = sagen 0–1–1 für die meisten Laufwerke.
Diese Position kann jedoch je nach SPT (Sektoren pro Spur) des Laufwerks variieren. Beispielsweise befand sich auf einem alten 245-MB-Laufwerk mit nur 31 SPT der Boot Record im 32. Sektor (Absolute Sector 31).
Der DBR wird durch den FORMAT-Befehl von DOS erstellt. Dieses Programm kann von einer DOS-Diskette ausgeführt werden (oder direkt von einem anderen Volume, wenn einige Einschränkungen des Betriebssystems eingehalten werden), um den DBR zu erstellen, nachdem die Partitionierung mit dem FDISK-Befehl durchgeführt wurde.
Der Sektor, auf dem sich DBR befindet, wird zum logischen Sektor 1 dieser speziellen Partition für das DOS. Die von DOS verwendete Sektornummer beginnt mit dem physischen Sektor, auf dem sich DBR befindet.
Der erste logische Sektor jeder DOS-Partition enthält einen DOS-Boot-Record (DBR) oder DOS-Boot-Sektor. Die Aufgabe des DBR besteht darin, das Betriebssystem von der Festplatte in den Hauptspeicher des Computers zu laden und die Systemsteuerung an das geladene Programm zu übergeben.
Zu diesem Zweck enthält der DBR ein kleines Programm, das vom ausführbaren Programm Master Boot Record (MBR) ausgeführt wird. Alle DOS-Partitionen enthalten den Programmcode zum Booten der Maschine, d. h. zum Laden des Betriebssystems, aber nur diese Partition erhält die Kontrolle durch den Master Boot Record, der als aktive Partition im Partitionstabelleneintrag angegeben ist.
Das Boot-Programm im DBR sucht im Wurzelverzeichnis der Partition nach den beiden Programmdateien IBMBIO.COM oder IO.SYS und IBMDOS.COM oder MSDOS.SYS. IBMBIO.COM und IBMDOS.COM sind zwei versteckte Systemprogrammdateien auf den PC-DOS-Systemen oder ursprünglichen IBM-Systemen. Während IO.SYS und MSDOS.SYS zwei versteckte Systemprogrammdateien auf einem MS-DOS-Betriebssystem sind, das mit IBM-kompatiblen Systemen bereitgestellt wird.
Danach lädt das Programm IO.SYS (oder IBMBIO.COM) das Programm MSDOS.SYS (oder IBMDOS.COM) und das Programm COMMAND.COM. Dieser vollständige Vorgang wird als „Booten“ des Computers bezeichnet. Wenn diese Systemdateien nicht im Verzeichnis vorhanden sind, zeigt dieses MBR-Programm beruhigende Fehlermeldungen wie,
“Invalid system disk or Disk I/O error,
Replace the disk, and then press any key…”
Auf dem Bildschirm und wartet darauf, dass der Benutzer eine bootfähige Diskette mit den oben genannten Programmen in das Diskettenlaufwerk einlegt und eine Taste drückt.
Da die Diskette keine Partitionen hat, hat sie daher keinen MBR oder Master-Partitionstabelle in ihrem absoluten Sektor 0, stattdessen enthält sie den DBR in ihrem allerersten Sektor.
Die folgende Tabelle zeigt eine einfache Abbildung des Layouts einer 3½-Zoll-Diskette mit 1,44 MB, nachdem sie mit dem FAT12-Dateisystem formatiert wurde. Es zeigt, wo sich der Boot Record, beide Kopien der FAT, das Root-Verzeichnis und der Beginn der Data Area befinden:
Logical Map of 3½ Inches, 1.44 MB floppy disk, Formatted with the FAT12 File System and having 18 Sectors Per Track, 80 Tracks, 2 Sides and 512 bytes per Sector (using 1 Sector per Cluster). |
Absolute Sectors |
Contents |
0 |
Boot Record |
1 – 9 |
FAT 1 |
10 – 18 |
FAT 2 |
19 – 32 |
Root Directory |
33 – 2879 |
Data Area |
Sie können im Datenbereich auch Unterverzeichnisse mit Dateien erstellen, die scheinbar darin enthalten sind. Tatsächlich sind Unterverzeichnisse nichts anderes als eine spezielle Datei, die alle scheinbar in diesem Verzeichnis enthaltenen Dateien und alle relevanten Daten zu jeder Datei auflistet, wie z. B. den Speicherort des Startclusters jeder Datei, Datum, Uhrzeit und Dateigröße usw.
Der DBR enthält auch einige wichtige Informationen über die Plattengeometrie. Diese Informationen befinden sich im ersten Sektor jeder Partition, wie zum Beispiel:
- Sprungcode + NOP
- OEM-Name und -Version
- Bytes pro Sektor
- Sektoren pro Cluster
- Reservierte Sektoren
- Anzahl der FAT-Kopien
- Maximale Root-Verzeichniseinträge (aber nicht verfügbar für FAT32)
- Anzahl der Sektoren in der Partition kleiner als 32 MB (daher nicht verfügbar für FAT32)
- Media Descriptor (F8h für Festplatten)
- Sektoren pro FAT (in älteren FAT-Systemen und nicht verfügbar für FAT32)
- Sektoren pro Spur
- Anzahl der Köpfe
- Anzahl der versteckten Sektoren in der Partition
- Anzahl der Sektoren in der Partition
- Anzahl der Sektoren pro FAT
- FAT-Informationsdeskriptor-Flags
- Version des FAT32-Laufwerks
- Clusternummer des Beginns des Stammverzeichnisses
- Sektornummer des Dateisysteminformationssektors
- Sektornummer des Backup-Bootsektors
- Reserviert
- Nummer des logischen Laufwerks der Partition
- Erweiterte Signatur (29H)
- Seriennummer der Partition
- Volume-Name der Partition
- FAT-Name
- Ausführbarer Code
- Ausführbarer Marker oder magische Zahl (AAH 55H)
Die ersten 3 Bytes des DBR enthalten eine JMP-Anweisung, um die Informationen zu überspringen und Erweiterungen zu ermöglichen, da der MBR diesen Sektor in den Speicher lädt und ihm die Ausführung überträgt. Normalerweise sind diese drei Bytes Hexadezimalzahlen im Format E9 XX XX (Hex) oder EB XX 90 (Hex).
Nach der anfänglichen JMP-Anweisung ist die OEM-ID ein 8-Bit-Feld, das von Microsoft für die OEM-Identifikation reserviert ist. Die OEM-ID beschreibt das Programm, das den Boot-Record erstellt hat. Dies ist häufig "MSWIN4.0" für Windows 95/98/ME, "IBM 20.0" für OS/2 und "MSDOS5.0" > für MS-DOS 4.0 und höher.
Die dritte Hauptkomponente des Bootsektors ist der BIOS-Parameterblock (BPB). Der Plattenparameterblock ist ein sehr wichtiger Datenbereich für DOS. Es hilft dem DOS zu finden:
- Bytes pro Sektor
- Sektoren pro Cluster
- Reservierte Sektoren
- Anzahl der FAT
- Anzahl der Stammverzeichniseinträge
FAT32 DOS Boot Record Format |
Offset |
Description |
Size |
00H |
Jump Code + NOP |
3 Bytes |
03H |
OEM Name and Version |
8 Bytes |
0BH |
Bytes Per Sector |
2 Bytes |
0DH |
Sectors Per Cluster |
1 Byte |
0EH |
Reserved Sectors |
2 Bytes |
10H |
Number of Copies of FAT |
1 Byte |
11H |
Maximum Root Directory Entries (but Not Available for FAT32) |
2 Bytes |
13H |
Number of Sectors in Partition Smaller than 32MB (Therefore Not Available for FAT32) |
2 Bytes |
15H |
Media Descriptor (F8H for Hard Disks) |
1 Byte |
16H |
Sectors Per FAT (In Older FAT Systems and Not Available for FAT32) |
2 Bytes |
18H |
Sectors Per Track |
2 Bytes |
1AH |
Number of Heads |
2 Bytes |
1CH |
Number of Hidden Sectors in Partition |
4 Bytes |
20H |
Number of Sectors in Partition |
4 Bytes |
24H |
Number of Sectors Per FAT |
4 Bytes |
28H |
Flags (Bits 0-4 Indicate Active FAT Copy) (Bit 7 Indicates whether FAT Mirroring is Enabled or Disabled <Clear is Enabled>) (If FAT Mirroring is Disabled, the FAT Information is only written to the copy indicated by bits 0-4) |
2 Bytes |
2AH |
Version of FAT32 Drive (High Byte = Major Version, Low Byte = Minor Version) |
2 Bytes |
2CH |
Cluster Number of the Start of the Root Directory |
4 Bytes |
30H |
Sector Number of the File System Information Sector (Referenced from the Start of the Partition) |
2 Bytes |
32H |
Sector Number of the Backup Boot Sector (Referenced from the Start of the Partition) |
2 Bytes |
34H |
Reserved |
12 Bytes |
40H |
Logical Drive Number of Partition |
1 Byte |
41H |
Unused (Could be High Byte of Previous Entry) |
1 Byte |
42H |
Extended Signature (29H) |
1 Byte |
43H |
Serial Number or 32 – Bit Binary ID of Partition
(Binary ID of 32 Bits provided by the OS itself) |
4 Bytes |
47H |
Volume Name of Partition |
11 Bytes |
52H |
FAT Name (FAT32 in this case) |
8 Bytes |
5AH |
Executable Code |
420 Bytes |
1FEH |
Executable Marker or Magic Number (AAH 55H) |
2 Bytes |
- Gesamtsektoren im logischen Volume (klein, für die Größe des logischen Volumes kleiner oder gleich 32 MB)
- Medienbeschreibungsbyte
- Anzahl der Sektoren pro FA
Diese Informationen helfen uns, den Standort von FAT und einige andere wichtige Werte zu finden. Wenn Sie hier falsche Informationen eingeben oder diese Werte beschädigen, wird das Booten von der Festplatte unmöglich. Manchmal verhindern falsche Informationen im Disk-Parameterblock das Booten sowohl vom Festplattenlaufwerk als auch vom Diskettenlaufwerk.
Bytes pro Sektor sind fast immer 512. Wenn nicht, dann muss es eine ganzzahlige Potenz von 2 sein (z. B. 64, 128 und 256).
Die Anzahl der Sektoren pro Cluster hängt von der Größe des Clusters ab. (Siehe den Cluster-Abschnitt in diesem Kapitel weiter oben). Anzahl der FAT-Kopien ist fast immer 2.
Anzahl der Stammverzeichnisse: Sie hängt vom Dateisystem und der Volume-Größe ab. (Siehe oben angegebene Dateisystemgrenzen und die nächste Beschreibung des Root-Verzeichnisses).
Gesamtzahl der Sektoren: Schließt versteckte Sektoren aus. Wenn es im BPB 0 ist, wird das Feld in den erweiterten Boot-Record-Informationen verwendet und umgekehrt. Beachten Sie, dass es möglich ist festzustellen, ob die erweiterten Informationen (DOS 4.0 und höher) verfügbar sind, indem Sie das Signaturbyte bei Offset 26H untersuchen.
Alle Sektoren vor dem Bootsektor eines logischen DOS-Laufwerks werden als 'versteckte' Sektoren betrachtet. Das DOS interpretiert versteckte Sektoren nicht. Normale Diskettenlaufwerke haben 0 versteckte Sektoren. Festplattenpartitionen haben eine Nummer, die ihre Position auf der Festplatte widerspiegelt. Beachten Sie, dass normalerweise der gesamte erste Kopf des ersten Zylinders für die Partitionstabelle reserviert ist, obwohl nur der erste Sektor tatsächlich verwendet wird.
Mediendeskriptor: Wird verwendet, um einen Hinweis auf den Medien- oder Datenträgertyp zu geben. Normalwerte sind 0 für eine erweiterte DOS-Partition und F8H für eine Festplatte. Die Werte der Media Descriptor Bytes sind in der folgenden Tabelle angegeben.
Media Descriptors |
Type |
Capacity |
Size and type |
F0H |
2.88 MB |
3.5", 2-Sided, 36 Sectors per Track |
F0H |
1.44 MB |
3.5", 2-Sided, 18 Sectors per Track |
F9H |
720 KB |
3.5", 2-Sided, 9 Sectors per Track |
F9H |
1.2 MB |
5.25", 2-Sided, 15 Sectors per Track |
FDH |
360 KB |
5.25", 2-Sided, 9 Sectors per Track |
FFH |
320 KB |
5.25", 2-Sided, 8 Sectors per Track |
FCH |
180 KB |
5.25", 1-Sided, 9 Sectors per Track |
FEH |
160 KB |
5.25", 1-Sided, 8 Sectors per Track |
F8H |
--------- |
Fixed Disk |
Anzahl der FAT-Sektoren: Muss berechnet werden. Die Methode zur Berechnung der Größe von FAT wurde in der Beschreibung von FAT im Kapitel angegeben.
Der DBR eines FAT32-Dateisystems ist in der folgenden Abbildung angegeben:
Sektoren pro Spur (oder Sektoren pro Kopf): Sektoren pro Kopf ist die Anzahl der Sektoren, die unter einem Kopf gruppiert sind. Ebenso spiegelt Heads per Cylinder die Anzahl der Zylinder pro Kopf wider. Wenn es sich bei dieser Partition um eine CHS-Partition handelt, müssen diese Werte mit den vom BIOS zurückgegebenen übereinstimmen. Wenn sie nicht gleich sind, müssen Sie davon ausgehen, dass die Festplatte falsch konfiguriert wurde und die Partition möglicherweise unbrauchbar ist.
Versteckte Sektoren: Wie wir bereits besprochen haben, ist dies die Anzahl der Sektoren auf der physischen Festplatte vor dem Start des Volumes, vor dem Bootsektor selbst. Es wird während der Boot-Sequenz verwendet, um den absoluten Offset zum Root-Verzeichnis und den Datenbereichen zu berechnen. Stellen Sie es sich als die Anzahl der Sektoren zwischen dem Anfang dieser Partition und der Partitionstabelle selbst vor.
Dieses Feld sollte mit der "Anzahl der Sektoren vor der Partition" in der Partitionstabelle identisch sein. Beachten Sie, dass es nicht unbedingt die physische LBA-Adresse des ersten Sektors sein muss, da sekundäre Partitionen existieren können.
Wenn die versteckten Sektoren nicht mit denen in der Partitionstabelle übereinstimmen, können Sie den Bootsektor als beschädigt und die Partition als unbrauchbar betrachten. Beachten Sie auch, dass das High-Word in alten DOS-Versionen normalerweise Müll enthält.
Wenn Sie vermuten, dass ein Bootsektor beschädigt wurde, können Sie mehrere der oben aufgeführten Felder überprüfen, um festzustellen, ob die dort aufgeführten Werte sinnvoll sind.
Beispielsweise, Bytes pro Sektor sind in den allermeisten Fällen 512. Möglicherweise erwarten Sie auch Textzeichenfolgen im ausführbaren Codeabschnitt des Bootsektors, die für das Betriebssystem geeignet sind, das die Festplatte formatiert hat.
Typische Textzeichenfolgen auf FAT-Volumes, die von MS-DOS formatiert wurden, sind beispielsweise: "Ungültiger Systemdatenträger.", "Datenträger-E/A-Fehler.", "Ersetzen Sie den Datenträger , und drücken Sie dann eine beliebige Taste", "Nicht-Systemfestplatte oder Festplattenfehler", "Ersetzen und drücken Sie eine beliebige Taste, wenn Sie bereit sind." und „Datenträgerstartfehler.“ Textfolgen auf FAT-Datenträgern, die von Windows NT formatiert wurden, umfassen: „BOOT: NTLDR kann nicht gefunden werden (oder konnte nicht gefunden werden), „E/A-Fehler beim Lesen des Datenträgers.“ und „Bitte legen Sie einen anderen Datenträger ein.“
Denken Sie jedoch daran, dass Sie diese Liste nicht als allumfassend betrachten sollten. Wenn Sie andere Meldungen im Bootsektor finden, deutet dies nicht unbedingt auf ein Problem mit dem Bootsektor hin. Verschiedene Versionen von MS-DOS und Windows NT können manchmal leicht unterschiedliche Meldungszeichenfolgen in ihren Bootsektoren haben.
Wenn Sie andererseits keinerlei Text finden oder wenn der Text eindeutig nichts mit MS-DOS oder Windows NT zu tun hat, sollten Sie die Möglichkeit in Betracht ziehen, dass Ihr Bootsektor von einem oder mehreren Viren infiziert wurde Möglicherweise ist eine andere Form der Datenbeschädigung aufgetreten.
Um einen mit einem Virus infizierten Bootsektor wiederherzustellen, ist es normalerweise am besten, ein kommerzielles Antivirenprogramm zu verwenden. Viele Viren und Trojaner tun viel mehr, als nur Daten in den Bootsektor zu schreiben, daher wird eine manuelle Reparatur des Bootsektors nicht empfohlen, da sie den Virus oder Trojaner möglicherweise nicht vollständig eliminiert und in einigen Fällen mehr schaden als nützen kann. Wir werden uns jedoch im Programmierabschnitt dieses Buches mit DBR befassen.
Wenn Sie vermuten, dass der Bootsektor aus einem anderen Grund beschädigt wurde, ist es möglicherweise möglich, den Bootsektorschaden zu beheben, ohne das Laufwerk neu zu formatieren, indem Sie die oben beschriebenen Felder manuell ändern. Wir werden versuchen, solche Probleme mit der Programmierung in Programmiertechniken der Wiederherstellung in diesem Buch zu überwinden.
Dateizuordnungstabelle (FAT)
Dem DBR folgen die Dateizuordnungstabellen. Die File Allocation Table (FAT) wurde 1977 eingeführt, um Daten auf Disketten für das eigenständige Microsoft Disk Basic zu speichern. Die FAT wurde mehrmals modifiziert, um den wachsenden Anforderungen gerecht zu werden. Es wurde entwickelt, um die Anforderungen an ein schnelles und flexibles System zur Verwaltung von Daten auf Wechsel- und Festmedien zu erfüllen.
1996 wurde FAT32 mit Windows 95 OSR2 eingeführt. Wie bereits erwähnt, unterstützt Windows 98/ME FAT32 mit der Größe von Festplatten. Bei diesen Betriebssystemen wird heute häufig das Dateisystem FAT32 verwendet.
Das erste DOS-FAT-Dateisystem (DOS 1.x) verwendete das 12-Bit-FAT-System, das noch heute für Disketten verwendet wird. DOS 2.x fügte Unterstützung für Festplatten hinzu, die aufgrund größerer Volumes auf 16-Bit-FAT-Einträge verschoben wurden.
Um 1987 änderte DOS 4.0 die Low-Level-Sektorverwaltung, um 32-Bit-Parameter zu verwenden, um das Problem der Unterstützung großer Festplatten zu überwinden, da wir bereits die Einschränkungen von Dateisystemen besprochen haben.
FAT führt eine Karte der gesamten Oberfläche des Festplattenlaufwerks, so dass welcher Bereich frei ist, welcher Bereich schlecht ist, welcher Bereich von welcher Datei belegt wird usw. Wenn auf einige auf der Festplattenoberfläche gespeicherte Daten zugegriffen werden soll , konsultiert das DOS die FAT, um die Bereiche der Festplattenoberfläche herauszufinden, die die Daten enthalten.
Der zu verwendende FAT-Typ wird vom FDISK-Programm während der Partitionierung des Festplattenlaufwerks bestimmt. Aber die eigentliche FAT wird vom FORMAT-Programm von DOS geschrieben.
Die FAT verfolgt nicht jeden einzelnen Sektor auf der Festplattenoberfläche, sondern verwaltet den Festplattenbereich in einer Gruppe von Sektoren, die als „Cluster“ oder „Zuweisungseinheit“ bezeichnet werden (siehe den zuvor besprochenen Cluster im selben Kapitel). .
Ein Cluster ist die kleinste Einheit des Festplattenspeichers, die DOS einer Datei zuweist. Er besteht aus einem oder mehreren Sektoren, abhängig von der Laufwerksgröße. Die Clustergröße wird durch das DOS FORMAT-Programm während der High-Level-Formatierung des Festplattenlaufwerks entschieden und festgelegt. (Siehe die vorher gegebene Diskussion über die „Größe von Clustern“)
Eigentlich ist die FAT ein Index der Cluster des gesamten Volumes. Die FAT hat einen Eintrag für jeden Cluster. Die ersten beiden Einträge in einer FAT enthalten Informationen über die FAT. Der dritte und die folgenden Einträge in der FAT werden Speicherplatz-Clustern zugewiesen, beginnend mit dem ersten Cluster, der für die Verwendung durch Dateien verfügbar ist
Weil FAT ein so wichtiges Element ist, speichert DOS zwei Kopien der FAT, primäre FAT oder FAT1 und sekundäre FAT oder FAT2 (normalerweise gibt es zwei Kopien, jedoch erstellen viele neue Betriebssysteme mehr als zwei Kopien von FAT).
Jede FAT belegt zusammenhängende Sektoren auf der Festplatte, wobei die 2. FAT unmittelbar nach der 1. FAT das DOS nicht dazu bringt, die 2. FAT zu verwenden, um das Problem zu beheben, sondern wenn die 1. FAT aktualisiert wird, kopiert DOS sie in die 2. FAT und beschädigt die 2. FAT auch dabei.
Diese Aktualisierung erfolgt jedes Mal, wenn DOS feststellt, dass die 1. und 2. FAT nicht übereinstimmen. Im Falle einer Beschädigung der 1. FAT sollte man also sofort die Reparatur durchführen, indem man eine Disk-Editor-Software verwendet und die 1. FAT mit der 2. FAT vergleicht. Dies sollte geschehen, bevor DOS die beschädigte FAT in die zweite FAT kopiert.
Mit der Einführung von FAT32 sind sowohl die FAT-Einträge als auch die Sektornummerierung jetzt 32-Bit. Das bedeutet, dass es jetzt 4.294.967.296 verschiedene 32-Bit-Werte multipliziert mit 512 Byte pro Sektor gibt, was 2 Terabyte (2.199.023.255.552 Byte) als maximal mögliche Festplattengröße unter FAT32 ergibt.
Die Größe des Verzeichniseintrags für jede Datei in FAT 32 beträgt 4 Bytes, um den Wert des Startclusters der Datei aufzunehmen, anstatt der 2 Bytes, die unter FAT16 benötigt werden. Der größere Wert berücksichtigt die größere Anzahl möglicher Cluster.
Traditionell ist jeder Verzeichniseintrag ein 32-Byte-Datensatz, und dies bleibt gleich. In der Mitte des Verzeichniseintrags befinden sich 10 Bytes (Bytes 12 bis 21), die Microsoft für seine eigene zukünftige Verwendung reserviert hat. Zwei dieser Bytes werden nun verwendet, um die zusätzlichen Bytes unterzubringen, die zur Angabe des Startclusters unter FAT32 benötigt werden.
Wie wir bereits besprochen haben, gab es 12-Bit-, 16-Bit- und 32-Bit-Versionen von FAT. Während 32-Bit-FAT eine viel effizientere Speicherung ermöglicht, die bis zu 30 % effizienter sein kann, und die Verwendung größerer Festplatten.
Wenn das Dateisystem eines Betriebssystems von einem Programm aufgerufen wird, um den Inhalt einer Datei zu finden, wird der erste Clusterwert im Verzeichniseintrag für diese Datei gelesen und verwendet, um die FAT-Kette zu finden. Die FAT-Kette ist die Liste von Clustern, die Daten enthalten, die zu einer Datei gehören.
FAT32 Drive Layout |
Offset |
Description |
Start of Partition |
Boot Sector |
Start of Partition + Number of Reserved Sectors |
FAT Tables |
Start of Partition + Number of Reserved Sector + (Number of Sectors Per FAT * 2)
[Assuming that FAT Mirroring is Enabled, this is almost always true] |
Root Directory |
Start of Partition + Number of Reserved Sectors + (Number of Sectors Per FAT * 2) + Number of Sectors in root directory |
Data Area |
FAT-Einträge können folgende Werte enthalten:
- Der nächste Cluster in einer FAT-Kette für eine bestimmte Datei
- Die freien Cluster, d. h. die Cluster, die von keiner Datei verwendet werden
- Die Informationen über fehlerhafte Sektoren, d. h. der Cluster, der einen oder mehrere Sektoren enthält, die physisch beschädigt sind und nicht verwendet werden sollten.
- Der letzte Cluster einer Datei
Entries of FAT Table |
Number (Hex.) |
Description |
0 |
Free cluster |
???? |
Cluster in use, next cluster in chain |
FF0-FF6 / FFF0-FFF6 |
Cluster is reserved |
FF7 /FFF7 |
Cluster contains bad sectors |
FF8-FFF / FFF8-FFFF |
End of file |
Jeder FAT-Eintrag stellt eine Cluster-Adresse dar und enthält einen Zeiger auf die nächste Cluster-Adresse (FAT-Eintrag) für die Datei. Der letzte FAT-Eintrag für eine Datei enthält den endgültigen Clusterwert anstelle eines Zeigers. Die ersten beiden Einträge in einer FAT enthalten Informationen über die FAT. Diese Bytes der FAT enthalten ein Mediendeskriptorbyte. Dieses Byte kann verwendet werden, um den Typ des Datenträgers zu finden, von dem dieser FAT-Eintrag stammt.
Der dritte und die folgenden Einträge in der FAT werden Speicherplatz-Clustern zugewiesen, beginnend mit dem ersten Cluster, der für die Verwendung durch Dateien verfügbar ist. Ein FAT-Eintrag kann jeden der in der obigen Tabelle angegebenen Werte haben, basierend auf den Informationen, die er übermitteln möchte.
Ein 000H in 12–Bit FAT oder 0000H in 16–Bit FAT zeigt an, dass der Cluster, der diesem FAT-Speicherort entspricht, nicht zugeordnet oder leer ist. Jeder Wert von FF8H bis FFFH in 12-Bit-FAT oder FFF8H bis FFFFH in 16-Bit-FAT gibt an, dass dieser Cluster der letzte Cluster in einer Kette von Clustern einer Datei ist.
Wert von FF0H bis FF7H in 12 – Bit FAT zeigt reservierte Cluster an. Ein FF7H in einer 12-Bit-FAT oder FFF7H in einer 16-Bit-FAT zeigt an, dass der Cluster, der der Position der FAT entspricht, ein fehlerhafter Cluster ist, d. h. dies ist im Grunde ein Cluster, der fehlerhafte Sektoren enthält. Dieser Cluster wird nicht zur Datenspeicherung verwendet.
Jeder andere Wert in der FAT-Tabelle ist ein Zeiger auf den nächsten Cluster in der Dateizuordnungskette.
Wie Windows das unsachgemäße Herunterfahren erkennt
Es kommt sehr häufig vor, und ich hoffe, Sie haben es bei der Verwendung von Windows schon oft bemerkt, dass Ihr Computer aus irgendeinem Grund wie Stromausfall, Softwarebeschädigung, versehentliches Herunterfahren usw. nicht ordnungsgemäß heruntergefahren wird, wenn Sie Wenn Sie Ihren Computer weiter neu starten, wird die Meldung Unsachgemäß – Herunterfahren während des Bootvorgangs auf dem Bildschirm angezeigt und das Betriebssystem scannt die Festplatte auf Fehler.
Die nächsten beiden Abbildungen zeigen die 256 Bytes des Anfangs einer 32-Bit-FAT, aber wir brauchen nur die ersten 8 Bytes, um dies zu diskutieren.
Tatsächlich wird das 8. Byte (oder Offset 7H) von FAT zu 07H oder F7H von 0FH oder FFH, wenn das Windows-Betriebssystem sich selbst in den Speicher geladen hat, d. h. wenn Windows gestartet wurde.
Microsoft verwendet das Byte 0FH nur für das Volume, das das laufende Betriebssystem enthält, und das Byte FFH für alle anderen Volumes, auf die es zugreift.
Sobald Windows zu booten beginnt, wird das 8. Byte in 07H oder F7H geändert, das nur dann auf 0FH oder FFH zurückgesetzt wird, wenn Windows ordnungsgemäß heruntergefahren wird.
Falls es zu einem Stromausfall kommt oder der Netzschalter des Computers versehentlich ausgeschaltet wird oder das System aufgrund eines Softwareproblems manuell neu gestartet wird, bleibt dieses Byte als 07H oder F7H erhalten, wodurch das Windows-Betriebssystem über den nächsten Vorgang informiert wird Beim Booten wird festgestellt, dass es zu einem unsachgemäßen Herunterfahren gekommen ist, und dann verwendet Windows sein Festplatten-Scanprogramm (Scandisk), um die Festplatte auf Fehler zu überprüfen.
Wurzelverzeichnis
Nach dem letzten FAT ist das Stammverzeichnis. Das Stammverzeichnis ist wie ein Inhaltsverzeichnis für die auf der Festplatte gespeicherten Informationen. Der Speicherort des Root-Verzeichnisses kann leicht durch Addieren der Werte aus dem Boot-Datensatz ermittelt werden, da es nach den FATs positioniert ist.
Der Verzeichnisbereich enthält Informationen über den Dateinamen, Datum und Uhrzeit der Dateierstellung, Dateiattribut, Dateigröße und Startcluster der jeweiligen Datei. Jeder Verzeichniseintrag, der diese Informationen über eine Datei beschreibt, ist eine 32-Byte-Information.
Das Stammverzeichnis enthält Informationen über die Dateien und Verzeichnisse, die vom Stammverzeichnis abzweigen. Alle weiteren Verzeichnisse werden selbst als Dateien im gleichen Format wie das Root-Verzeichnis gespeichert. Früher hatte das Stammverzeichnis eine feste Größe und befand sich an einer festen Position auf der Festplatte, aber jetzt kann es nach Bedarf wachsen, da es jetzt als Datei behandelt wird.
Die Anzahl der Dateien, die im Stammverzeichnis gespeichert werden können, hängt vom verwendeten FAT-Typ ab. Beispielsweise ist für eine 3½-Zoll-Diskette mit 1,44 MB und 12-Bit-FAT die Anzahl auf 224 Einträge begrenzt, wenn versucht wird, die 225. Datei zu speichern, zeigt DOS einen „Dateierstellungsfehler“ an. Wenn ein 16-Bit-FAT verwendet wird, kann man insgesamt 512 Einträge im Stammverzeichnis haben. Jedes Hauptverzeichnis auf einer Diskette oder Festplatte fungiert auch als Stammverzeichniseintrag.
Die folgende Tabelle listet die Beschränkungen von Root-Einträgen für verschiedene Medien und FAT auf:
Media and File System Description |
Maximum Root Directory Entries |
Single-sided 5¼ Inch 180K FDD |
64 |
Double-sided 5¼ Inch 320K FDD |
64 |
Double-sided 5¼ Inch 360K FDD |
112 |
Double-sided 3½ Inch 720K FDD |
112 |
Double-sided 5¼ Inch 1.2-megabyte FDD |
224 |
Double-sided 3½ Inch 1.44-megabyte FDD |
224 |
Double-sided 3½ Inch 1.68-megabyte DMF format disks (This is why Microsoft created CAB Files!) |
16 |
Double-sided 3½ Inch 2.88-megabyte FDD |
240 |
Hard Drives (FAT12 & FAT16) |
512 |
Hard Drives with FAT 32 (As it treats the route directory as a file) |
65,536 |
Das bedeutet nicht, dass man mit 16-Bit FAT darauf beschränkt ist, nur 512 Dateien auf der Festplatte zu speichern. Man kann Unterverzeichnisse verwenden, um eine beliebige Anzahl von Dateien zu speichern, die nur durch die Größe des Laufwerks begrenzt ist.
Denken Sie daran, dass die Datenträgerbezeichnung für eine Diskette normalerweise im Bootsektor gespeichert wird, die Datenträgerbezeichnung für eine Festplatte jedoch als Stammverzeichniseintrag gespeichert wird und der im Bootsektor reservierte Platz mit Leerzeichen leer gelassen wird. Der DIR-Befehl von DOS gibt den im Verzeichnis zurück, falls vorhanden, oder den im Bootsektor, falls nicht.
Verzeichniseinträge enthalten den Eintrag in die Clusterkette und den Dateinamen. Daher stammen die wichtigsten Verzeichniseinträge aus dem Stammverzeichnis, da es Cluster-Indizes enthält, die auf alle Unterverzeichnisse zeigen.
Alle Verzeichnisse enthalten zwei Einträge, "." für das aktuelle Verzeichnis (dieses Unterverzeichnis) und ".." für das übergeordnete Verzeichnis (übergeordnetes Verzeichnis dieses Unterverzeichnisses). Wir können diese Einträge leicht verfolgen, da sie immer am Anfang eines Clusters positioniert werden, wenn der Cluster ein Verzeichnis enthält.
Die folgende Tabelle zeigt das Format eines Verzeichniseintrags im Stammverzeichnis. Die folgende Tabelle zeigt, wie die 32 Bytes des Verzeichniseintrags einer Datei im Stammverzeichnis aufgeteilt werden, um die verschiedenen Informationen darüber zu speichern:
Offset |
Size |
Description |
00H |
8 Bytes |
Filename
(Also see the next table for the special meaning of first character of file name) |
08H |
3 Bytes |
Extension |
0BH |
1 Byte |
File attributes(See The Table Of File Attributes) |
0CH |
10 Bytes |
Reserved |
16H |
2 Bytes |
Time Created or Last Updated (See Date–Time Format Table) |
18H |
2 Bytes |
Date Created or Last Updated (See Date–Time Format Table) |
1AH |
2 Bytes |
Starting or First cluster of file
(The value 0000H is used in Parent Directory ('..') entries to indicate that the Parent Directory is the Root Directory) |
1CH |
4 Bytes |
File size in Bytes. |
Dateiname enthält den Namen in Großbuchstaben und wenn die Größe des Dateinamens kleiner als die 8 Zeichen ist, werden die Leerzeichen mit Leerzeichen der ASCII-Nummer 32 gefüllt. Das Erweiterungsfeld enthält die Dateierweiterung in Großbuchstaben.
Wenn der Dateiname länger als 8 Zeichen ist, erstellt Windows aus einem langen Dateinamen einen kurzen, indem es ihn auf sechs Großbuchstaben kürzt und "~1" an das Ende des Basisdateinamens anfügt.
Wenn es bereits einen anderen Dateinamen mit denselben ersten sechs Zeichen gibt, wird die Nummer erhöht. Die Erweiterung bleibt gleich, und alle Zeichen, die in früheren Versionen von Windows und DOS illegal waren, werden durch einen Unterstrich ersetzt.
Lange Dateinamen werden in speziell formatierten 32-Byte-LFN-Verzeichniseinträgen (Long File Name) gespeichert, die mit auf 0FH gesetzten Attributbytes gekennzeichnet sind. Für eine gegebene Datei oder ein Unterverzeichnis steht eine Gruppe von einem oder mehreren Langdateinamen-Verzeichniseinträgen unmittelbar vor dem einzelnen 8.3-Verzeichniseintrag auf der Festplatte.
Jeder LFN-Verzeichniseintrag enthält bis zu 13 Zeichen des langen Dateinamens, und das Betriebssystem fügt so viele wie nötig aneinander, um einen vollständigen langen Dateinamen zu bilden.
Dies ist die Ursache, warum die langen Dateinamen die maximal mögliche Anzahl von Wurzelverzeichniseinträgen in einem Dateisystem verringern. Wie Windows lange Dateinamen unterstützt, werden wir später in diesem Kapitel ausführlich besprechen.
Das erste Byte des Dateinamens kann auch einige wichtige Informationen über die Datei enthalten. Die von diesem Byte gelieferten Informationen können wie in der folgenden Tabelle angegeben sein:
First Character of File Name |
Value |
Meaning |
00H |
Indicates that this directory entry is unused. |
05H |
Indicates that 1st character of filename is character E5H But actually the file has not been deleted. (See the Meaning of E5H) |
E5H |
The file has been Erased and this directory entry is a deleted file’s directory entry. The data area previously occupied by that file is now free for allocation for another new file. |
2EH |
This is a Sub-directory. The cluster number field of this entry will contain the cluster number of the directory. |
2EH 2EH |
Two 2EH in a directory entry indicate the parent directory entry of a Sub–Directory. The cluster number of this entry will contain the cluster number of the parent directory of this directory. The cluster number will be zero 0000H if the parent directory is root directory. |
Die Attribute sind ein binär codiertes 8-Bit-Feld. Die folgende Tabelle gibt Auskunft über den Status für Flags von Attributen für die angegebene Datei:
Attribute Bits |
Attribute |
Bit |
Binary |
Hex |
Read Only File Flag |
0 |
.......? |
01H |
Hidden File Flag |
1 |
......?. |
02H |
System File Flag |
2 |
.....?.. |
04H |
Volume Label Flag
(Indicates that the entry is a volume label) |
3 |
....?... |
08H |
Sub–directory
(in same format as directory) |
4 |
...?.... |
10H |
Archive Bit
(File Modified Since Last Backup) |
5 |
..?..... |
20H |
Reserved (Contains 0) |
6 |
.0...... |
- |
Reserved (Contains 0) |
7 |
0....... |
- |
Eine Datei kann mehrere Attribute haben. Beispielsweise kann eine einzelne Datei sowohl eine schreibgeschützte als auch eine versteckte Datei sein, oder eine einzelne Datei kann beide Attribute haben, die Systemdatei und die versteckte Datei. (Siehe das nächste Beispiel für die Kodierung von Verzeichniseinträgen).
Zeit und Datum sind ein speziell kodiertes Feld mit 32-Bits (16-Bits für die Zeit und 16-Bits für das Datum). Die Aufteilung dieser Bits, die kodiert werden, um die Zeit der Erstellung oder letzten Aktualisierung und das Datum der Erstellung oder letzten Aktualisierung für eine Datei zusammenzusetzen, ist in der folgenden Tabelle angegeben:
Der Eintrag für den Zeitpunkt der Erstellung oder letzten Aktualisierung der Datei, der das 16. und 17. Byte im Verzeichniseintrag ist, hat das in der obigen Tabelle angegebene Format. Die Kodierung ist wie folgt:
- H ist eine Binärzahl für die Stunde, die zwischen 0 und 23 liegen kann
- M ist eine Binärzahl für die Minute, die zwischen 0 und 59 liegen kann
- S ist eine binäre Zahl für Sekunden in 2-Sekunden-Schritten
- Der Eintrag für Daten der Erstellung oder letzten Aktualisierung der Datei, der das 18. und
- 19. Byte im Verzeichniseintrag ist, hat das folgende Format:
- Y ist eine Binärzahl zwischen 0 und 127 oder Jahr 1980 bis 2107
- M ist eine Binärzahl für den Monat, diese kann von 1 bis 12 reichen
- D ist eine Binärzahl für das Datum, diese kann von 1 bis 31 reichen
Dieser Verzeichniseintrag wird anhand des ersten Clusterwerts mit dem FAT-Eintrag verknüpft. Sobald das DOS den Start-Cluster-Wert einer beliebigen Datei aus dem Verzeichnis hat, kann das DOS die vollständige Datei mithilfe der FAT herausfinden. Der Eingangscluster in der Kette ist der erste Cluster, aus dem die Datei besteht. Wenn das Verzeichnis-Flag der Attribute gesetzt ist, zeigt dieses Feld auf einen neuen Verzeichniseintrag.
Der Eintrag für die Dateigröße beträgt 4 Bytes. Dadurch können wir berechnen, wie FAT32 die maximale Größe einer Datei bis zu 4.294.967.295 Bytes unterstützt, was ungefähr 4 GiB entspricht. Die 4 Bytes haben 32 Bits und die maximal mögliche Dateigröße, die aus einer beliebigen 32-Bit-Binärdatei bestehen könnte,
= 11111111 11111111 11111111 11111111 (B) Bytes
= 4,294,967,295 (D) Bytes
~ 4 GiB
Daher unterstützt FAT32 die maximale Dateigröße von bis zu 4 GiB.
Die Dateigröße und der Start-Cluster der Datei können eine wertvolle Ressource für die Datenwiederherstellung bei der Wiederherstellung beschädigter Dateien sein, da wir berechnen können, aus wie vielen Clustern die Datei bestehen soll.
Die obige Abbildung zeigt den Stammverzeichniseintrag für sieben verschiedene Dateien. Die Codierung für diese Einträge ist in der folgenden Tabelle angegeben:
Langer Dateiname (LFN)
Wie wir bereits früher in der Root-Verzeichnis-Diskussion besprochen haben, hatte das Root-Verzeichnis früher eine feste Größe und befand sich an einer festen Position auf der Festplatte, aber jetzt kann es nach Bedarf wachsen, da es jetzt als Datei behandelt wird.
Dies ist sehr wichtig für lange Dateinamen, da jeder lange Dateiname mehrere Verzeichniseinträge verwendet. Das Hinzufügen von Unterstützung für lange Dateinamen zu einem Betriebssystem, das 8.3-Dateinamen verwendet, ist nicht so einfach wie das Erweitern von Verzeichniseinträgen auf mehr als 11 Zeichen.
Wenn dieses neue Betriebssystem Dateinamen mit 255 Zeichen zurückgibt, würden viele ältere Anwendungen, die nicht mehr als 11 Zeichen erwarten, abstürzen, da ein Programm Speicher reservieren muss, um die gelesenen Dateinamen zu speichern, und wenn es reserviert 16 Bytes für einen Dateinamen und das Betriebssystem kopiert (sagen wir) 32 Zeichen in diesen Bereich, dann werden andere Daten überschrieben. Ein sicherer Weg, eine Anwendung zu beschädigen, besteht darin, zufällige Daten in ihren Datenbereich zu kopieren.
Um dieses Problem zu überwinden, wurde in Windows 95 eine clevere Lösung für das Problem gefunden, lange Dateinamen zu unterstützen und gleichzeitig die Kompatibilität mit früheren Versionen von DOS- und Windows-Anwendungen zu wahren.
Wenn die meisten Anwendungen (mit Ausnahme von Low-Level-Festplattendienstprogrammen wie Norton Disk Doctor) das System nach Datei- und Unterverzeichnisnamen abfragen, tun sie dies nicht, indem sie Verzeichniseinträge direkt von der Festplatte lesen, sondern indem sie integrierte Aufzählungsfunktionen verwenden das Betriebssystem.
Wie wir wissen, ist ein Verzeichniseintrag mit der Kombination aus schreibgeschützten, versteckten, System- und Volume-Label-Attributen Bits gekennzeichnet. Wenn das Attributbyte des Verzeichniseintrags den Wert 0FH enthält, überspringen wahrscheinlich die Aufzählungsfunktionen, die in alle existierenden Versionen von DOS und alle Pre-Windows 95-Versionen von Windows eingebaut sind, diesen Verzeichniseintrag, als ob er nicht vorhanden wäre.
Dann bestand die Lösung darin, zwei Namen für jede Datei und jedes Unterverzeichnis zu speichern, einen kurzen Namen, der für alle Anwendungen sichtbar ist, und einen langen Namen, der nur für Windows 95-Anwendungen (und höher) und neu geschriebene Anwendungen sichtbar ist um Unterstützung für lange Dateinamen hinzuzufügen. Kurze Dateinamen werden im 8.3-Format in herkömmlichen 32-Byte-Verzeichniseinträgen gespeichert.
Wir haben bereits besprochen, dass Windows aus einem langen Dateinamen einen kurzen macht, indem es ihn auf sechs Großbuchstaben kürzt und "~1" an das Ende des Basisdateinamens anfügt.
Wenn es bereits einen anderen Dateinamen mit denselben ersten sechs Zeichen gibt, wird die Nummer erhöht. Die Erweiterung bleibt gleich, und alle Zeichen, die in früheren Versionen von Windows und DOS illegal waren, werden durch einen Unterstrich ersetzt.
Die langen Dateinamen werden in speziell formatierten 32-Byte-Verzeichniseinträgen für lange Dateinamen (LFN) gespeichert, die mit auf 0FH gesetzten Attributbytes gekennzeichnet sind. Für eine bestimmte Datei oder ein Unterverzeichnis steht eine Gruppe von einem oder mehreren Langdateinamen-Verzeichniseinträgen unmittelbar vor dem einzelnen 8.3-Verzeichniseintrag auf der Festplatte.
Jeder Verzeichniseintrag für lange Dateinamen enthält bis zu 13 Zeichen des langen Dateinamens, und das Betriebssystem fügt so viele wie nötig aneinander, um einen vollständigen langen Dateinamen zu bilden.
Bei einem Verzeichniseintrag für lange Dateinamen werden Dateinamen im Unicode-Format gespeichert, das 2 Byte pro Zeichen erfordert, im Gegensatz zu 1 Byte ASCII. Die Zeichen des Dateinamens werden auf drei separate Felder verteilt:
- Die ersten 10 Bytes (fünf Zeichen) in der Länge,
- Die zweiten 12 Bytes (sechs Zeichen),
- Die dritten 4 Bytes (zwei Zeichen).
- Die niedrigsten fünf Bits des ersten Bytes des Verzeichniseintrags enthalten eine Sequenznummer, die die Position des Verzeichniseintrags relativ zu anderen identifiziert
- Verzeichniseinträge für lange Dateinamen, die derselben Datei zugeordnet sind.
Wenn ein langer Dateiname drei LFN-Verzeichniseinträge erfordert, ist die Sequenznummer des ersten 1, die des zweiten 2 und die Sequenznummer des dritten 3 und Bit 6 des ersten Bytes des dritten Eintrag wird auf 1 gesetzt, um anzuzeigen, dass es sich um den letzten Eintrag in der Sequenz handelt.
Das Attributfeld erscheint in LFN-Verzeichniseinträgen an derselben Stelle wie in 8.3-Verzeichniseinträgen, da das Dateisystem nicht weiß, mit welcher Art von Verzeichniseintrag es es zu tun hat, bis es das Attributbyte untersucht hat. Das Start-Cluster-Nummernfeld erscheint auch an der gleichen Stelle, aber in LFN-Verzeichniseinträgen ist sein Wert immer 0. Das Typanzeigefeld enthält auch 0 in jedem langen Dateinamen.
Eines der Probleme bei langen Dateinamen ist, dass sie mehr Speicherplatz verbrauchen als kurze. Das ist keine große Sache, wenn lange Namen in Unterverzeichnissen gespeichert werden, denn solange Plattenplatz verfügbar ist, können Unterverzeichnisse wachsen, um hinzugefügte Verzeichniseinträge aufzunehmen, aber die maximale Anzahl von Verzeichniseinträgen, die im Stammverzeichnis verfügbar sind, ist festgelegt, und lange Dateinamen verschwenden Speicherplatz im Root-Verzeichnis, dessen Größe begrenzt ist.
Jetzt zum Beispiel, Wenn das Stammverzeichnis einer Festplatte höchstens 512 Verzeichniseinträge enthält, weil ein 128-stelliger Name 11 Einträge erfordert, 10 für den langen Namen und 1 für den Kurznamen, könnten Sie nur 46 Dateien und Unterverzeichnisse im Stammverzeichnis erstellen, wenn jeder erhielt einen Namen mit 128 Zeichen.
Das Problem verschwindet auch für FAT32, da das Root-Verzeichnis unter FAT32 ebenfalls wachsen kann, da das Root-Verzeichnis im FAT32-System als Datei behandelt wird, deren Größe wachsen kann.
Datenbereich (oder Dateibereich)
Nach dem Stammverzeichnis beginnt der Datenbereich (oder Dateibereich). Vielmehr können wir sagen, dass der Rest des Volumes nach dem Stammverzeichnis der Datenbereich ist.
Der Datenbereich enthält die eigentlichen Daten, die auf der Plattenoberfläche gespeichert sind. DOS verwendet die Cluster-Nummer 2 für den ersten Sektor des Datenbereichs, daher sollten wir bei der Durchführung verschiedener Berechnungen daran denken, dass die Cluster-Nummer bei 2 beginnen sollte.
Wenn wir eine Festplatte formatieren, zerstört oder überschreibt der FORMAT-Befehl von DOS die Daten im Datenbereich nicht. Der Befehl FORMAT entfernt nur den Verzeichniseintrag und die FAT-Einträge und berührt nicht den eigentlichen Datenbereich.
Dies ermöglicht die Wiederherstellung eines versehentlich formatierten Festplattenlaufwerks, was nicht in allen Fällen einer versehentlich formatierten Diskette möglich ist. Wie im Vollformat von Windows wird der Datenbereich der Diskette mit F6H-Zeichen gefüllt und alle Informationen werden überschrieben.
DOS verwendet einen 16-Bit/32-Bit-Zeiger, der als „Last Cluster Used“ (LCU)-Zeiger bezeichnet wird, um die zuletzt verwendete Cluster-Nummer zu speichern. Anfänglich ist dieser Zeigerwert null, wenn einige Informationen auf einen bestimmten Cluster geschrieben werden, wird diese Clusternummer im LCU-Zeiger gespeichert.
Danach sucht DOS jedes Mal, wenn die neuen Informationen geschrieben werden sollen, nach einem freien Cluster ab der LCU-Nummer. Dies zwingt neue Daten, die auf die Festplatte geschrieben werden, zusammenhängend zu bleiben, während die Daten in den neuen, unbenutzten Bereich geschrieben werden.
Das Verstehen von Daten im Falle eines versehentlichen Löschens wäre jetzt viel einfacher, da sich die Datei in einem zusammenhängenden Bereich auf der Festplatte befindet. Sobald das Ende der Platte erreicht ist oder das System zurückgesetzt wird, wird der Wert des LCU-Zeigers auf Null zurückgesetzt.
Aber das Problem dauert hier nicht an. Es ist praktisch nicht möglich, dass Sie nur neue Dateien auf Ihrer Festplatte erstellen und niemals eine Datei aus den zuvor gespeicherten löschen oder ändern. Wenn Sie nur LCU verwenden, treten Probleme auf, wenn Sie viele Dateien erstellen und löschen, da dies dazu führt, dass die neuen Daten immer weiter in die inneren Spuren der Festplatte verschoben werden.
Wenn daher eine Datei, die auf der Festplatte gespeichert war, verschoben oder gelöscht wird, werden die Cluster im Datenbereich, die von der Datei belegt waren, jetzt als nicht zugeordnete Cluster im Datenbereich verfügbar und bereit, neue Daten zu schreiben auf sie. Dadurch muss das Betriebssystem nicht alle Daten auf die inneren Spuren der Festplatte verschieben.
Aber viele Löschungen und Erstellungen von Dateien fragmentieren die Daten auf der Festplatte und dies verursacht die Fragmentierung in den Daten.
Fragmentierte und defragmentierte Daten
Wir haben bereits besprochen, dass jede Datei auf der Festplatte als verknüpfte Liste von Clustern gespeichert wird, durch die die Daten, die in einer Datei enthalten sind, irgendwo auf der Festplatte lokalisiert werden können. Wenn Sie eine 10-MB-Datei auf einem Datenträger mit 4.096-Byte-Clustern gespeichert haben, verwendet sie 2.560 Cluster. Diese Cluster können sich auf verschiedenen Spuren befinden, auf verschiedenen Platten der Platte, tatsächlich können sie überall sein.
Obwohl eine Datei über die gesamte Festplatte verteilt sein kann, ist dies bei weitem nicht die bevorzugte Situation. Der Grund ist die unerwünscht langsame Performance. Festplatten sind relativ langsame Geräte, hauptsächlich weil sie mechanische Teile enthalten. Jedes Mal, wenn die Festplatte die Köpfe auf eine andere Spur verschieben muss, dauert es Zeit, die Tausenden und Abertausenden von Prozessorzyklen entspricht.
Daher möchten wir das Ausmaß minimieren, in dem jede Datei auf der Festplatte verteilt ist. Im Idealfall wäre jede Datei sogar vollständig zusammenhängend. Das heißt, jeder verwendete Cluster würde nacheinander auf der Platte liegen. Dies würde ermöglichen, dass die gesamte Datei bei Bedarf ohne viel mechanische Bewegung durch die Festplatte gelesen werden kann.
Eigentlich beginnt das Dateisystem mit allen oder den meisten zusammenhängenden Dateien, aber als Ergebnis der Erstellung und Löschung von Dateien im Laufe der Zeit werden die Daten auf der Festplatte immer fragmentierter.
Betrachten wir ein einfaches Beispiel, um die Fragmentierung zu verstehen. Die folgende Tabelle zeigt die Nutzung der 12 Cluster. Anfangs ist die Tabelle leer:
cluster 1 |
cluster 2 |
cluster 3 |
cluster 4 |
cluster 5 |
cluster 6 |
cluster 7 |
cluster 8 |
cluster 9 |
cluster 10 |
cluster 11 |
cluster 12 |
Nehmen wir nun an, dass wir vier Dateien, Datei A, B, C und D, auf dieser Festplatte erstellen. Datei A nimmt 1 Cluster, Datei B 4, Datei C 2 und Datei D 3. Wir speichern sie im frei verfügbaren Speicherplatz, und sie beginnen alle zusammenhängend, wie in der nächsten Abbildung gezeigt:
Lassen Sie uns nach einiger Zeit die Datei C löschen und dadurch sind beide Cluster, die von Datei C belegt waren, jetzt frei oder nicht zugeordnet. Dadurch sieht die Festplatte wie in der folgenden Abbildung aus:
Jetzt erstellen wir eine neue Datei E, die 3 Cluster benötigt. Aber da es auf der Platte keine zusammenhängenden Blöcke mehr gibt, die 3 Cluster lang sind, müssen wir E in zwei Fragmente aufteilen, wobei wir einen Teil des Platzes verwenden, der früher von C belegt war. Jetzt wird unsere Platte wie die folgende Abbildung aussehen :
Lassen Sie uns nach einer gewissen Zeitspanne die Dateien A und E löschen und die Datei F erstellen, die 5 Cluster belegt. Die Festplatte sieht jetzt wie in der folgenden Abbildung aus:
Jetzt sehen wir, dass die Datei F am Ende in drei Fragmente zerlegt wird. Dieser Datentyp auf der Festplatte wird als fragmentierte Daten bezeichnet. Das oben angegebene Beispiel ist ein sehr vereinfachtes Beispiel für Fragmentierung, da die echten Festplatten Tausende von Dateien und Tausende von Clustern enthalten, sodass das Problem dort vergrößert wird. Dies gibt Ihnen jedoch eine allgemeine Vorstellung davon, was passiert.
Ein Defragmentierungsprogramm (wie das DEFRAG-Programm von Microsoft, SpeedDisk von Norton) ordnet die Festplatte neu an, um die Dateien wieder in zusammenhängende Form zu bringen. Nach dem Ausführen des Dienstprogramms zur Defragmentierung der Festplatte sehen die defragmentierten Daten auf der Festplatte, über die wir gesprochen haben, wie in der folgenden Abbildung aus:
Die fragmentierten und defragmentierten Daten haben in vielen Fällen eine große Bedeutung während der Datenwiederherstellung.
Lassen Sie uns bedenken, dass wir zwei abgestürzte Festplatten zur Datenwiederherstellung haben, eine hat fragmentierte Daten und eine wurde kürzlich defragmentiert. Und Sie müssen eine Datenwiederherstellung durchführen, indem Sie die Daten von der Oberfläche beider Festplatten sammeln, da die FAT- und Root-Informationen der Dateien beschädigt sind. In solchen Fällen ist der Prozentsatz der Wiederherstellung proportional zur Defragmentierung der Daten auf der Festplatte.
Natürlich ist die Datenwiederherstellung von der defragmentierten Festplatte einfach und der Prozentsatz der Datenwiederherstellung wird ebenfalls hoch sein, aber auf der anderen Seite wird die Datenwiederherstellung von der fragmentierten Festplatte schwierig und zeitaufwändig sein sowie der Prozentsatz von wiederhergestellte Daten werden ebenfalls enttäuschend sein.
Identifizieren der Ursache der Datenbeschädigung
Es gibt einige spezifische Schritte, die uns helfen können, den Bereich der Korruption zu finden, wenn sie der Reihe nach befolgt werden. Diese Schritte wurden mit dem Wiederherstellungsverfahren wie folgt beschrieben:
Booten Sie das System mit einer bootfähigen Diskette
Booten Sie Ihr System mit einer bootfähigen Diskette oder CD des verwendeten Betriebssystems. Versuchen Sie, die logischen Laufwerke C: oder D: oder was auch immer zu lesen. Wenn auf die Laufwerke zugegriffen werden kann, kopieren Sie einfach alle Daten vom Laufwerk. Jetzt können Sie mit weniger Stress herausfinden, warum die Festplatte nicht richtig bootet.
Überprüfen Sie die MBR-Informationen
Das erste und wichtigste Datenelement auf der Festplatte ist der MBR und die darin enthaltene Tabelle, die Partitionstabelle. Das kleine Disketten-Bearbeitungstool mit dem Namen „TTEDITOR.EXE“ ist auf der diesem Buch beiliegenden Diskette enthalten. Oder Sie können jedes andere Programm verwenden, um die Festplatte zu analysieren.
Diskedit ist das am besten geeignete Programm, um die Festplatte für Datenwiederherstellungszwecke zu analysieren. Nun, welches Programm Sie einfach verwenden möchten, liegt bei Ihnen. Versuchen Sie, den MBR und insbesondere seine Partitionstabelle zu lesen.
Wie Sie in der Beschreibung des MBR in diesem Kapitel gesehen haben, gibt es in der zweiten Hälfte des MBR einen lesbaren Text, der als Fehlermeldung angezeigt wird, wenn etwas damit nicht stimmt. Diese Textnachrichten werden etwa so angezeigt:
“Invalid partition table, Setup can not continue”
“Error loading operating system, Setup can not continue”
Wenn diese Fehlermeldungen nicht verfügbar sind, deutet dies auf eine Beschädigung des MBR hin. Es kann stattdessen auch eine illegale Nachricht wie „Ihr System wurde gehackt von …“ oder eine andere unerwartete Nachricht angezeigt werden. Es weist darauf hin, dass mit dem MBR etwas ernsthaft nicht in Ordnung ist, und höchstwahrscheinlich liegt es an einer VIRALEN Infektion
Überprüfen Sie nun die Partitionstabelle des MBR nach den ersten 446 Bytes. Wenn die Partitionstabelle leer ist, sehen Sie beim Booten keine Fehlermeldung. DOS ignoriert ein nicht partitioniertes Laufwerk. Wenn sich in Laufwerk A: keine bootfähige Diskette befindet, fordert das System zum Einlegen einer bootfähigen Diskette in Laufwerk A: auf.
Die wichtige Sache, die hier beachtet werden muss, ist, dass die Partitionstabelle auf einem zuvor funktionierenden Laufwerk nicht leer sein sollte, also etwas sie gelöscht hat. Wenn die Partitionstabelle leer ist, stellen Sie den MBR aus der Sicherung wieder her.
Wenn die Sicherung auch nach erfolgreichem Abschluss des Wiederherstellungsvorgangs nicht funktioniert, liegt in diesem Sektor ein physischer Schaden vor. Probieren Sie die Programmiertechniken der Datenwiederherstellung aus, die in den nächsten Kapiteln beschrieben werden, um die Daten wiederherzustellen. Wenn Sie überhaupt kein Programmierer sind, gehen Sie besser zu einem guten Datenwiederherstellungszentrum.
Wenn Sie keine Sicherung des MBR haben, versuchen Sie, die Partitionstabelle manuell mit einem Festplattenbearbeitungstool wie Diskedit zu schreiben, jedoch ist dies in einigen Fällen sehr schwierig.
Für diejenigen Benutzer, die nicht die Programmierer sind und auch kein Backup haben, können Sie die Methode verwenden, die ich seit der Entwicklung meines Datenwiederherstellungsprojekts in meiner Studienzeit verwendet habe.
Was Sie tun müssen, ist, suchen Sie einfach den Computer in Ihrer Nähe, der fast die gleiche Festplattengröße, die gleiche Anzahl von Partitionen und das Wichtigste das gleiche Betriebssystem wie auf Ihrem Computer hat. stark
Die meiste Zeit funktioniert es jedoch vollständig. Aber wenn nicht, kann es Ihnen zumindest helfen, auf die erste Partition Ihrer Festplatte zuzugreifen. Auch Ihr Betriebssystem bootet normal, wenn es auf der ersten Partition installiert wurde und die anderen Informationen nicht beschädigt sind.
Wenn MBR in Ordnung ist, überprüfen Sie DBR
Wenn der MBR in Ordnung ist, überprüfen Sie den DBR (DOS Boot Record). Wie wir bereits besprochen haben, ist dies der erste Sektor in der DOS-Partition und enthält ein kleines Programm, das die versteckten Dateien lädt und das Betriebssystem bootet.
Der DBR enthält auch viele wichtige Informationen über die FAT, Root-Verzeichnis-Cluster und die Größe der Partition usw. Verwenden Sie ein Diskedit-ähnliches Dienstprogramm, um die DBR-Informationen zu lesen, wenn der DBR beschädigt ist oder illegale Informationen enthält, um den DBR aus der Sicherung wiederherzustellen .
Jede professionelle Software zur Datenwiederherstellung kann den DBR neu schreiben. Wir werden in den nächsten Kapiteln des Buches besprechen, wie man den DBR der Partition mit Programmierung umschreibt.
Sie können den DBR der Partition auch mit Hilfe von Diskedit umschreiben, indem Sie entsprechende Informationen angeben.
Es gibt auch eine sehr einfache Möglichkeit, den Bereich der Korruption herauszufinden. Die Fehlermeldungen, die auf dem Bildschirm angezeigt werden, haben einen bestimmten Grund für die Anzeige. Die Beschreibung einiger wichtiger Fehlermeldungen lautet wie folgt:
Message |
Description |
“Sector not found reading drive” |
This message can appear during any DOS operation. Generally, it is caused either by fading or the loss of a sector ID. |
“Data error reading drive” |
This message can appear during any DOS operation. It is caused by failing the data check – CRC (Cyclic Redundancy Check) or ECC (Error Correction Code). This “Data check” refers to the mechanism used to check whether the data read from the disk is reliable. |
“ 0 hard disk(s) found" |
It is displayed if the hard disk is not detected by the BIOS of the computer. Check the power and data cable connections of the hard disk. If connections are all right, the problem may be due to some hardware error of hard disk. |
“Hard Drive failure, press F1 to continue” |
Same as above |
“Invalid drive specification” |
It is displayed in the condition when either the system does not recognize the hardware, or there is no partition information, or the device driver of the drive is missing. |
“Invalid configuration press F1 to continue” |
If the hard disk is available, Either the battery in the motherboard is dead, and the system has lost its configuration SETUP information or the disk is not responding. |
“Invalid partition table” |
This is the MBR error message. It is displayed when the partition table of the MBR does not have the valid partition information. |
“Error loading operating system” |
This is the MBR error message. It is displayed due to any type of MBR information corruption. |
“Missing operating system” |
Same as above. |
“Disk boot failure” |
It is the DBR error message. Normally, The Hard drive should be accessible if you boot from the floppy. Though it is not bootable but that should not affect the access to the data of the drive. |
“non system disk or disk error” |
Same as above. |
“Bad or missing command interpreter” |
This message is displayed due to Bad or Missing Command Interpreter. For example if the operating do not find the command.com in current path or the command.com is corrupted. |
Seite Geändert am: 08/03/2022