MBR auf Wechseldatenträgern

02/02/2010 - 11:09 von Wolfgang Mahringer | Report spam
Hallo Leute,

Ich bin nicht ganz sicher ob ich mit meinem Anliegen hier
richtig bin...Tipps, wo das Thema besser aufgehoben wàre nehme ich
dankbar an :-)

Ich befasse mich gerade mit SD- bzw. MMC-Cards mit FAT-16 Datei-
systemen. FAT-16 kommt zum Einsatz, weil es auf kleinen Controllern
(also nicht auf PCs) recht einfach zu implementieren ist, und man
trotzdem die Möglichkeit hat, die Daten auf einen Windows- oder
Linux-PC zu lesen.

Beim Studium des allerersten Sektors von Datentràgern gibts es
unterschiedliche Vorgesensweisen, die für mich nicht klar
unterscheidbar sind.

Hier:
http://de.wikipedia.org/wiki/Master_Boot_Record
steht, dass im MBR (also Sektor 0) ab Offset 0x1BE 4 Eintràge
zur Partitionierung zu finden sind. So findet man das auch in
einigen Büchern erlàutert.

Sieht man sich aber einen realen Datentràger an (mit Windows XPs
Datentràgerverwaltung formatiert), dann stellt man fest dass der
Bootcode lànger ist und diese 4 Paritions-Eintràge nicht existieren
(statt dessen gehört der Teil noch zum Bootloader).

Liest man auf dem Fremdsystem nun den Sektor 0 ein, kann man nicht
mehr unterscheiden, ob ab 0x1BE nun Partitions-Eintràge sind oder
ob das noch zum Bootloader gehört.
Im Fall XP muss man sich auf den BPB verlassen, der hier die
korrekten Angaben liefert:
http://de.wikipedia.org/wiki/BIOS_Parameter_Block

Jetzt die Frage:
Woran kann man erkennen, ob die Partitionseintàge gültig sind
oder nicht?

vg & Danke für jede Idee dazu,
Wolfgang


From-address is Spam trap
Use: wolfgang (dot) mahringer (at) sbg (dot) at
 

Lesen sie die antworten

#1 Stefan Kanthak
02/02/2010 - 14:12 | Warnen spam
"Wolfgang Mahringer" schrieb:

[...]

Hier:
http://de.wikipedia.org/wiki/Master_Boot_Record
steht, dass im MBR (also Sektor 0) ab Offset 0x1BE 4 Eintràge
zur Partitionierung zu finden sind. So findet man das auch in
einigen Büchern erlàutert.



Steht dort auch, dass der MBR optional ist?
Wechseldatentraeger kannst Du auch als partitionslose "Superfloppy"
einrichten, dann haben sie keinen MBR, nur einen Bootsektor mit BPB.

Sieht man sich aber einen realen Datentràger an (mit Windows XPs
Datentràgerverwaltung formatiert), dann stellt man fest dass der
Bootcode lànger ist und diese 4 Paritions-Eintràge nicht existieren
(statt dessen gehört der Teil noch zum Bootloader).



Dann war das wohl eine Superfloppy.

Liest man auf dem Fremdsystem nun den Sektor 0 ein, kann man nicht
mehr unterscheiden, ob ab 0x1BE nun Partitions-Eintràge sind oder
ob das noch zum Bootloader gehört.
Im Fall XP muss man sich auf den BPB verlassen, der hier die
korrekten Angaben liefert:
http://de.wikipedia.org/wiki/BIOS_Parameter_Block



Autsch! Dort steht ziemlicher Schwachsinn: ein MBR enthaelt keinen
BPB. Und spaetestens seit Platten groesser 0.5GiB wurden und LBA
eingefuehrt wurde oder Zonen verschiedener Datendichten KANN der
BPB den physikalische Aufbau einer "Festplatte" gar nicht mehr
beschreiben.

Kurz: der BPB beschreibt die logische Struktur eines Dateisystems.

Jetzt die Frage:
Woran kann man erkennen, ob die Partitionseintàge gültig sind
oder nicht?



Durch raten! Du kannst nur pruefen, ob die Daten der Partitionstabelle
in sich konsistent sind und den ueblichen Regeln gehorchen:
- alle Partitionen enden auf Zylindergrenze;
- nur die erste primaere Partition ohne erweiterte Laufwerke beginnt
auf Spurgrenze;
- alle anderen Partitionen beginnen auf Zylindergrenze;
- maximal eine Partition ist aktiv;
- der FS-Indikator zeigt ein bekanntes Dateisystem an;
- ...

Du musst a priori wissen, ob der jeweilige Datentraeger partitioniert
ist oder nicht.

Stefan
[
Die unaufgeforderte Zusendung werbender E-Mails verstoesst gegen §823
Abs. 1 sowie §1004 Abs. 1 BGB und begruendet Anspruch auf Unterlassung.
Beschluss des OLG Bamberg vom 12.05.2005 (AZ: 1 U 143/04)

Ähnliche fragen