Home · Kontakt · Impressum
contents index previous up next
Next: 10.3 Mounten Up: 10.2 Master Boot Record Previous: 10.2.1 Aufbau des MBR

10.2.2 MBR anschauen

An einem Beispiel wird es deutlicher. Schauen wir uns doch mal den Master Boot Record einer Festplatte genauer an. Dazu müssen wir Ihn von der Platte auslesen. Das direkte Auslesen und Schreiben von Datenträger erlaubt der Befehl dd (4.5.4). Die Sektor- und damit die physikalische Blockgröße auf einer Diskette und einer Festplatte ist 512 Bytes. Der MBR umfaßt nur einen Sektor und zwar den ersten auf Platte.

Wir lesen also von der ersten IDE-Platte (if=/dev/hda) und schreiben die gelesenen Daten in die Datei mbr.dmp (of=mbr.dmp). Die Blockgröße beträgt 512 Bytes (bs=512) und es wird genau ein Block (count=1) gelesen.

defiant:~ # dd if=/dev/hda of=mbr.dmp bs=512 count=1
1+0 Records ein
1+0 Records aus

In der Datei mbr.dmp befindet sich nun eine direkte Kopie des MBR. Diese Datei ist eine Binärdatei. Im Gegensatz zu einer Textdatei, die hauptsächlich nur lesbare Zeichen enthält, können alle Werte eines Byte - zwischen 0 und 255 - als Zeichen vorkommen. Da dadurch auch viele Steuerzeichen vorkommen, sollten Sie solche Dateien niemals mit cat oder einem anderen Textbetrachter anzeigen lassen.

Speziell zur Betrachtung solcher Binärdateien wurde der Befehl od(7.1.3) entwickelt. Dieser stellt die Bytes der Datei in verschiedenen Formen (dezimal, octal, hexadezimal oder auch als Zeichen und Escape-Sequenzen) dar.

Für diesen Fall lassen wir uns den Dateiinhalt in hexadezimaler Notation anzeigen und zwar Byte für Byte (-t x1). Da pro Zeile 16 Byte ausgegeben werden, sollten Sie die Ausgabe an den Pager less weiterleiten um sich die Ausgabe genau anschauen zu können.

defiant:~ # od -t x1 mbr.dmp | less

Eigentlich interessieren uns erst die Bytes ab Nummer 446 (Erstes Byte ist die Nummer 0). Die Nummerierung vor jeder Zeile ist in oktaler Schreibweise verfaßt. Das gesuchte Byte hat also in oktaler Schreibweise die Nummer o676. Wir können uns daher bei der Anzeige der Partitionierungsdaten auf die letzten 6 Zeilen beschränken. Hier hilft uns der Befehl tail weiter. Dieser zeigt die letzten Zeilen (normalerweise 10) einer Datei oder eines Datenstroms an.

defiant:~ # od -t x1 mbr.dmp | tail -6
0000660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 01
0000700 01 00 0b ef 7f b7 3f 00 00 00 41 83 65 00 00 00
0000720 41 b9 83 ef ff 59 90 be 65 00 10 35 60 00 00 00
0000740 c1 5a 0f ef ff ff a0 f3 c5 00 90 be 65 00 00 00
0000760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
0001000

Partition BF AK AS AC PT EK ES EC Start-Sektor Anzahl Sektoren
1 80 01 01 00 0b ef 7f b7 3f 00 00 00 41 83 65 00
2 00 00 41 b9 83 ef ff 59 90 be 65 00 10 35 60 00
3 00 00 c1 5a 0f ef ff ff a0 f3 c5 00 90 be 65 00
4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Auf der Festplatte sind drei Partitionen eingetragen. Die erste Partition ist aktiv, da der Wert 0x80 im ersten Byte steht. Im Byte für den Partitionstyp steht der Wert 0x0b. Es handelt sich daher um eine ``Win95 FAT32''-Partition.

Die Angaben für Start-Sektor und die Anzahl der Sektoren sind als 4-Byte-Wert angegeben. Dabei steht das niedrigwertigste Byte links. Also steht hinter der Bytefolge 3f 00 00 00 die hexadezimale Zahl 0x3f (dezimal 63) und hinter der Bytefolge 41 83 65 00 die Zahl 0x658341 (dezimal 6.652.737). Da jeder Sektor 512 Bytes groß ist hat die Partition eine Größe von ca. 3,2 GB.

Die zweite Partition ist nicht aktiv. Sie ist vom Typ Linux (0x83), beginnt bei Sektor 6.667.920 (0x65be90) und ist ca. 3 GB (0x603510 Sektoren) groß.

Bei der dritten Partition handelt es sich um eine erweiterte Partition (0x0f = ``Win95 Erweitert (LBA)''). Sie beginnt bei Sektor 12.972.960 (0xc5f3a0) und ist ca. 3,2 GB (0x65be90 Sektoren) groß.


contents index previous up next
Next: 10.3 Mounten Up: 10.2 Master Boot Record Previous: 10.2.1 Aufbau des MBR
  © 2004 by IT-Dozent Ole Vanhoefer · Zum Seitenanfang