Como fazer um hexdump da primeira faixa do disco rígido?

12

Como eu faria um hexdump no Ubuntu para a primeira faixa de um disco rígido?

Eu estou procurando uma saída winhex-esque, se isso faz sentido. A primeira faixa possui 63 setores, cada um com 512 bytes. eu tentei

dd if=/dev/sda bs=1 count=512 | hexdump -C

mas isso só me deu o que parece ser o MBR, ou primeiro setor do disco rígido. Acho que estou confuso sobre o que bs e count devem ser. Bs significa quantos bytes para exibir e contar é quantos múltiplos de bs? Obrigado!

Daniel Gratz
fonte
Se eu tentar bs-1 count = 32256, ele parece truncar a saída para apenas cerca de duas páginas de rolagem no terminal ... não sei por que.
Daniel Gratz

Respostas:

11

bsé o tamanho do bloco, em bytes, e counté o número desses blocos a serem capturados. Portanto, o comando que você deseja despejar na primeira faixa é:

dd if=/dev/sda bs=512 count=63 | hexdump -C

A página de manual do dd pode ser útil.

Mokubai
fonte
Obrigado. Alguma idéia de por que não estou vendo a saída completa? Eu nem vejo o 1º bloco (MBR) quando digito o comando acima. Ele mostra a saída apenas entre 000050d0 e 00007e00.
Daniel Gratz
1
Será que hexdump -C -n 32256 /dev/sdanão funciona?
RedGrittyBrick
2
Sim, você acha que está usando um programa de hexeditação interativo, como no Windows. Você está usando um programa não interativo que apenas despeja tudo em um longo fluxo de saída, apenas as últimas N linhas restantes no seu terminal no final. O próximo bloco de construção do Unix para você aprender é o comando more(ou less). (-:
JdeBP
Quando termino de sobrescrever meu pendrive, posso testar isso, mas não foi possível tentar despejá-lo em um arquivo para navegar. Não o dd if=/dev/sda bs=512 count=63 | hexdump -C > firsttrack.txtproduziria em um arquivo?
Rob