Я сделал sudo dd if=/dev/zero of=/dev/sda где /dev/sda - мой флэш-диск. После этого /dev/sda был равен нулю. Затем я создал таблицу разделов с помощью GParted на флэш-диске. Я не сделал никаких других изменений. Теперь это вывод sudo dd if=/dev/sda bs=512 count=1|hexdump -C:

00000000  fa b8 00 10 8e d0 bc 00  b0 b8 00 00 8e d8 8e c0  |................|
00000010  fb be 00 7c bf 00 06 b9  00 02 f3 a4 ea 21 06 00  |...|.........!..|
00000020  00 be be 07 38 04 75 0b  83 c6 10 81 fe fe 07 75  |....8.u........u|
00000030  f3 eb 16 b4 02 b0 01 bb  00 7c b2 80 8a 74 01 8b  |.........|...t..|
00000040  4c 02 cd 13 ea 00 7c 00  00 eb fe 00 00 00 00 00  |L.....|.........|
00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001b0  00 00 00 00 00 00 00 00  fd 5c ba 4c 00 00 00 00  |.........\.L....|
000001c0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.00183447 s, 279 kB/s
00000200

Я попробовал это дважды. Мой вопрос: почему это произошло? Насколько я понимаю, таблица разделов начинается после 446-го байта, и нет никаких оснований для того, чтобы там была подпись 55 aa .

Что бы это могло быть, если бы не вредоносная программа?

1 ответ1

1

GParted всегда записывает подпись 55AA в MBR, даже если она не является строго необходимой. (Как вы уже упоминали, это требуется только для BOOTABLE MBR.)

Причина кроется в исторических причинах совместимости.
Некоторые системы с плохо реализованным кодом обработки MBR категорически считают MBR недействительным, если у него нет подписи.
Чтобы предотвратить эту проблему, GParted (и большинство других программ, которые могут создавать MBR) поместит в MBR фиктивный / безопасный код загрузчика и присвоит ему подпись "Загрузочный диск".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .