DetailPage-MSS-KB

Knowledge Base

Artikel-ID: 140418 - Geändert am: Freitag, 24. März 2006 - Version: 3.0

Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
140418  (http://support.microsoft.com/kb/140418/EN-US/ ) Detailed Explanation of FAT Boot Sector
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.

Auf dieser Seite

Zusammenfassung

Bei der Problembehandlung im Fall von Startfehlern oder beschädigten Datenträgern kann es hilfreich sein, mit Inhalt und Funktion eines Dateisystem-"Boot-Sektors" vertraut zu sein.

Ab und zu kann es vorkommen, dass ein Boot-Sektor beschädigt wird, in der Regel aufgrund eines Hardwarefehlers oder einer Virusinfektion. Wenn es sich bei der Partition um die aktive primäre Partition handelt oder um eine Partition, die Betriebssystemdateien enthält, kann das System eventuell nicht mehr gestartet werden. Ansonsten ist möglicherweise lediglich der Zugriff auf die Daten auf dem Laufwerk nicht mehr möglich.

Wenn Sie vermuten, dass ein Datenträger beschädigt ist, ist es normalerweise am besten, handelsübliche Antivirus-Software oder Software zur Datenträgerwiederherstellung zu verwenden. In manchen Fällen kann Detailwissen über den Bootsektor jedoch nützlich sein.

Dieser Artikel erläutert die verschiedenen Felder eines FAT-Bootsektors. Anhand der folgenden Informationen kann ein beschädigter FAT-Boot-Sektor möglicherweise manuell repariert werden. Um eine solche Reparatur anzugehen, benötigen Sie Tools zur Datenträgerbearbeitung, mit denen Sektoren auf Rohdatenträgern bearbeitet werden können. Dieser Artikel behandelt keine speziellen Tools, mit denen solche Reparaturen durchgeführt werden können.

Die Richtigkeit der folgenden Informationen wurde mit äußerster Sorgfalt geprüft. Es ist jedoch möglich, dass andere Betriebssysteme, z. B. zukünftige Versionen von Microsoft-Betriebssystemen, andere Datenstrukturen verwenden. Die Nutzung der folgenden Informationen geschieht also auf Ihre eigene Verantwortung.

Weitere Informationen

Hintergrund und Terminologie

In diesem Dokument ist ein "Dateisystem-Bootsektor" der erste physikalische Sektor auf einem logischen Datenträger. Ein logischer Datenträger kann eine primäre Partition oder ein logisches Laufwerk in einer erweiterten Partition sein oder sich aus zwei oder mehr Partitionen zusammensetzen, wie es bei Spiegeln, Stripe Sets und Datenträgersätzen der Fall ist.

Bei Disketten ist der Bootsektor der erste Sektor auf der Diskette. Bei Festplatten wird der erste Sektor als "Master-Boot-Datensatz" oder "MBR" (Master Boot Record) bezeichnet. Dieser MBR unterscheidet sich von einem Dateisystem-Bootsektor und enthält eine Partitionstabelle, die die Anordnung der logischen Partitionen auf der betreffenden Festplatte beschreibt. Der Dateisystem-Bootsektor wäre der erste Sektor in einer dieser Partitionen.

Der Startprozess

Der Startprozess bei 80x86-PCs (im Gegensatz zu RISC-Systemen) nutzt den Dateisystem-Bootsektor direkt zum Ausführen von Anweisungen. Der initiale Startprozess kann folgendermaßen zusammengefasst werden:

  1. Power On Self Test (oder POST), initiiert durch System-BIOS und CPU.
  2. BIOS ermittelt, welches Gerät als "Startgerät" zu verwenden ist.
  3. BIOS lädt den ersten physikalischen Sektor vom Startgerät in den Speicher und übergibt die CPU-Ausführung an den Anfang dieser Speicheradresse. Wenn das Startgerät eine Festplatte ist, ist der in Schritt 3 geladene Sektor der MBR, und der Startprozess wird folgendermaßen fortgesetzt:

  4. MBR-Code lädt den Bootsektor, auf den die Partitionstabelle für die "aktive primäre Partition" verweist, in den Speicher und übergibt die CPU-Ausführung an den Anfang dieser Speicheradresse.
Bis zu diesem Punkt ist der Startprozess völlig unabhängig davon, wie der Datenträger formatiert ist und welches Betriebssystem geladen wird. Ab diesem Punkt spielen sowohl das Betriebssystem als auch die verwendeten Dateisysteme eine Rolle.

Bei FAT-Datenträgern, auf denen Windows NT installiert ist, ist der FAT-Bootsektor dafür zuständig, den Speicherort der Datei NTLDR auf dem Datenträger zu ermitteln, sie in den Speicher zu laden und die Steuerung an sie zu übergeben.

Innerhalb des FAT-Bootsektors

Da der MBR die CPU-Ausführung an den Bootsektor übergibt, müssen die ersten paar Bytes des FAT-Bootsektors gültige ausführbare Anweisungen für eine 80x86-CPU sein. In der Praxis enthalten diese ersten Anweisungen einen Sprungbefehl und belegen die ersten drei Bytes des Bootsektors. Dieser Sprung dient dazu, die nächsten Bytes zu übergehen, die nicht "ausführbar" sind.

Auf den Sprungbefehl folgt eine aus 8 Bytes bestehende "OEM-ID". Üblicherweise ist dies eine Zeichenfolge, die das Betriebssystem identifiziert, das den Datenträger formatiert hat.

Auf die OEM-ID folgt eine Struktur, die als BIOS-Parameterblock oder "BPB" bezeichnet wird. Als Ganzes bietet der BPB genug Informationen für den ausführbaren Teil des Bootsektors zum Auffinden der Datei NTLDR. Da der BPB immer am selben Offset beginnt, befinden sich die Parameter immer an einem bekannten Ort. Da die erste Anweisung im Bootsektor ein Sprungbefehl ist, kann der BPB in der Folge erweitert werden, sofern neue Informationen am Ende angehängt werden. In einem solchen Fall wäre nur eine geringfügige Anpassung des Sprungbefehls erforderlich. Außerdem kann der tatsächliche ausführbare Code ziemlich allgemein sein. Die gesamte Variabilität, die mit der Verwendung von Datenträgern verschiedener Größen und Geometrien zusammenhängt, ist im BPB enthalten.

Der BPB ist in einem gepackten (d. h. nicht ausgerichteten) Format gespeichert. Die folgende Tabelle listet den Byte-Offset der einzelnen Felder im BPB auf. Im Anschluss an die Tabelle werden die einzelnen Felder beschrieben.
Feld                Offset     Länge
-----               ------     ------
Bytes pro Sektor      11         2
Sektoren pro Cluster  13         1
Reservierte Sektoren  14         2
FATs                  16         1
Stammeinträge         17         2
Kleine Sektoren       19         2
Datenträger-Beschr.   21         1
Sektoren pro FAT      22         2
Sektoren pro Spur     24         2
Köpfe                 26         2
Versteckte Sektoren   28         4
Große Sektoren        32         4
				
Bytes pro Sektor: Größe eines Hardwaresektors. Bei den meisten in den Vereinigten Staaten verwendeten Datenträgern ist der Wert dieses Feldes 512.

Sektoren pro Cluster: Da das FAT-Dateisystem hinsichtlich der Anzahl der Cluster (oder "Zuordnungseinheiten"), die es überwachen kann, eingeschränkt ist, werden große Datenträger durch Erhöhung der Anzahl der Sektoren pro Cluster unterstützt. Der Clusterfaktor für einen FAT-Datenträger hängt ganz von der Datenträgergröße ab. Gültige Werte für dieses Feld sind 1, 2, 4, 8, 16, 32, 64 und 128. Weitere Informationen zu diesem Thema erhalten Sie, indem Sie in der Microsoft Knowledge Base nach dem Begriff "Standard-Cluster-Größe" suchen.

Reservierte Sektoren: Anzahl der Sektoren vor dem Beginn der ersten FAT einschließlich des Bootsektors selbst. Der Wert dieses Parameters sollte immer mindestens 1 sein.

FATs: Anzahl der auf dem Datenträger gespeicherten Kopien der FAT-Tabelle. In der Regel ist der Wert dieses Feldes 2.

Stammeinträge: Gesamtanzahl der Dateinameneinträge, die im Stammverzeichnis des Datenträgers gespeichert werden können. Auf einem typischen Festplattenlaufwerk ist der Wert dieses Feldes 512. Beachten Sie jedoch, dass ein Eintrag immer als Datenträgerbezeichnung verwendet wird, und dass Dateien mit langen Dateinamen mehrere Einträge pro Datei benötigen. Das bedeutet, dass die maximale Anzahl von Dateien im Stammverzeichnis in der Regel 511 ist, dass Sie jedoch schon vorher keine Einträge mehr zur Verfügung haben, wenn lange Dateinamen verwendet werden.

Kleine Sektoren: Dieses Feld wird dazu verwendet, die Anzahl der Sektoren auf dem Datenträger zu speichern, wenn die Datenträgergröße klein genug ist. Bei größeren Datenträgern hat dieses Feld den Wert 0, und wir verweisen hier auf den im Folgenden beschriebenen Wert "Große Sektoren".

Datenträger-Beschreibung: Dieses Byte liefert Informationen zum verwendeten Datenträger. Die folgende Tabelle listet einige mögliche Werte für Datenträger-Beschreibungen und die zugehörigen Medien auf. Beachten Sie, dass das Byte für die Datenträger-Beschreibung eine größere Kapazität haben kann, als auf einem Datenträger Platz findet.
Byte   Kapazität  Mediengröße und -typ
F0     2,88 MB    3,5 Zoll, 2-seitig, 36 Sektoren
F0     1,44 MB    3,5 Zoll, 2-seitig, 18 Sektoren
F9     720 MB     3,5 Zoll, 2-seitig, 9 Sektoren
F9     1,2 MB     5,25 Zoll, 2-seitig, 15 Sektoren
FD     360 KB     5,25 Zoll, 2-seitig, 9 Sektoren
FF     320 KB     5,25 Zoll, 2-seitig, 8 Sektoren
FC     180 KB     5,25 Zoll, 1-seitig, 9 Sektoren
FE     160 KB     5,25 Zoll, 1-seitig, 8 Sektoren
F8     -----      Festplatte
				
Sektoren pro FAT: Anzahl der Sektoren, die von den einzelnen FATs auf dem Datenträger belegt werden. Mit diesen Informationen in Verbindung mit den oben aufgeführten Angaben zur Anzahl der FATs und reservierten Sektoren lässt sich berechnen, wo das Stammverzeichnis beginnt. Anhand der Anzahl der Einträge im Stammverzeichnis lässt sich darüber hinaus berechnen, wo der Benutzerdatenbereich des Datenträgers beginnt.

Sektoren pro Spur und Köpfe: Diese Werte sind Teil der sichtbaren Datenträgergeometrie, die bei Formatierung des Datenträgers verwendet wurde.

Versteckte Sektoren: Anzahl der Sektoren auf dem physischen Datenträger vor dem Beginn des Volumes (d. h. vor dem Beginn des Bootsektors selbst). Der Wert wird während der Startsequenz dazu verwendet, den absoluten Offset zum Stammverzeichnis und zu den Datenbereichen zu berechnen.

Große Sektoren: Wenn das Feld "Kleine Sektoren" Null ist, enthält dieses Feld die Gesamtanzahl der Sektoren, die vom FAT-Datenträger belegt werden.

Auf den Standard-BIOS-Parameterblock folgen einige zusätzliche Felder, die einen "erweiterten BIOS-Parameterblock" darstellen. Die nächsten Felder sind:
Feld                   Offset   Länge
-----                  ------   ------
Nr. des phys.Laufwerks   36        1
Aktueller Kopf           37        1
Signatur                 38        1
ID                       39        4
Datenträgerbezeichnung   43       11
System-ID                54        8
				
Nr. des physischen Laufwerks: Dieser Wert bezieht sich auf die physische Laufwerksnummer des BIOS. Disketten werden beginnend mit 0x00 für das Laufwerk A: nummeriert, physische Festplatten beginnend mit 0x80. In der Regel würde man diesen Wert vor dem Ausführen eines INT13-BIOS-Aufruf festlegen, um das Gerät anzugeben, auf das zugegriffen werden soll. Der in diesem Feld gespeicherte Wert auf der Festplatte ist normalerweise 0x00 für Disketten und 0x80 für Festplatten, unabhängig davon, wie viele physische Laufwerke vorhanden sind, da der Wert nur dann relevant ist, wenn es sich bei dem Gerät um ein Startgerät handelt.

Aktueller Kopf: Dies ist ein weiteres Feld, das in der Regel bei der Ausführung von INT13-BIOS-Aufrufen verwendet wird. Der Wert wäre ursprünglich dazu verwendet worden, die Spur zu speichern, auf der sich der Boot-Datensatz befand, aber der auf der Festplatte gespeicherte Wert wird derzeit nicht so verwendet. Deshalb verwendet Windows NT dieses Feld dazu, zwei Flags zu speichern:

  • Das untere Bit ist ein "Dirty Flag", das anzeigt, dass Autochk zur Startzeit den Befehl "chkdsk" für den Datenträger ausführen soll.
  • Das zweitniedrigste Bit ist ein Flag, das anzeigt, dass auch ein Oberflächenscan ausgeführt werden soll.
Signatur: Die erweiterte Boot-Datensatz-Signatur muss entweder 0x28 oder 0x29 sein, um von Windows NT erkannt werden zu können.

ID: Die ID ist eine zufällige, zur Formatierungszeit vergebene Nummer, die zur Unterscheidung zwischen den Datenträgern dient.

Datenträgerbezeichnung: Dieses Feld wurde zum Speichern der Datenträgerbezeichnung verwendet, die Datenträgerbezeichnung wird jedoch jetzt als spezielle Datei im Stammverzeichnis gespeichert.

System-ID: Dieses Feld enthält entweder "FAT12" oder "FAT16", abhängig vom Format des Datenträgers.

Auf einem startfähigen Datenträger enthält der Bereich, der auf den erweiterten BIOS-Parameterblock folgt, in der Regel ausführbaren Startcode. Dieser Code ist dafür zuständig, alle Aktionen durchzuführen, die für die Fortsetzung des Bootstrap-Prozesses erforderlich sind. Auf Windows NT-Systemen identifiziert dieser Startcode den Speicherort der Datei NTLDR, lädt sie in den Speicher und übergibt die Ausführung an diese Datei. Selbst auf einer nicht startfähigen Diskette enthält dieser Bereich ausführbaren Code. Der Code, der zum Drucken der vertrauten Meldung "Kein Systemdatenträger oder Datenträgerfehler" benötigt wird, ist auf den meisten mit MS-DOS formatierten Standarddisketten zu finden, die nicht mit der Option "System" formatiert wurden.

Die letzten zwei Bytes in einem Bootsektor haben immer die Hexadezimalwerte 0x55 0xAA.

Problembehandlung

Wenn Sie vermuten, dass ein FAT-Bootsektor beschädigt ist, können Sie mehrere der obigen Felder darauf überprüfen, ob ihre Werte sinnvoll sind. "Bytes pro Sektor" hat z. B. in den meisten Fällen den Wert 512. Es wäre außerdem zu erwarten, dass im ausführbaren Codeabschnitt des Bootsektors Textzeichenfolgen erscheinen, die dem Betriebssystem entsprechen, das den Datenträger formatiert hat.

Typische Textzeichenfolgen auf FAT-Datenträgern, die mit MS-DOS formatiert wurden: "Ungültiges System"; "Datenträger-E/A-Fehler"; "Datenträger wechseln und Taste drücken"; "Kein Systemdatenträger oder Datenträgerfehler"; "Ersetzen und weiter mit beliebiger Taste" und "Disk Boot failure" (Boot-Fehler). Textzeichenfolgen auf FAT-Datenträgern, die mit Windows NT formatiert wurden: "BOOT: NTLDR nicht gefunden"; "E/A-Fehler beim Lesen des Datenträgers" und "Legen Sie eine neue Diskette ein". Diese Liste ist nicht vollständig. Wenn Sie andere Meldungen im Bootsektor finden, bedeutet das nicht notwendigerweise, dass es ein Problem mit dem Bootsektor gibt. Verschiedene Versionen von MS-DOS und Windows NT haben manchmal unterschiedliche Meldungen in ihren Bootsektoren. Wenn Sie andererseits überhaupt keinen Text finden oder der Text eindeutig nichts mit MS-DOS oder Windows NT zu tun hat, sollten Sie die Möglichkeit in Erwägung ziehen, dass Ihr Bootsektor eventuell durch einen Virus infiziert wurde oder auf andere Weise beschädigt wurde.

Einen Bootsektor, der durch einen Virus infiziert wurde, stellen Sie am besten mit einem handelsüblichen Antivirus-Programm wieder her. Viele Viren tun noch weitaus mehr als nur Daten in den Bootsektor schreiben. Deshalb ist eine manuelle Reparatur des Bootsektors nicht zu empfehlen, da der Virus eventuell nicht vollständig entfernt wird, und eine solche Reparatur in manchen Fällen vielleicht mehr Schaden anrichtet als nützt.

Wenn Sie vermuten, dass der Bootsektor auf andere Weise beschädigt wurde, verwenden Sie am besten handelsübliche Tools zur Datenträgerwiederherstellung. Zwar ist es eventuell möglich, einen beschädigten Bootsektor durch manuelles Ändern der oben beschriebenen Felder zu reparieren, ohne das Laufwerk neu formatieren zu müssen. Jedoch sollte die manuelle Bearbeitung der Bootsektoren der letzte Ausweg sein, und es gibt keine Gewähr, dass dies funktioniert, wenn eventuell auch andere Datenträgerstrukturen beschädigt wurden.

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows NT Workstation 3.1
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
Keywords: 
KB140418
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Freigeben
Weitere Supportoptionen
Microsoft Community-Supportforen
Kontaktieren Sie uns direkt
Zertifizierten Partner finden
Microsoft Store
Folgen Sie uns: