Ich habe eine MBR-formatierte SD-Karte und wenn ich eine Verbindung zu einem Linux-Computer (xubuntu 12.04) herstelle, kann diese eine Partition bereitstellen und das Dateisystem analysieren (wie auch GParted). Wenn ich jedoch versuche, den MBR mit dd vom Gerät zu lesen, erhalte ich eine Reihe von falschen Daten.
Könnte jemand etwas Licht ins Dunkel bringen, wie Linux / GParted den MBR lesen und verstehen kann, wenn dd den MBR nicht lesen kann? Verwenden sie unterschiedliche Methoden, um an die Daten zu gelangen? IE nicht öffnen (), lesen ()
Der DD-Befehl lautet:
dd if=/dev/sdb of=mbr.bin bs=512 count=1
DD-Ausgabe ist:
1+0 records in
1+0 records out
512 bytes transferred in 0.000786 secs (651345 bytes/sec)
mbr.bin dump mit hexdump -C mbr.bin
ist:
00000000 04 16 41 53 4d 49 2d 53 44 03 00 00 00 00 16 f1 |..ASMI-SD.......|
00000010 00 7f 00 32 1f 5b 80 00 36 db bf bf 96 c0 00 01 |...2.[..6.......|
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000030 6f 00 00 10 00 00 02 2e 00 00 00 00 00 00 00 00 |o...............|
00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000200
dd
es?fdisk -lu /dev/sdb
,gdisk -l /dev/sdb
undgrep sdb /proc/partitions
?Antworten:
Die Karte verfügt nicht über einen Master Boot Record (MBR). Wenn es Ihren Hexdump gegeben hätte, hätten Sie mindestens einen Partitionseintrag am Offset
0x1C0
und55aa
am Ende erhalten.Nicht alle Partitionstabellen legen Daten in den ersten 512 Bytes an. Die falschen Daten, die Sie sehen, sind das SID- und CSD-Register der SD-Karte. Aber wie es aussieht, sind es nicht die richtigen Daten für die Karte (es sei denn, es ist ein altes 1 MiB 2001-Modell.)
Die ersten 16 Bytes sind:
Nächste 16 Bytes (zumindest ein Teil davon):
Außerdem ist die CRC7-Prüfung auf CSD-Register falsch. Es könnten alte Daten sein, die aus einem Zeitvertreib stammen.
Diese Register und mehr können durch verschiedene Befehle direkt von der Karte abgefragt werden. Dies erfolgt durch Modultreiber, Karten-Hubs usw.
Es wäre interessant zu sehen, was Sie durch die Befehle von Stephane Chazelas, slm usw. finden.
quelle
Ich würde versuchen, den
sfdisk
Befehl im Gegensatz zu zu verwendendd
. Zum Beispiel:Wenn
mbr_using_sfdisk.bin
Sie sich jetzt ansehen , sehen Sie, wonach Sie suchen:Warum kann ich die Partitionstabelle nicht mit sehen
dd
?Ich bin nicht ganz sicher , warum , aber ich habe über diesen Trick gekommen , dass zeigt, wie die Partitionstabellen in Ihrem sehen ,
mbr.bin
mit demfile
Befehl.Zum Beispiel:
Verweise
quelle
hexdump
für die (Klartext-) Ausgabe von verwendensfdisk -d /dev/sda
?Diese Daten sind nicht Ihr SD-Kartenspeicher, sondern werden von Ihrem SD-Karten-Controller (ASMI) gesendet. Diese Seite beschreibt das Problem, wie es mir passiert ist:
http://www.idioten-notschlachten.de/blog/2011/11/13/kennen-sie-asmi/
quelle