วิธีการกู้คืนไฟล์ที่ถูกลบซึ่งยังคงเปิดอยู่?


20

หนึ่งจะคืนค่าไฟล์ที่ถูกลบ แต่ยังคงเปิดอยู่โดยกระบวนการได้อย่างไร

โพสต์บล็อก"กู้คืนไฟล์จาก/proc"อธิบายวิธีการทำบน Linux:

  1. ใช้lsof(เช่นlsof -c name) เพื่อค้นหาไฟล์ทั้งหมดที่เปิดอยู่สำหรับกระบวนการที่กำหนดไว้ในปัจจุบัน (ชื่อขึ้นต้นด้วยname) จากเอาต์พุตคุณเรียนรู้กระบวนการpidและตัวอธิบายไฟล์ ( fd) ของไฟล์ที่คุณกำลังมองหา
  2. ใช้cp /proc/<pid>/fd/<fd>/ tmp / restore-file` เพื่อทำสำเนา

ขั้นตอนแรกทำงานแบบตัวต่อตัวบน OS X เช่นกัน อย่างไรก็ตามขั้นตอนที่ 2 ดูเหมือนซับซ้อนมากขึ้น มีคุณสมบัติที่คล้ายกันใน OS X หรือไม่?

(ฉันพยายาม/dev/fdแต่ในกรณีของฉันมันไม่มี PID / FD ของกระบวนการ / ไฟล์ของฉัน)

คำตอบ:


3

ฉันไม่สามารถหา OSX ที่เทียบเท่าได้ แต่ตอบอยู่ดีเพราะอาจเป็นเรื่องเร่งด่วน หากไฟล์นั้นสำคัญอย่างยิ่งสำหรับการกู้คืนและคุณต้องปิดระบบให้ติดตั้งระบบไฟล์ที่อยู่ในรูปแบบอ่านอย่างเดียวและอิมเมจพาร์ติชันด้วยเครื่องมือเช่น CloneZilla ซึ่งจะรักษาความสามารถในการใช้เครื่องมือการกู้คืนที่หลากหลายใน ในกรณีที่พื้นที่ที่ไฟล์ใช้อยู่ถูกจัดสรรใหม่เป็นไฟล์อื่น

PhotoRec อาจสามารถค้นหาไฟล์ทั้งนี้ขึ้นอยู่กับประเภทไฟล์ที่คุณต้องการกู้คืน นอกจากนี้ Disk Drill เวอร์ชันฟรีอาจมีประโยชน์และขึ้นอยู่กับระบบไฟล์ที่ใช้งานมีโอกาสเล็กน้อยที่ TestDisk อาจช่วยได้ (ไม่รองรับระบบไฟล์ Mac อย่างสมบูรณ์แม้ว่าจะทำงานบน OSX ก็ตาม)


1
Testdisk: cgsecurity.org/wiki/TestDisk ; Photorec: cgsecurity.org/wiki/PhotoRec - ทั้งสองนี้ดีกว่าเครื่องมือการกู้คืนไฟล์อื่น ๆ ที่ฉันเคยใช้ Photorec ไม่จำเป็นต้องกู้คืนข้อมูลเมตา แต่เป็นข้อมูลที่นั่น นี่อาจจะสายเกินไป แต่คุณสามารถเรียกใช้แฟลชไดรฟ์ตัวใดตัวหนึ่งก่อนที่จะรีบูตถ้าคุณคิดว่ามีความเสี่ยงที่จะมีการเขียนทับส่วนอื่นอยู่ในระดับต่ำ
Nick

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