วิธีการกู้คืนไฟล์ที่ถูกลบ?


121

มีเครื่องมือวิธีการคาถาในการกู้คืนไฟล์ที่ถูกลบเมื่อเร็ว ๆ นี้บน Ubuntu หรือไม่?

หากมันสร้างความแตกต่างฉันต้องการกู้คืนไฟล์ฐานข้อมูลKeepass 2.x แต่จะดีกว่าถ้ามีวิธี / เครื่องมือที่ทำงานกับไฟล์ประเภทใดก็ได้


คำตอบ:


66

TestDiskบางครั้งสามารถกู้คืนไฟล์ที่ถูกลบเมื่อเร็ว ๆ นี้


4
อาจเป็นเรื่องสำคัญสำหรับบางคนที่จะรู้ว่าเฉพาะสำหรับการ์ดของกล้องใน TestDisk มีPhotoRec
Luis Siquot

1
ในขณะนี้ TestDisk ไม่มีส่วนต่อประสานผู้ใช้แบบกราฟิกและหน้าช่วยเหลือ (man) ไม่เพียงพอสำหรับฉัน
silviubogan

4
PhotoRec ( cgsecurity.org/wiki/PhotoRec ) ทำงานได้ดีเยี่ยมสำหรับฉันในการกู้คืนไฟล์ที่ถูกลบโดยไม่ตั้งใจ (บน Ubuntu 14.04 กับ ext4) ฉันลอง TestDisk ครั้งแรก แต่ไม่สามารถกู้คืนได้ อย่างไรก็ตามฉันพบเครื่องมือทั้งสองชิ้นที่สร้างขึ้นในโฟลเดอร์เดียวกัน
Andrea

1
@silviubogan จริง ๆ แล้ว TestDisk มี Textual User Interface ที่ดีพร้อมเมนูและคำอธิบายไปพร้อมกัน การดำเนินการทั้งหมดมีคีย์ที่เกี่ยวข้องเพื่อดำเนินการและเขียนอย่างชัดเจนในทุกหน้าจอเพื่อให้เข้าถึงได้ง่ายขึ้น
Andrea Lazzarotto

25

ฉันได้ใช้ก่อนอื่นในการกู้คืนฮาร์ดดิสก์ที่เสียหายทั้งภายใต้ NTFS (windows), FAT32 (แฟลชการ์ดจากโทรศัพท์ Nokia) และ ext3 ด้วยผลลัพธ์ที่ยอดเยี่ยม บรรทัดคำสั่งเท่านั้น แต่ค่อนข้างง่ายอะไรเช่นนี้:

sudo foremost -i /dev/sda -o <dir where recovered files will be stored>

มันจะสั่งไฟล์ที่กู้คืนในโฟลเดอร์ตามประเภทไฟล์ เอกสาร Openoffice ถูกกู้คืนเป็นไฟล์ zip เมื่อคุณต้องการเรียกใช้งานในฐานะรูท (เพื่อเข้าถึงฮาร์ดแวร์โดยตรง) ไฟล์เอาต์พุตจะเป็นเจ้าของโดยรูทดังนั้นคุณอาจต้องเปลี่ยนความเป็นเจ้าของในภายหลัง


อาจเป็นคำถามที่เก่าเกินไป แต่ไฟล์ GIMP มีลักษณะอย่างไรหลังจากการกู้คืน
wakeup

ฉันไม่รู้ฉันไม่เคยพยายามกู้คืนพวกเขา
Javier Rivera

@JavierRivera - ฉันไม่เชื่อว่าforemostสามารถกู้คืน.xcfไฟล์ได้ ดู man page ที่สามารถจัดการกับไฟล์ประเภทเหล่านี้: (jpg, gif, png, bmp, avi, exe, mpg, mp4, wav, riff, wmv, mov, pdf, ole, doc, zip, rar, htm, และ cpp)
slm

กำลังทำงานอยู่ ... ให้ฉันรอผลลัพธ์ จะแบ่งปัน
Patrick Mutwiri

