Jak zrobić zrzut heksowy pierwszej ścieżki dysku twardego?

12

Jak mam zrobić zrzut heksowy w Ubuntu dla pierwszej ścieżki dysku twardego?

Szukam wyjścia w stylu Winhex, jeśli ma to sens. Pierwsza ścieżka ma 63 sektory, każdy o długości 512 bajtów. próbowałem

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

ale to dało mi tylko coś, co wydaje się być MBR, czyli pierwszym sektorem dysku twardego. Chyba jestem zdezorientowany co do tego, jakie bs i liczyć powinny być. Bs oznacza, ile bajtów wyświetlić i policzyć, ile mnożników bs? Dzięki!

Daniel Gratz
źródło
Jeśli spróbuję bs-1 count = 32256, wydaje się, że obcina to wynik tylko do około dwóch stron przewijanych w terminalu ... nie mam pojęcia, dlaczego.
Daniel Gratz

Odpowiedzi:

11

bsto rozmiar bloku, w bajtach, i countliczba tych bloków do pobrania. Tak więc polecenie, które chcesz zrzucić pierwszy utwór, to:

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

Pomocna może być strona podręcznika dd .

Mokubai
źródło
Dzięki. Masz pomysł, dlaczego nie widzę pełnej wydajności? Nie widzę nawet pierwszego bloku (MBR) po wpisaniu powyższego polecenia. Pokazuje mi dane wyjściowe tylko między 000050d0 a 00007e00.
Daniel Gratz
1
Czy hexdump -C -n 32256 /dev/sdanie działa?
RedGrittyBrick
2
Tak, myślisz, że używasz interaktywnego programu szesnastkowego, tak jak w systemie Windows. Używasz nieinteraktywnego programu, który po prostu zrzuca wszystko w jednym długim strumieniu danych wyjściowych, z których tylko ostatnie N wierszy pozostało na końcu na terminalu. Kolejnym uniksowym elementem składowym, którego możesz się nauczyć, jest polecenie more(lub less). (-:
JdeBP
Kiedy skończę nadpisywanie pamięci USB, mogę to przetestować, ale czy nie możesz spróbować wrzucić go do pliku, aby przejrzeć. Czy nie dd if=/dev/sda bs=512 count=63 | hexdump -C > firsttrack.txtwyślesz go do pliku?
Rob