如何进行HDD第一磁道的十六进制转储?


12

我如何在Ubuntu中为硬盘的第一磁道进行hexdump?

我正在寻找一个winhex风格的输出,如果这有意义。第一磁道有63个扇区,每个扇区512字节长。我试过了

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

但这只给了我看似MBR或HDD的第一扇区的信息。我想我对bs和count应该是什么感到困惑。bs表示要显示多少个字节,计数是bs的多少倍?谢谢!


如果我尝试bs-1 count = 32256,它似乎会将输出截断为仅在终端内滚动大约两页的值...我不知道为什么。
Daniel Gratz

Answers:


11

bs是块大小(以字节为单位),count是要抓取的那些块的数量。因此,您实际上要转储第一首曲目的命令是:

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

dd 手册页可能会有所帮助。


谢谢。知道为什么我看不到完整的输出吗?当我输入以上命令时,我什至看不到第一块(MBR)。它仅显示000050d0和00007e00之间的输出。
Daniel Gratz

1
hexdump -C -n 32256 /dev/sda不行?
RedGrittyBrick 2011年

2
是的,您认为您正在使用交互式hexediting程序,例如Windows。您正在使用一个非交互式程序,该程序仅将所有内容转储到一个长输出流中,最后,仅最后N行保留在终端上。您要学习的下一个Unix构建块是more(或less)命令。(-:
JdeBP 2011年

当我完成覆盖USB记忆棒时,我可以对其进行测试,但是您无法尝试将其转储到文件中以进行浏览。不会将其dd if=/dev/sda bs=512 count=63 | hexdump -C > firsttrack.txt输出到文件吗?
罗布
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.