การกู้คืนพาร์ติชัน NTFS ที่เสียหายหรือถูกลบ


13

ประมาณสองสัปดาห์ที่ผ่านมาผมมีปัญหากับคอมพิวเตอร์ของฉันที่พี่ชายของฉันเขียนคำถามเกี่ยวกับการที่เครื่องคอมพิวเตอร์ไม่บูตหลังจากที่ใช้ Windows 7 ซ่อมรถยนต์

ฉันยังไม่ได้แก้ปัญหาดังนั้นตอนนี้พีซีของฉันใช้ไม่ได้

ตอนนี้ฉันคิดว่ามันจะง่ายกว่าที่จะติดตั้งทั้ง Win7 และ Ubuntu ใหม่กว่าซ่อมพวกเขา แต่มีข้อมูลบางส่วนในพาร์ติชันของพวกเขา ฉันต้องการกู้คืนข้อมูลนี้

พาร์ติชันเหล่านี้ไม่สามารถต่อเชื่อมได้ด้วยเหตุผลบางประการ ฉันไม่รู้ว่าทำไม

sudo fdisk -l เกี่ยวกับพาร์ติชันที่มีปัญหา:

Device    Boot      Start         End      Blocks   Id  System
/dev/sda1            2048     147912703    73955328   83 Linux
/dev/sdb2            206848   174079999    86936576    7  HPFS/NTFS/exFAT

และใน GParted:

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

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

และข้อผิดพลาดของmountคำสั่ง:

Failed to mount '/dev/sdb2': Invalid argument
The device '/dev/sdb2' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

และข้อความเดียวกันแน่นอนสำหรับ /dev/sda1

ฉันจะกู้คืนข้อมูลจาก HDD เหล่านั้นได้อย่างไร

แก้ไข

ฉันพยายามระบุประเภทของไดรฟ์:

$ sudo mount -t ext4 /dev/sda1 /olddisk
mount: wrong fs type, bad option, bad superblock on /dev/sda1,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so
$ sudo mount -t ntfs /dev/sdb2 /olddisk
NTFS signature is missing.
Failed to mount '/dev/sdb2': Invalid argument
The device '/dev/sdb2' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

แก้ไข

sudo ntfsfix /dev/sdb2 ผลตอบแทน:

Mounting volume... NTFS signature is missing.
FAILED
Attempting to correct errors... NTFS signature is missing.
FAILED
Failed to startup volume: Invalid argument
NTFS signature is missing.
Trying the alternate boot sector
Unrecoverable error
Volume is corrupt. You should run chkdsk.

หากคุณแน่ใจว่า sda2 เป็น NTFS ให้ใช้ ntfs-3g เป็นประเภท ถ้ามันไม่ทำงานมันหมายความว่าระบบไฟล์ของคุณจะต้องถูกตรวจสอบ
Mostafa Ahangarha

@MostafaAhangarha ฉันคิดว่ามันเป็นระบบไฟล์ NTFS เพราะเป็นพาร์ติชั่นของ Win7 -t ntfs-3gผมได้รับข้อผิดพลาดเดียวกันกับ
Notbeginner Norexpert

ฉันคิดว่าพาร์ติชันของคุณเสียหาย เรียกใช้สิ่งนี้ ntfsfix /dev/sdb2และแบ่งปันผล
Mostafa Ahangarha

@ NotbeginnerNorexpert ขอโทษตอนนี้ฉันเห็นภาพของคุณและฉันสับสนเล็กน้อย ในคำถามของคุณคุณเขียนเกี่ยวกับsdb2แต่ภาพแสดงให้เห็นว่ายังsdb5เป็นพาร์ทิชัน NTFS คุณพยายามเข้าถึงอันไหน
Andrea Lazzarotto

คำตอบ:


11

Disclaimer:ฉันมีให้คำตอบสำหรับคำถามที่คล้ายกันที่นี่และที่นี่ นี่คือบทสรุปของสองคำตอบ นอกจากนี้ฉันเป็นผู้พัฒนาของ RecuperaBit

