WikiDer > Meisterboot-Rekord
In der Architektur des IBM-PC ist der Master-Boot-Record (MBR) das Bootsektor, das ist das allererste Sektor von a Festplatte oder ein anderes digitales Speichermedium die einen PC booten können, wie z Live-USB. Es enthält eine Reihe von Befehlen, die benötigt werden, um Betriebssystem Laden (booten).
Das BootstrappingFirmware in dem RomBIOS lädt den Master Boot Record und führt ihn aus. Der MBR einer Festplatte enthält normalerweise die Partitionstabelle, die der PC dann verwendet, um den Boot-Record auf der mit dem gekennzeichneten Partition zu speichern aktive Flagge zu laden und zu laufen. Dieses Design ermöglicht es dem BIOS, jedes Betriebssystem zu laden, ohne genau wissen zu müssen, wo auf einer Partition gesucht werden soll.
Da der MBR fast unmittelbar nach dem Start ausgelesen wird, sind viele Computer Virus spielt in der Ära vor dem Virenscanner leicht verteilt, indem Sie den MBR-Code ändern.
Inbetriebnahmeverfahren
Während des Bootvorgangs macht es für das BIOS keinen Unterschied, ob es von Diskette oder Festplatte bootet.
Von Diskette
Die ältesten PCs haben keine Festplatte, sondern nur Disketten. Der Boot-Vorgang ist einfach: Das BIOS liest den ersten Sektor einer Diskette (den Boot-Sektor) zum Speicherort 0000:7C00 und führt seine Anweisungen aus. Diese Anweisungen stellen dann die weitere Inbetriebnahme sicher.
Um sicherzustellen, dass sich im ersten Sektor ein ausführbares Programm befindet, wird der magische Wert 55 AA am Ende des Sektors platziert. Wenn eine Diskette mit zufälligen Daten gefüllt ist, wäre es sehr zufällig, wenn sie am Ende des ersten Sektors 55 AA hätte. Wenn ein anderer Wert vorhanden ist, erkennt das BIOS, dass es sich nicht um ein ausführbares Programm handelt.
Von der Festplatte
Das Booten von einer Festplatte ist das gleiche, zumindest was das BIOS betrifft. Das BIOS liest den ersten Sektor der Platte, den MBR, zum Speicherort 0000:7C00 und führt seine Anweisungen aus. Auch hier befinden sich 55 AA in den letzten beiden Bytes des Sektors. Damit ist die Aufgabe des BIOS abgeschlossen.
Aber eine Festplatte kann partitioniert werden und besteht dann aus einer Reihe von Partitionen, die jeweils als Diskette formatiert sind, einschließlich des Bootsektors. Der MBR enthält jetzt keine Boot-Anweisungen, sondern einen Verweis auf eine Partition. Die Anweisungen im MBR laden den Bootsektor einer der Partitionen an die Stelle 0000:7C00 (wodurch der zuvor geladene MBR überschrieben wird) und führen die darin enthaltenen Anweisungen aus. Somit fungiert der MBR als transparente Verteilungsstation, um eine der Partitionen auszuwählen.
Lesen von einer Disc
Aus den obigen Ausführungen könnte man schließen, dass es möglich ist, eine Diskette zu partitionieren, und dass eine Partitionierung einer Festplatte nicht zwingend erforderlich ist. Dies gilt jedoch nur für die Bootreihenfolge. Nach dem Booten können die Daten auf den Laufwerken gelesen werden, und jetzt unterscheidet das BIOS zwischen einer Festplatte und einer Diskette. Beim Auslesen einer Festplatte berücksichtigt das BIOS die Partitionierung.
Format des Master Boot Records
| 446 Byte | Codebereich |
| 64 Byte | Partitionstabelle |
| 2 Byte | Bootssignatur (0xAA55) |
| insgesamt 512 Byte | |
Beispiel für einen Master Boot Record
Code-Bereich. Hier sind das Startprogramm und (leicht zu lesen) einige Fehlermeldungen:
000 33 C0 8E D0 BC 00 7C 8E C0 8E D8 BE 00 7C BF 00010 06 B9 00 02 FC F3 A4 50 68 1C 06 CB FB B9 04 00020 BD BE 07 80 7E 00 00 7C 0B 0F 85 10 01 83 C5 10030 E2 F1 CD 18 88 56 00 55 C6 46 11 05 C6 46 10 00040 B4 41 BB AA 55 CD 13 5D 72 0F 81 FB 55 AA 75 09050 F7 C1 01 00 74 03 FE 46 10 66 60 80 7E 10 00 74060 26 66 68 00 00 00 00 66 FF 76 08 68 00 00 68 00070 7C 68 01 00 68 10 00 B4 42 8A 56 00 8B F4 CD 13080 9F 83 C4 10 9E EB 14 B8 01 02 BB 00 7C 8A 56 00090 8A 76 01 8A 4E 02 8A 6E 03 CD 13 66 61 73 1E FE0A0 4E 11 0F 85 0C 00 80 7E 00 80 0F 84 8A 00 B2 800B0 EB 82 55 32 E4 8A 56 00 CD 13 5D EB 9C 81 3E FE0C0 7D 55 AA 75 6E FF 76 00 E8 8A 00 0F 85 15 00 B00D0 D1 E6 64 E8 7F 00 B0 DF E6 60 E8 78 00 B0 FF E60E0 64 E8 71 00 B8 00 BB CD 1A 66 23 C0 75 3B 66 810F0 FB 54 43 50 41 75 32 81 F9 02 01 72 2C 66 68 07100 BB 00 00 66 68 00 02 00 00 66 68 08 00 00 00 66110 53 66 53 66 55 66 68 00 00 00 66 68 00 7C 00120 00 66 61 68 00 00 07 CD 1A 5A 32 F6 EA 00 7C 00130 00 CD 18 A0 B7 07 EB 08 A0 B6 07 EB 03 A0 B5 07140 32 E4 05 00 07 8B F0 AC 3C 00 74 FC BB 07 00 B4150 0E CD 10 EB F2 2B C9 E4 64 EB 00 24 02 E0 F8 24160 02 C3 49 6E 76 61 6C 69 64 20 70 61 72 74 69 74 ..Ungültiger Teil170 69 6F 6E 20 74 61 62 6C 65 00 45 72 72 6F 72 20 Ionentabelle.Error180 6C 6F 61 64 69 6E 67 20 6F 70 65 72 61 74 69 6E loading operation190 67 20 73 79 73 74 65 6D 00 4D 69 73 73 69 6E 67 g System.Fehlend1A0 20 6F 70 65 72 61 74 69 6E 67 20 73 79 73 74 65 Betriebssystem1B0 6D 00 00 00 00 62 7A 99 08 AC 08 AC 00 00 m .............
Partitionstabelle, siehe dort für mehr Erklärung:
1BE 80 01 01 00 07 FE FF FF 3F 00 00 00 37 16 71 021CE 00 00 C1 FF 0F FE FF FF 76 16 71 02 6C A9 DE 0B1DE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 001EE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Bootssignatur, es steht immer 55AA. Wenn nicht, ist die Partitionstabelle ungültig:
1FE 55 AA