ต้องใช้เวลาเท่าไหร่จึงจะเสร็จ? สำหรับหน่วยความจำ usb 32GB
Mina Michael

25

extundeleteนั้นยอดเยี่ยมจริงๆถ้าระบบไฟล์ของคุณเป็น ext3 หรือ ext4

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

การเลิกเมานท์ระบบสดอาจเป็นเรื่องยาก ... คุณมักจะได้รับdevice is busyข้อความ "" เพื่อล้างสิ่งนี้ 'ถูกต้อง' จะต้องปิดกระบวนการทั้งหมดที่เข้าถึงระบบไฟล์ แต่ ... คุณมีแนวโน้มที่จะทำงานในโฮมไดเร็กตอรี่ของคุณ, และกระบวนการ zillion นั้นติดอยู่ในโฮมไดเร็กตอรี่ของคุณ, ดังนั้นขอให้โชคดีกับมัน.

เคล็ดลับในการหลีกเลี่ยงสิ่งนี้คือการทำ unmount 'สันหลังยาว':

$ mount
/dev/sda7 on /home type ext4 (rw)
$ sudo umount -l /home

ที่อยู่:

  • ตัวอย่างนั้นมีไว้สำหรับฉันเตรียม/homeเมานต์ของฉันเพื่อใช้กับ extundelete คุณต้องแทนที่/homeด้วยความสนใจอย่างชัดเจน
  • ฉันทำmountคำสั่งก่อนเพื่อหาว่าอุปกรณ์ใด ( /dev/sda7) ฉันต้องผ่านไปยัง extundelete (เอาต์พุตถูกตัดทอนให้สั้นลง)
  • นั่นคือตัวพิมพ์เล็ก L ใน-lตัวเลือก

4
unmount ที่ขี้เกียจไม่ได้ช่วยจริง ๆ ตั้งแต่ fs ยังคงเมานท์จนกว่าไฟล์ทั้งหมดในนั้นจะถูกปิด คุณเพียงแค่ต้องปิดระบบทันทีที่คุณลบไฟล์และเรียกใช้งาน extundelete จาก livecd
psusi

@psusi - มันไม่จริงที่จะบอกว่าไม่ช่วย !! umount -lป้องกันไม่ให้ไฟล์ใหม่ถูกเปิด / สร้างและเขียน (เช่นแคชของเว็บและ) อย่างไรก็ตามจะไม่ป้องกันไฟล์ที่เปิดอยู่ที่ยังคงถูกเขียนไปยัง (เช่น: ไม่ปิดไฟล์ที่มีอยู่) คุณขอแนะนำให้ปิดตัวลง แต่ฉันคิดว่าจะเป็นการยกเลิกการต่อเชื่อม (ส่วนใหญ่) จะทำให้ไฟล์ที่เขียนน้อยลงขึ้นอยู่กับพาร์ติชันที่มีปัญหา ในหมายเหตุนั้นที่ดีที่สุดคือการติดตั้ง extundelete แล้วและถ้าไม่ให้แน่ใจว่าได้ติดตั้งไปยังพาร์ทิชันอื่นนอกเหนือจากที่คุณพยายามกู้คืน!
รัส

ตราบใดที่ fs ยังคงเมานต์อยู่การพยายามเข้าถึงมันจะทำให้เกิดความเสียหาย นั่นคือเหตุผลที่ extundelete ต้องการให้คุณเลิกเมานท์ fs ในสถานที่แรก ขี้เกียจ unmount เพียงแค่คิดว่ามันไม่ได้เมานต์และดังนั้นจึงมีความปลอดภัยที่จะดำเนินการจัดการดิสก์เมื่อไม่เป็นจริง การดำเนินการกับ extundelete ก่อนที่ fs จะถูกถอดออกจริง ๆ แล้วสามารถต่อดิสก์ทั้งหมดได้
psusi

