J'ai une carte SD formatée MBR et lorsque je me connecte à une machine Linux (xubuntu 12.04), elle peut monter une partition et analyser le système de fichiers (comme GParted). Cependant, lorsque j'essaie de lire le MBR de l'appareil à l'aide de dd, cela me donne un tas de données parasites.
Quelqu'un pourrait-il nous éclairer sur la façon dont Linux / GParted est capable de lire et de comprendre le MBR lorsque dd n'est pas capable de lire le MBR. Utilisent-ils différentes méthodes pour obtenir les données? IE pas ouvert (), lu ()
La commande DD est:
dd if=/dev/sdb of=mbr.bin bs=512 count=1
La sortie DD est:
1+0 records in
1+0 records out
512 bytes transferred in 0.000786 secs (651345 bytes/sec)
vidage mbr.bin avec hexdump -C mbr.bin
:
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
donne?fdisk -lu /dev/sdb
,gdisk -l /dev/sdb
etgrep sdb /proc/partitions
?Réponses:
La carte n'a pas de Master Boot Record (MBR). S'il l'avait eu, votre hexdump vous aurait donné au moins une entrée de partition à l'offset
0x1C0
et55aa
à la fin.Toutes les tables de partition ne présentent pas les données dans les 512 premiers octets. Les données parasites que vous voyez sont le registre SID et CSD de (a / la) carte SD. Mais à première vue, ce ne sont pas les données correctes pour la carte (sauf s'il s'agit d'un ancien modèle de 1 MiB 2001).
Les 16 premiers octets sont:
16 octets suivants (au moins une partie):
De plus, la vérification CRC7 du registre CSD est erronée. Il peut s'agir d'anciennes données d'un passe-temps.
Ces registres et plus peuvent être interrogés directement depuis la carte par diverses commandes. Cela se fait par les pilotes de modules, les concentrateurs de cartes, etc.
Serait intéressant de voir ce que vous trouvez par les commandes données par Stéphane Chazelas, slm etc.
la source
J'essaierais d'utiliser la
sfdisk
commande par opposition àdd
. Par exemple:Maintenant, regarder
mbr_using_sfdisk.bin
révèle ce que vous recherchez:Alors, pourquoi ne puis-je pas voir la table de partition utiliser
dd
?Je ne sais pas exactement pourquoi, mais je suis tombé sur cette astuce qui vous montre comment voir les tables de partition dans votre
mbr.bin
utilisation de lafile
commande.Par exemple:
Références
la source
hexdump
pour la sortie (texte brut) desfdisk -d /dev/sda
?Ces données ne sont pas la mémoire de votre carte SD, mais sont envoyées par votre contrôleur de carte SD (ASMI). Cette page décrit le problème tel qu'il m'est arrivé:
http://www.idioten-notschlachten.de/blog/2011/11/13/kennen-sie-asmi/
la source