Comment faire un vidage hexadécimal de la première piste du disque dur?

12

Comment puis-je faire un vidage hexadécimal dans Ubuntu pour la première piste d'un disque dur?

Je recherche une sortie Winhex-esque si cela a du sens. La première piste comprend 63 secteurs de 512 octets chacun. j'ai essayé

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

mais cela ne m'a donné que ce qui semble être le MBR, ou premier secteur du disque dur. Je suppose que je suis confus quant à ce que devraient être bs et count. Bs signifie combien d'octets afficher et compter est combien de multiples de bs? Merci!

Daniel Gratz
la source
Si j'essaie bs-1 count = 32256, il semble tronquer la sortie à seulement environ deux pages de défilement dans le terminal ... je ne sais pas pourquoi.
Daniel Gratz

Réponses:

11

bsest la taille du bloc, en octets, et countest le nombre de ces blocs à récupérer. Donc, la commande que vous voulez réellement vider la première piste est:

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

La page de manuel dd peut être utile.

Mokubai
la source
Merci. Une idée pourquoi je ne vois pas la sortie complète? Je ne vois même pas le 1er bloc (MBR) lorsque je tape la commande ci-dessus. Il ne me montre la sortie qu'entre 000050d0 et 00007e00.
Daniel Gratz
1
Ne hexdump -C -n 32256 /dev/sdafonctionnerait pas?
RedGrittyBrick
2
Oui, vous pensez que vous utilisez un programme d'hexedit interactif, comme sous Windows. Vous utilisez un programme non interactif qui vide simplement tout dans un long flux de sortie, seules les N dernières lignes étant laissées sur votre terminal à la fin. Le prochain bloc de construction Unix à apprendre est la commande more(ou less). (-:
JdeBP
Lorsque j'ai fini d'écraser ma clé USB, je peux tester cela, mais vous ne pouvez pas essayer de le vider dans un fichier pour parcourir. Ne serait-il pas dd if=/dev/sda bs=512 count=63 | hexdump -C > firsttrack.txtsorti dans un fichier?
Rob