1
@psusi - "สามารถต่อดิสก์ทั้งหมด" ได้! ด้วยการดำเนินการแบบอ่านอย่างเดียว? ฉันไม่ได้รับการโต้แย้งของคุณหรืออะไรที่ทำให้คุณหวาดระแวง extundelete ไม่ได้ "จัดการดิสก์" สิ่งที่เป็นไปได้ที่เลวร้ายที่สุดที่ฉันสามารถจินตนาการได้คือ extundelete คาดว่าจะมีพาร์ติชั่นแบบ unmount / static และถ้าในขณะที่กำลังอ่านข้อมูลในวารสารดิสก์ที่ไม่ได้เมาท์จะถูกเปลี่ยนแปลงเนื่องจากกระบวนการที่เปิดไฟล์ "อาจกู้คืนล้มเหลว"! = "ดิสก์ hosed" หากมันล้มเหลวให้ปิดการอธิษฐานการปิดเครื่องจะไม่ทำลายข้อมูลที่หายไปและใช้ livecd ตามที่คุณแนะนำ
Russ

1
ขอพระเจ้าอวยพรโปรแกรมนี้! และคุณ @Russ กู้คืนไฟล์ทั้งหมดของฉัน!
Vladimir Kovalchuk

14

หากคุณลบไฟล์บางไฟล์โดยไม่ตั้งใจ แต่ยังรู้ว่ามีบางสตริงที่เขียนในไฟล์นั้นคุณสามารถใช้:

grep -a -B 25 -A 100 'containing string' /dev/sda1 > result.txt

1
ถ้าไฟล์เป็นไบนารี่และไม่ใช่ข้อความล่ะ?
Decio Lira

สมมติว่าเป็นข้อความเขาจะกู้คืนไฟล์ด้วย result.txt ได้อย่างไร ฉันไม่เข้าใจหรอก ..
sergio91pt

ฉันลองคำตอบก่อนหน้าอื่น ๆ อีกหลายข้อ ไม่มีใครทำงานเลย เคล็ดลับง่ายๆนี้! ขอบคุณ!
JamesThomasMoon1979

มันใช้งานได้ดีจริงๆ ขอบคุณมาก.
Snehal Parmar

2
ควรสังเกตว่า25และ100เป็นเพียงตัวเลขเวทย์มนตร์ที่อาจต้องมีการปรับแต่งสำหรับกรณีเฉพาะ
Andrea Lazzarotto

12

ในการกู้คืนไดเรกทอรีที่คุณสามารถใช้ได้ extundelete

  1. ติดตั้ง extundelete

    sudo apt-get install extundelete
    
  2. คำสั่งในการกู้คืน

    sudo extundelete --restore-directory /home/Documents/ /dev/sda1
    

หมายเหตุ : แทนที่dev/sda1ชื่อพาร์ทิชันฮาร์ดดิสก์ของคุณ

/home/Documents/ เป็นเส้นทางของคุณไปยังไดเรกทอรีที่ถูกลบ


1
ฉันเคยautopsyค้นหาไอโหนดที่ฉันต้องการแล้วextundeleteคืนค่าพวกเขา ทำงานได้ดี!
Raphael

ผลลัพธ์ของฉันมีลักษณะ.....~/Books$ sudo extundelete --restore-directory /home/newubuntu/Books/LaTeX /dev/sda2 WARNING: Extended attributes are not restored. Loading filesystem metadata ... 522 groups loaded. Loading journal descriptors ... 32242 descriptors loaded. Writing output to directory RECOVERED_FILES/ Failed to restore file /home/newubuntu/Books/LaTeX Could not find correct inode number past inode 2621441.
alhelal

ฉันต้องการส่งการยืนยันในคำสั่ง อย่างไร?
alhelal

sudo extundelete -y --restore-directory /home/Documents/ /dev/sda1 แบบนี้.
alhelal

10

