Eu fiz sudo dd if=/dev/zero of=/dev/sda
onde /dev/sda
está meu disco flash. /dev/sda
foram todos zeros depois disso. Então criei uma tabela de partições com GParted no disco flash. Não fiz outras alterações. Agora esta é a saída de 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 ser 00 7c bf 00 06 b9 00 02 f3 a4 ea 21 06 00 |...|.........!..| 00000020 00 ser ser 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 registros em 1+0 registros lançados 512 bytes (512 B) copiados, 0,00183447 s, 279 kB/s 00000200
Eu tentei duas vezes. Minha pergunta é por que isso aconteceu. Pelo que entendi, a tabela de partição começa após o 446º byte e não há razão para a 55 aa
assinatura estar lá.
O que poderia ser senão malware?
Responder1
O GParted sempre grava a assinatura 55AA no MBR, mesmo que não seja estritamente necessário. (Como você já mencionou, é necessário apenas para um MBR INICIALIZÁVEL.)
A razão está em razões históricas de compatibilidade.
Alguns sistemas com código de processamento MBR mal implementado consideram categoricamente um MBR inválido se não tiver a assinatura.
Para evitar esse problema, o GParted (e a maioria dos outros softwares que podem criar um MBR) colocará um código de bootloader fictício/seguro no MBR e fornecerá a ele a assinatura "Disco inicializável".