ลบดิสก์ขนาด 512 ไบต์แรก ฉันจะกู้คืนข้อมูลของฉันได้อย่างไร


12

ฉันบังเอิญเขียนไบนารี่ 512 ไบต์ไปยังดิสก์ USB ผิดddและอุปกรณ์ไม่แสดงพาร์ทิชันfdiskอีกต่อไป

ฉันคิดว่าข้อมูลทั้งหมดหายไป แต่dd if=/dev/sdx | stringsแสดงให้เห็นว่าข้อมูลยังคงอยู่ที่นั่นเนื่องจากddโชคดีที่ จำกัด ตัวเองไว้ที่ 512 ไบต์แรก มีวิธีกู้คืนไหม?

ดิสก์มีสองพาร์ติชัน: หนึ่ง ext4 (~ 4GB) และส่วนที่เหลือของ 16GB ถูกจัดรูปแบบเป็น NTFS

คำตอบ:


13

มันขึ้นอยู่กับสิ่งที่เคยมีมาก่อน แต่อาจง่าย (-ish) ที่จะกู้คืนจากสิ่งนี้

  1. ใช้ddเพื่อสร้างภาพเต็มของไดรฟ์ USB ของคุณในตำแหน่งที่ปลอดภัย

  2. ใช้ddเพื่อสร้างภาพเต็มของไดรฟ์ USB ของคุณในตำแหน่งที่ปลอดภัย

  3. ใช่โปรดทำภาพเต็ม การกู้คืนข้อมูลมักจะทำให้เกิดความเสียหายมากกว่าที่คาดไว้

  4. พยายามจดจำว่ารูปแบบพาร์ติชันบนไดรฟ์ USB นั้นเป็นอย่างไร เขียนมันลงไป มันอาจช่วยได้ถ้าคุณมีบันทึกของระบบเมื่อตรวจพบดิสก์ (ก่อนที่จะมีการเลอะ) โดยเคอร์เนล Linux - บ่อยครั้งที่มันจะพิมพ์ข้อมูลบางส่วนเกี่ยวกับพาร์ติชั่นที่ตรวจพบ

  5. ใช้ fdisk เพื่อสร้าง MBR ใหม่ด้วยตารางพาร์ติชันเดียวกัน อย่าจัดรูปแบบและ / หรือ fsck พาร์ทิชันใด

  6. ลองเมาต์พาร์ติชันของคุณด้วยตัวเลือกread-only ( -o ro)mount

  7. หากสำเร็จให้ลองคัดลอกไฟล์ทั้งหมดไปยังตำแหน่งที่ปลอดภัยและดูเทอร์มินัลของคุณและบันทึกข้อผิดพลาด I / O - วิธีทั่วไปสำหรับข้อผิดพลาดเกี่ยวกับขอบเขตพาร์ติชันที่จะแสดงคือการเข้าถึงนอกขอบเขตบนอุปกรณ์พื้นฐาน

  8. หากการคัดลอกล้มเหลวให้เรียกคืนอิมเมจและกลับไปที่ขั้นตอนที่ 4

  9. ฉันพูดถึงการมีภาพเต็มไดรฟ์ USB ก่อนที่จะทำอะไรอย่างอื่นหรือไม่?

PS: คุณอาจต้องการดูเครื่องมือเช่นTestDiskที่พยายามทำให้กระบวนการกู้คืนเป็นแบบอัตโนมัติ แต่คุณควรจะได้ภาพเต็มก่อน

PS2: ถ้าคุณรู้สึกสะดวกสบายพอคุณสามารถทดลองได้บ้าง หากคุณสามารถตั้งสมมติฐานที่สมเหตุสมผลสำหรับจุดเริ่มต้นของพาร์ติชันแรกจากนั้นคุณสามารถใช้tune2fs -lเพื่อรับขนาดที่แน่นอนของพาร์ติชันแรกซึ่งจะช่วยให้คุณสามารถค้นหาจุดเริ่มต้นของพาร์ติชันที่สอง


# 1: dd if=/dev/sdx of=backup.imgใช่มั้ย
edmz

@black: ใช่ คุณอาจต้องการใส่bs=...ตัวเลือกเพื่อเพิ่มขนาดบล็อกและเพิ่มความเร็วขึ้นเล็กน้อย
thkala

bs=64Kบล็อคที่ดีที่จะใช้เป็น TestDisk คุ้มค่าที่จะลองอย่างแน่นอนและสามารถทำงานกับไฟล์อิมเมจของดิสก์เช่นเดียวกับดิสก์จริง โชคดี!
PM 2Ring

การวิ่งcat /dev/sdx >backup.imgจะเร็วกว่าddในหลาย ๆ สถานการณ์และจะไม่ช้าลงในสถานการณ์นี้อย่างแน่นอน
roaima

6

ในการกู้คืนext4พาร์ทิชันและข้อมูลของมันฉันคิดว่าจะสร้างพาร์ติชัน ext4 ที่มีทั้งดิสก์หนึ่งพาร์ติชัน สิ่งนี้ทำให้ฉันสามารถเข้าถึงข้อมูลและดึงข้อมูลเกี่ยวกับพาร์ทิชันด้วยtune2fs -lตามที่ @thkala แนะนำ ข้อมูลนี้ดูเป็นไปได้มากและไม่เปลี่ยนแปลง

น่าสนใจมาก gparted จะสามารถหาขนาดพาร์ติชั่นจริงตามที่ปรากฎจากคำเตือนที่แสดง:

10.96 GiB ของพื้นที่ที่ไม่ได้ปันส่วนภายในพาร์ติชั่น ในการขยายระบบไฟล์ให้เต็มพาร์ติชั่นให้เลือกพาร์ติชั่นแล้วเลือกรายการเมนู:

เนื่องจาก 11GiB นั้นมีขนาดโดยประมาณของพาร์ติชัน NTFS

ป้อนคำอธิบายรูปภาพที่นี่

สังเกตว่าพื้นที่ที่ไม่ได้ใช้นั้น IIRC เป็นพื้นที่ที่ ext4 ยังว่างอยู่ จัดสรร gparted ตระหนักถึงความน่าจะเป็นพาร์ติชัน NTFS; ตอนนี้ฉันจะเรียกคืนหนึ่งได้เช่นกันโดยการค้นหาว่าพาร์ทิชันแรกสิ้นสุดลงเช่นจำนวนไบต์ทั้งหมดหรือไม่


ในที่สุดTestDiskจัดการได้อย่างง่ายดาย


ยอดเยี่ยม กรุณาคุณจะยอมรับคำตอบของคุณเองดังนั้นจึงเป็นที่ชัดเจนว่าคุณมีทางออกสำหรับคำถามของคุณ
roaima

@roaina ใช่ฉันจะต้องเมื่อระยะเวลาเปิดสองวันขั้นต่ำหมดอายุ
edmz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.