R-Linux (Recovery studio) เป็นหนึ่งในดีที่สุด ฉันเคยใช้เครื่องมือนี้มาหลายครั้งแล้ว ฉันทำงานใน บริษัท ที่พวกเขาใช้เวอร์ชันเชิงพาณิชย์ 9/10 ครั้งเพื่อกู้คืนทุกสิ่งที่คุณต้องการ แอพลิเคชันที่ยอดเยี่ยมอย่างแท้จริง เหมืองที่บันทึกไว้และเพื่อน ๆ หลายครั้งก่อนหน้านี้

R-Linux เป็นโปรแกรมกู้คืนไฟล์ฟรีสำหรับระบบไฟล์ Ext2 / Ext3 / Ext4 FS ที่ใช้ใน Linux OS และ Unixes หลายตัว R-Linux ใช้เทคโนโลยี InteligentScan เดียวกับ R-Studio และการตั้งค่าพารามิเตอร์ที่ยืดหยุ่นเพื่อให้การกู้คืนไฟล์ที่รวดเร็วและเชื่อถือได้มากที่สุดสำหรับแพลตฟอร์ม Linux อย่างไรก็ตามแตกต่างจาก R-Studio, R-Linux ไม่สามารถกู้คืนข้อมูลผ่านเครือข่ายหรือสร้าง RAID ใหม่หรือให้คัดลอกวัตถุ

คุณสมบัติ (จากเว็บไซต์ของพวกเขา):

กู้คืนไฟล์ R-Linux :

  • ถูกลบโดยการโจมตีของไวรัสความล้มเหลวของระบบหรือไฟดับ;
  • หลังจากพาร์ติชันที่มีไฟล์ถูกฟอร์แมตใหม่เกิดความเสียหายหรือถูกลบ
  • เมื่อโครงสร้างพาร์ติชันบนดิสก์มีการเปลี่ยนแปลงหรือเสียหาย ในกรณีนี้ R-Linux สามารถสแกนดิสก์ที่พยายามค้นหาพาร์ติชันที่มีอยู่ก่อนหน้านี้และกู้คืนไฟล์จากพาร์ติชันที่พบ
  • จากดิสก์ที่มีเซกเตอร์เสีย ในกรณีนี้ R-Linux สามารถคัดลอกดิสก์ทั้งหมดหรือบางส่วนลงในไฟล์ภาพก่อนแล้วจึงประมวลผลไฟล์ภาพ สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อมีเซกเตอร์เสียใหม่ปรากฏบนดิสก์อย่างต่อเนื่องและข้อมูลที่เหลือจะต้องถูกบันทึกทันที

คุณสมบัติ R-Linuxขั้นสูง :

  • มาตรฐาน "Windows Explorer" - อินเตอร์เฟสสไตล์
  • โฮสต์ระบบปฏิบัติการ:
    • ตัวแปร Linux: Linux, เคอร์เนล 2.6 ขึ้นไป
    • ตัวแปร Windows: Win2000, XP, 2003, Vista, Windows 7, Windows 8
  • ระบบไฟล์ที่รองรับ: Ext2 / Ext3 / Ext4 FS (Linux) เท่านั้น
  • การรับรู้และการแยกแบบไดนามิก (Windows / XP / Vista / Win7 2000), Basic, GPT และ BSD (UNIX)สคีพาร์ทิชันรูปแบบและแอปเปิ้ลแผนที่พาร์ทิชัน สนับสนุนพาร์ติชันแบบไดนามิกบน GPT รวมถึงพาร์ติชันแบบไดนามิกบน MBR

  • สร้างไฟล์รูปภาพสำหรับทั้งฮาร์ดไดรฟ์ดิสก์แบบลอจิคัลหรือชิ้นส่วน ไฟล์รูปภาพดังกล่าวสามารถประมวลผลได้เช่นดิสก์ทั่วไป รูปภาพสามารถเป็นได้ทั้งสำเนาวัตถุที่แน่นอน (ภาพธรรมดา) ที่เข้ากันได้กับ R-Linux เวอร์ชันเก่าหรือภาพที่ถูกบีบอัดซึ่งสามารถบีบอัดแบ่งออกเป็นหลายส่วนและป้องกันด้วยรหัสผ่าน ภาพดังกล่าวเข้ากันได้กับรูปภาพที่สร้างโดย R-Drive Image แต่ไม่เข้ากันกับ R-Linux เวอร์ชันเก่า

  • รู้จักชื่อที่มีการแปล

  • ไฟล์ที่กู้คืนสามารถบันทึกในดิสก์ใด ๆ (รวมถึงเครือข่าย) ที่สามารถเข้าถึงได้โดยระบบปฏิบัติการโฮสต์

