กู้ไฟล์ที่ถูกลบด้วย Testdisk


ผมเคยเขียนวิธีการกู้ไฟล์ด้วย Foremost ไปแล้ว วันนี้ผมจะขอเสนอวิธีการกู้ไฟล์ด้วย Testdisk ซึ่งเป็นโปรแกรมสำหรับกู้ระบบไฟล์และ partition สักหน่อย

สมมติสถานการณ์เป็นว่าเราเผลอลบไฟล์ใน Flash drive ไปโดยไม่ได้ตั้งใจ สิ่งแรกที่ต้องทำ คือ ตั้งสติดีๆ ไว้ก่อน จากนั้นดำเนินการตามขั้นตอนนี้

1. สร้าง backup image ของ Flash drive ไว้ก่อนด้วยคำสั่ง

sudo dd if=/dev/sdX of=~/backup_image.dd

ซึ่ง sdX หมายถึงตำแหน่ง Flash drive device ของเรา ซึ่งส่วนใหญ่จะเป็น /dev/sdb

2. unmount และถอด Flash drive ออก

3. จัดการนำเอา backup image ที่เตรียมไว้ไปแทนที่ Flash drive (สังเกตว่าคำสั่งข้อนี้เป็นคำสั่งที่ย้อนกลับคำสั่งในข้อ 1)

sudo dd if=~/backup_image.dd of=/dev/sdX

ตรงนี้ sdX จะใส่เป็นอะไรก็ได้ เพื่อความง่ายจะใช้ /dev/sdb เหมือนเดิมก็ไม่มีปัญหา (แต่ต้องแน่ใจว่าไม่มีอุปกรณ์หรือ Partition ใดๆ เป็น /dev/sbd อยู่ในขณะนั้น)

4. ติดตั้งโปรแกรม testdisk

sudo apt-get install testdisk

5. รันคำสั่ง testdisk

sudo testdisk /dev/sdX

sdX ในที่นี้ต้องเหมือนกับที่ใช้ในขั้นตอนที่ 3

6. หน้าต่าง Terminal จะเปลี่ยนเป็นหน้าของโปรแกรม Testdisk ถ้าไม่มีอะไรผิดพลาด โปรแกรมจะแสดงรายละเอียดเบื้องต้นของ Flash drive (หรือจริงๆ แล้วคือ image ของ Flash drive) ของเรา ให้ใช้ลูกศรซ้าย-ขวาเลือก Proceed แล้วกด Enter ต่อไปได้เลย

7. หน้าต่อไปจะเป็นการเลือกชนิดของ Partition table ซึ่ง Testdisk จะ detect ให้อัตโนมัติอยู่แล้ว อย่างในกรณีของ Flash drive ส่วนใหญ่ก็จะเป็น FAT Filesystem ดังนั้นเลือก [Intel] Intel/PC Partition แล้วกด Enter

8. แล้วเราก็จะเข้าสู้ตัวเลือกเครื่องมือ ในขั้นนี้เราจะเลือก [ Advanced ] Filesystem Utils

9. ในหน้านี้ให้เลือก [Undelete] โดยการใช้ลูกศรซ้าย-ขวาเลือกแล้วกด Enter หรือ กดปุ่มอักษร U

10. Testdisk จะแสดงรายการไฟล์ที่อยู่ใน Flash drive โดยไฟล์ที่ถูกลบไปจะเป็นสีแดง และเราสามารถใช้ลูกศรซ้าย-ขวา ในการเข้าไปดูในโฟลเดอร์ได้ (สังเกตรายการที่มี d นำหน้าในคอลัมน์แรกของตาราง)

11. ให้ใช้ลูกศรเลือกไฟล์ที่ต้องการจะกู้คืน แล้วกด C เพื่อคัดลอกไฟล์นั้นมาไว้ที่ Home directory (หรือที่อื่นๆ ตามที่เราจะเลือก) เมื่อกด C แล้วจะขึ้นหน้าให้เราเลือกที่ที่เราจะวางไฟล์ลงไป ค่าตั้งต้นจะคือ Home directory ถ้าพอใจ ก็กด Y

เมื่อคัดลอกเสร็จแล้ว ก็จะมีข้อความบอกว่า “Copy done!” ให้เราออกจาก Testdisk ได้เลย (กดปุ่ม Q ไปเรื่อย จนกลับมาที่ Shell prompt เหมือนเดิม)

ไฟล์ที่คัดลอกเอามาจะย้ายคืนที่เดิมหรือจะไปเก็บในที่ปลอดภัยที่ไหนก็ได้ (แต่ต้องกำหนด permission ให้เราอ่านเขียนไฟล์นั้นได้ก่อน เพราะตอนกู้คืน เราทำโดยใช้สิทธิ์ของ root หมด)

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

ที่มา http://www.linuxconfig.org/data-recovery-of-deleted-files-from-the-fat-filesystem

Leave a comment