Wie mache ich einen Hexdump der ersten Spur der Festplatte?

12

Wie würde ich in Ubuntu einen Hexdump für den ersten Titel einer Festplatte machen?

Ich suche eine winhex-artige Ausgabe, wenn das Sinn macht. Die erste Spur hat 63 Sektoren mit einer Länge von jeweils 512 Bytes. Ich habe es versucht

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

aber das gab mir nur das, was der MBR oder der erste Sektor der Festplatte zu sein scheint. Ich denke, ich bin verwirrt darüber, was bs und count sein sollten. Bs bedeutet, wie viele Bytes angezeigt und gezählt werden sollen, wie viele Vielfache von bs? Vielen Dank!

Daniel Gratz
quelle
Wenn ich bs-1 count = 32256 versuche, scheint die Ausgabe auf nur etwa zwei Seiten zu kürzen, die im Terminal gescrollt werden müssen ... Ich habe keine Ahnung warum.
Daniel Gratz

Antworten:

11

bsist die Blockgröße in Bytes und countdie Anzahl der zu erfassenden Blöcke. Der Befehl, den Sie tatsächlich für den ersten Track ausgeben möchten, lautet also:

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

Die dd- Manpage könnte hilfreich sein.

Mokubai
quelle
Vielen Dank. Irgendeine Idee, warum ich nicht die volle Ausgabe sehe? Ich sehe nicht einmal den 1. Block (MBR), wenn ich den obigen Befehl eingebe. Es zeigt mir die Ausgabe nur zwischen 000050d0 und 00007e00.
Daniel Gratz
1
Würde hexdump -C -n 32256 /dev/sdanicht funktionieren?
RedGrittyBrick
2
Ja, Sie denken, dass Sie ein interaktives Hexediting-Programm wie unter Windows verwenden. Sie verwenden ein nicht interaktives Programm, das einfach alles in einem langen Ausgabestrom speichert, von dem am Ende nur die letzten N Zeilen auf Ihrem Terminal verbleiben. Der nächste Unix-Baustein, den Sie lernen müssen, ist der Befehl more(oder less). (-:
JdeBP
Wenn ich mit dem Überschreiben meines USB-Sticks fertig bin, kann ich dies testen, aber Sie können nicht versuchen, ihn zum Durchsuchen in eine Datei zu kopieren. Würde es nicht dd if=/dev/sda bs=512 count=63 | hexdump -C > firsttrack.txtin eine Datei ausgeben?
Rob