ฉันไม่ได้คาดหวังว่าสิ่งนี้จะให้บริการฟรีสำหรับ Linux ฉันรู้จัก R-Studio แล้วและเป็นซอฟต์แวร์ที่ยอดเยี่ยม เยี่ยมมากที่ฟรีสำหรับระบบไฟล์ Linux
0x01

1
เครื่องมือนี้ฟรีสำหรับการกู้คืนไฟล์ที่น้อยกว่า 256kb
Tik0

6

หากใช้ HD ภายในรอง (สงสัยว่าเหมือนกันสำหรับ HD ภายนอก) สำหรับการนำเข้าไฟล์ที่กู้คืน (จาก HD หลักที่มีไฟล์เดิมอยู่) จำเป็นต้องสร้างไดเรกทอรีซึ่งจะใส่ไฟล์ลงใน HD รอง คุณต้องมีการตั้งค่า BIOS สำหรับการบูทจากซีดีก่อน! 1. เริ่มต้น Live Ubuntu Rescue-Remix CD ให้คำสั่งในการบูตจากนั้นเมื่อบูทเข้าสู่เทอร์มินัลให้ตรวจสอบ HD ของคุณตามคำสั่ง - รหัส:sudo fdisk -l

ตระหนักถึงความ HD เป็นหลักและเป็นรองและพาร์ทิชันที่จะตรวจสอบไฟล์และที่จะกู้คืนพวกเขา - linux ext3 หรือ Windows NTFS! Mine เป็นลีนุกซ์ มีที่ว่างพอ! (จากนั้นคุณสามารถลองเรียกใช้ Photorec (“ sudo photorec”) และหวังว่าคุณจะสามารถดู HD ทั้งหมดของคุณได้ฉันไม่โชคดีอย่างนั้นฉันจึงต้องสร้างไดเรกทอรีและติดตั้งวินาที)

  1. สร้างไดเรกทอรีสำหรับไฟล์ที่กู้คืนก่อนเช่น - media / disk ให้คำสั่ง - รหัส:sudo mkdir /media/disk

หากไม่เป็นเช่นนั้นการแจ้ง Terminal จะส่งคืน

  1. ต้องเมานต์ HD รองหรือจะมองไม่เห็นแม้ว่า“ sudo fdisk -l” จะแสดงก็ตาม ให้คำสั่งสำหรับ HD รองของคุณ - รหัส:sudo mount -t ext3 /dev/sdb2 /media/disk

หากไม่เป็นเช่นนั้นการแจ้ง Terminal จะส่งคืน

  1. เรียกใช้ Photorec ตามคำสั่ง - รหัส:

    sudo photorec

ผ่านการตั้งค่าและเลือกประเภทไฟล์ที่คุณต้องการมิฉะนั้นคุณจะมีไฟล์นับพันให้ลอดผ่าน!

สำหรับรายละเอียดเพิ่มเติมคุณสามารถเยี่ยมชม: http: /www..ubuntumanual.org/posts/357/recover-your-deleted-files-in-ubuntu


5

ลองมีดผ่าตัด

sudo apt-get install scalpel

สำหรับข้อมูลเพิ่มเติม

มีดผ่าตัด


ลองตอนนี้ ฉันไม่เข้าใจวิธีการเพิ่มไฟล์ใหม่ไปยังไฟล์ conf คุณมีรายละเอียดแหล่งที่มาหรือไม่?
Decio Lira