พาร์ติชัน NTFS ของคุณใช้งานไม่ได้ ในการกู้คืนข้อมูลคุณจะต้องทำสำเนาข้อมูล (โดยสมบูรณ์) จากนั้นใช้ซอฟต์แวร์สร้างใหม่ NTFS เพื่อกู้คืนเนื้อหา

โคลนไดรฟ์

คุณควรโคลนไดรฟ์ในไฟล์บนดิสก์ภายนอกยกเว้นว่ามีขนาดใหญ่มากคุณไม่สามารถหาไดรฟ์อื่นเกินกว่าที่จะมีได้

หากคุณแน่ใจว่าพาร์ทิชัน NTFS เกิดขึ้นพร้อมกัน/dev/sdb2ให้ใช้ddrescueเพื่อคัดลอกพาร์ติชั่นนั้นเท่านั้น:

sudo ddrescue /dev/sdb2 /media/user/External/copy.img /media/user/External/status.log

หากคุณไม่แน่ใจจะเป็นการดีกว่าที่จะโคลน/dev/sdbไดรฟ์ทั้งหมด ซึ่งจะใช้พื้นที่มากขึ้นแน่นอน:

sudo ddrescue /dev/sdb /media/user/External/copy.img /media/user/External/status.log

status.logไฟล์ไม่บังคับ แต่มันเป็นสิ่งจำเป็นถ้าคุณต้องการที่จะหยุดกระบวนการและกลับมาในภายหลัง

วิเคราะห์และสร้างระบบไฟล์ขึ้นใหม่

หากระบบไฟล์เสียเพียงเล็กน้อยคุณอาจโชคดีได้testdisk:

testdisk /media/External/copy.img

ทำตามขั้นตอนทีละขั้นตอนใน CLI และคุณจะสามารถแสดงรายการเนื้อหาของพาร์ติชันด้วยPคีย์โดยถือว่าเป็นเกือบเหมือนเดิม

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

  • ตารางพาร์ติชันที่ขาดหายไป
  • ขอบเขตพาร์ติชันที่ไม่รู้จัก
  • เมทาดาทาที่เขียนทับบางส่วน
  • รูปแบบที่รวดเร็ว

ขณะนี้ไม่จำเป็นต้องติดตั้งคุณต้องดาวน์โหลดไฟล์เก็บถาวรจาก GitHub และแตกไฟล์ในไดเรกทอรีที่คุณเลือก

หลังจากนั้นสร้างไดเรกทอรีสำหรับผลลัพธ์และเริ่มโปรแกรมด้วย:

mkdir /media/user/External/recovered_files
cd [full path of recuperabit]
pypy main.py /media/user/External/copy.img -o /media/user/External/recovered_files -s /media/user/External/savefile.save

นอกจากนี้คุณยังอาจใช้pythonแต่pypyจะเร็วขึ้น กระบวนการสแกนจะใช้เวลาค่อนข้างนาน เมื่อเสร็จแล้วให้พิมพ์recoverableและค้นหา ID ของพาร์ติชันของคุณ หากเป็นเช่น 2 ให้พิมพ์:

restore 2 5
restore 2 -1

5หมายถึงไดเรกทอรีรูทและ-1หมายถึงไดเร็กทอรีไฟล์ที่สูญหาย

สำหรับรายละเอียดเพิ่มเติมคำอธิบายและคำเตือนดูลิงค์ทั้งสองที่ด้านบนของโพสต์นี้


ขอบคุณสำหรับความช่วยเหลือของคุณ! ขณะนี้ฉันกำลังพยายามกู้คืนระบบไฟล์ของ Ubuntu แต่หลังจากนั้นฉันจะลองใช้สิ่งที่คุณเขียน
Notbeginner Norexpert

1
@Notbeginner Norexpert: หากคำตอบของฉันเป็นประโยชน์กับคุณโปรดลองทำเครื่องหมายว่ามันเป็นคำตอบที่ได้รับการยอมรับเพื่อให้คนอื่น ๆ สามารถค้นพบมันได้ง่ายขึ้นในอนาคต นี่เป็นวิธีที่สุภาพในการขอบคุณคนที่ตอบคำถามของคุณเพื่อช่วยเหลือคุณ
Andrea Lazzarotto

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