จะทำ hexdump ของแทร็กแรกของ HDD ได้อย่างไร?


12

ฉันจะทำ hexdump ใน Ubuntu สำหรับแทร็กแรกของ HDD ได้อย่างไร

ฉันกำลังมองหาผลลัพธ์ winhex-esque หากเหมาะสม แทร็กแรกมี 63 เซกเตอร์ยาว 512 ไบต์ ฉันเหนื่อย

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

แต่นั่นให้สิ่งที่ดูเหมือนเป็น MBR หรือเซกเตอร์แรกของ HDD ฉันคิดว่าฉันสับสนเกี่ยวกับ bs และจำนวนที่ควรจะเป็น Bs หมายถึงจำนวนไบต์ที่จะแสดงและนับจำนวน bs เป็นทวีคูณ ขอบคุณ!


หากฉันลอง bs-1 count = 32256 ดูเหมือนว่าจะตัดทอนผลลัพธ์ให้มีเพียงสองหน้าที่มีมูลค่าการเลื่อนภายในเทอร์มินัล ... ฉันไม่รู้เลยว่าทำไม
Daniel Gratz

คำตอบ:


11

bsคือขนาดบล็อกเป็นไบต์และcountเป็นจำนวนบล็อกที่จะคว้า ดังนั้นคำสั่งที่คุณต้องการถ่ายโอนแทร็กแรกคือ:

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

หน้า man dd อาจช่วยได้


ขอบคุณ ความคิดใดที่ว่าทำไมฉันถึงไม่เห็นผลลัพธ์เต็ม? ฉันไม่เห็นแม้แต่บล็อกที่ 1 (MBR) เมื่อฉันพิมพ์คำสั่งด้านบน มันแสดงให้ฉันเห็นเฉพาะระหว่าง 000050d0 และ 00007e00
Daniel Gratz

1
จะhexdump -C -n 32256 /dev/sdaไม่ทำงาน
RedGrittyBrick

2
ใช่คุณคิดว่าคุณกำลังใช้โปรแกรม hexediting เชิงโต้ตอบเช่นเดียวกับบน Windows คุณกำลังใช้โปรแกรมที่ไม่โต้ตอบซึ่งจะทิ้งทุกสิ่งในเอาต์พุตที่มีความยาวเส้นเดียวเท่านั้นบรรทัด N บรรทัดสุดท้ายที่เหลืออยู่บนเทอร์มินัลของคุณในตอนท้าย Building Block Unix ถัดไปเพื่อให้คุณเรียนรู้คือคำสั่งmore(หรือless) (-:
JdeBP

เมื่อฉันเขียนทับก้าน USB ของฉันเสร็จแล้วฉันสามารถทดสอบสิ่งนี้ได้ แต่คุณไม่สามารถลองที่จะถ่ายโอนมันเป็นไฟล์เพื่อเรียกดูได้ จะไม่dd if=/dev/sda bs=512 count=63 | hexdump -C > firsttrack.txtส่งออกไปยังไฟล์หรือไม่?
Rob
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.