2
ฉันพบhowtoforge.com/recover-deleted-files-with-scalpelซึ่งดีกว่าไม่มีอะไร โชคดีนี่ไม่ใช่ MS-DOS
msw

ดูubuntu.stackexchange.com/questions/2596/...ผมใช้ระบบสำรองข้อมูลที่ค่อนข้างหนัก แต่มี "ย้อนกลับไปในเวลา" จัดตั้งขึ้นเพื่อ DUP ไดเรกทอรีเลือกจาก / home / ขยะ (รวม .config ซึ่งยังจับ.config/keepassx/*(สถานที่ของคุณอาจ )) ไปยังพาร์ติชันสำรองทุกคืน ฉันเคยใช้ Unix มาตลอดแล้วและคุณก็ค่อนข้างระวังหลังจากที่คุณเล่นเป็นครั้งที่สองthe-really-critical.file)
msw

Scalpel ดูเหมือนจะทำเช่นเดียวกันกับส่วนที่สำคัญที่สุด แต่ในขณะที่มีดผ่าตัดไม่ได้รับการพัฒนาอีกต่อไปตั้งแต่ 10 ปีก่อนหน้านี้มีการอัปเดตจำนวนมากในปีที่ผ่านมา
sebix

3

การชันสูตรศพและเครื่องมือ Sleuthkitนั้นยอดเยี่ยมสำหรับการกู้คืนไฟล์ที่ถูกลบด้วย UI ที่ใช้งานง่ายและมีอยู่ใน repos :

sudo apt install autopsy

ดีแล้วที่รู้. จะดูที่พวกเขา ;)
Decio Lira

1
ฉันจะลงคะแนนหากคุณต้องการเพิ่มลิงค์
MadMike

ฉันเคยautopsyค้นหาไอโหนดที่ฉันต้องการแล้วextundeleteคืนค่าพวกเขา ทำงานได้ดี!
Raphael

2

ติดตั้งมีดผ่าตัด

sudo apt-get install scalpel

แก้ไขไฟล์ scalpel.conf และยกเลิกหมายเหตุประเภทไฟล์ที่คุณต้องการกู้คืน สร้างโฟลเดอร์ว่าง (เช่น: recovery_data) ค้นหาพาร์ติชันที่ข้อมูลของคุณเป็น คุณสามารถใช้ lsblk เพื่อรับแผนผังพาร์ติชัน

sudo lsblk

เรียกใช้มีดผ่าตัด (ถือว่าข้อมูลอยู่ใน sda1)

sudo scalpel -o recovered_data/ /dev/sda1

1

เมื่อเร็ว ๆ นี้ฉันใช้ ext3grep เพื่อกู้คืนไฟล์ SQLite 3 ขนาดใหญ่ที่ถูกลบออกจากระบบไฟล์ ext3

ฉันได้ลองใช้เครื่องมือยกเลิกการลบอื่น ๆ อีกมากมายซึ่งไม่สามารถกู้คืนไฟล์ได้ (จากอิมเมจของดิสก์)

ในการใช้ ext3grep ฉันจำเป็นต้องดาวน์โหลดและรวบรวมแหล่งที่มา อ่านอย่างระมัดระวังhttp://www.xs4all.nl/~carlo17/howto/undelete_ext3.htmlจากบนลงล่างเพื่อทำความเข้าใจว่าระบบไฟล์ ext3 ทำงานอย่างไรและวิธีใช้เจอร์นัลเพื่อค้นหาว่าไฟล์ที่ถูกลบถูกใช้อยู่บน ต้องใช้ดิสก์ด้วย

นี่ไม่ใช่วิธีง่ายๆ แต่มีประสิทธิภาพมาก หากคุณเตรียมที่จะลงทุนสักสองสามชั่วโมงเพื่อศึกษาเอกสารและรวบรวมโปรแกรมมันก็คุ้มค่า


ขอบคุณฉันอาจลองที่ จะใช้งานได้กับระบบไฟล์ ext3 หรือไม่ แล้ว ext4 ล่ะ?
Decio Lira

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