У меня есть sd-карта в формате MBR, и при подключении к машине с Linux (xubuntu 12.04) она может смонтировать раздел и проанализировать файловую систему (как может GParted). Тем не менее, когда я пытаюсь прочитать MBR с устройства, используя dd, это дает мне кучу ложных данных.
Может ли кто-нибудь пролить свет на то, как Linux / GParted может читать и понимать MBR, когда dd не может читать MBR. Используют ли они разные методы для получения данных? IE не открывается (), читать ()
Команда DD:
dd if=/dev/sdb of=mbr.bin bs=512 count=1
Выход DD:
1+0 records in
1+0 records out
512 bytes transferred in 0.000786 secs (651345 bytes/sec)
дамп mbr.bin с 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
дает?fdisk -lu /dev/sdb
,gdisk -l /dev/sdb
аgrep sdb /proc/partitions
?Ответы:
Карта не имеет основной загрузочной записи (MBR). Если бы он имел ваш hexdump, вы бы получили по крайней мере одну запись раздела со смещением
0x1C0
и55aa
в конце.Не все таблицы разделов выкладывают данные в первые 512 байт. Поддельные данные вы видите SID и CSD регистр (а / с) SD - карты. Но, судя по всему, это неверные данные для карты (если только это не старая модель 1 МБ 2001 года).
Первые 16 байтов:
Следующие 16 байт (хотя бы часть из них):
Кроме того, проверка CRC7 для регистра CSD является неправильной. Это могут быть старые данные, оставленные от времяпровождения.
Эти и другие регистры можно запрашивать непосредственно с карты различными командами. Это делают драйверы модулей, концентраторы карт и т. Д.
Было бы интересно посмотреть, что вы найдете по командам, данным Stephane Chazelas, slm и т. Д.
источник
Я бы попытался использовать
sfdisk
команду, а неdd
. Например:Теперь глядя на
mbr_using_sfdisk.bin
показывает, что вы ищете:Так почему я не вижу, как использовать таблицу разделов
dd
?Я не совсем уверен , почему , но я наткнулся на эту уловку , что показывает вам , как увидеть таблицы разделов в вашей
mbr.bin
помощиfile
команды.Например:
Ссылки
источник
hexdump
для вывода (в виде простого текста)sfdisk -d /dev/sda
?Эти данные не являются памятью вашей SD-карты, но отправляются вашим контроллером SD-карты (ASMI). Эта страница описывает проблему, как это случилось со мной:
http://www.idioten-notschlachten.de/blog/2011/11/13/kennen-sie-asmi/
источник