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

Nov 18, 2024
Linux
Fatmawati Achmad Zaenuri / Shutterstock

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

RM: สั้นสำหรับความสำนึกผิด?

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

ระบบไฟล์ linux เริ่มต้น ext4 ใช้ inodes ในการเก็บข้อมูลเกี่ยวกับแต่ละไฟล์และตาราง inode เพื่อติดตามการแทรกแซง INODE มีข้อมูลเมตาเกี่ยวกับไฟล์เช่นชื่อของมันที่เป็นเจ้าของสิ่งที่อนุญาตคืออะไรและอื่น ๆ

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

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

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

หรือคุณสามารถสร้าง Inode ใหม่คัดลอกข้อมูลที่อยู่รอดจาก Inode เก่าแล้วแทนที่บิตที่หายไป

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

นี่ที่ไหน testdisk เข้ามาใช้งานง่ายและไม่ต้องการรายละเอียดความรู้ระดับต่ำของระบบไฟล์ ลองดูวิธีการใช้งาน!

ที่เกี่ยวข้อง: ทุกสิ่งที่คุณอยากรู้เกี่ยวกับ Inodes บน Linux

การติดตั้ง TestDisk

ติดตั้ง testdisk บน Ubuntu ให้ใช้คำสั่งนี้:

 sudo apt-get ติดตั้ง testdisk 

บน Fedora คุณต้องพิมพ์:

 Sudo DNF ติดตั้ง TestDisk 

บน Manjaro คุณต้องใช้ แพคแมน :

 sudo pacman -sy testdisk 

ใช้ TestDisk

แม้ว่ามันจะทำงานในหน้าต่างเทอร์มินัล testdisk มีส่วนต่อประสานพื้นฐาน คุณใช้ปุ่มลูกศรเพื่อนำทางและป้อนเพื่อทำการเลือก เพื่อให้สิ่งที่เรียบร้อยมันเป็นการดีที่สุดที่จะสร้างไดเรกทอรีสำหรับกู้คืนไฟล์

เราพิมพ์ต่อไปนี้เพื่อสร้างไดเรกทอรีที่เรียกว่า "กู้คืน" สำหรับไฟล์ที่กู้คืนของเรา:

 MKDIR คืนค่า 

เราพิมพ์ต่อไปนี้เพื่อสลับไปยังไดเรกทอรีใหม่และเริ่มต้น testdisk จากที่นั่น:

 ซีดีคืนค่า / 

เราต้องใช้ sudo กับ testdisk ดังนั้นเราจึงพิมพ์ต่อไปนี้:

 Sudo TestDisk 

คำถามแรก testdisk ถามเกี่ยวกับการบันทึก สามารถสร้างไฟล์บันทึกใหม่ใช้ที่มีอยู่หรือไม่บันทึกอะไรเลย ไม่สำคัญว่าคุณเลือกตัวเลือกใด มันจะไม่ส่งผลกระทบต่อวิธีการ testdisk ดำเนินการ

คุณสามารถกด Enter เพื่อยอมรับตัวเลือกที่ไฮไลต์และสร้างไฟล์บันทึกใหม่ มันจะถูกสร้างขึ้นในไดเรกทอรีที่คุณเริ่มต้น testdisk . เมื่อคุณทำการเลือกของคุณ testdisk ถามฮาร์ดไดรฟ์แบบใดที่เก็บระบบไฟล์ที่คุณต้องการทำงาน

มันแสดงรายการฮาร์ดไดรฟ์ที่สามารถค้นหาได้เช่นเดียวกับ สควอชฟฟส์ ไฟล์ "/ dev / loop" จะมีหนึ่งในนั้นสำหรับแต่ละแอปพลิเคชันที่คุณติดตั้งจาก ตะครุบ . พวกเขาอ่านอย่างเดียวดังนั้นคุณไม่ควรจัดการเพื่อลบอะไรจากระบบไฟล์เหล่านี้

มีฮาร์ดไดรฟ์จริงเพียงตัวเดียวในคอมพิวเตอร์ทดสอบนี้ดังนั้นเราจึงใช้ลูกศรลงเพื่อเน้นตัวเลือก "/ dev / SDA" จากนั้นเราใช้ลูกศรขวาเพื่อเลือก "ดำเนินการต่อ" แล้วกด ENTER

testdisk จำเป็นต้องรู้ประเภทพาร์ติชัน มันนำเสนอเมนูของตัวเลือกพร้อมกับประเภทของพาร์ติชันที่มีการแก้ไขที่ด้านล่าง

ถ้าคุณไม่มีเหตุผลที่ดีที่จะไม่เน้นประเภทของพาร์ติชันที่มีการแก้ไขอัตโนมัติแล้วกด ENTER

ในเมนูฟังก์ชั่นที่ปรากฏขึ้นให้ไฮไลต์ "ขั้นสูง" แล้วกด ENTER

เมนูการเลือกพาร์ติชันจะปรากฏขึ้น

ไฟล์ที่เรากำลังค้นหาอยู่ในพาร์ติชันระบบไฟล์ Linux เรามีเพียงหนึ่งพาร์ติชัน Linux บนฮาร์ดไดรฟ์ของเรา แต่คุณอาจมีมากขึ้น

เลือกพาร์ติชันไฟล์ของคุณเปิดใช้งานปุ่มลูกศรซ้ายและขวาเพื่อเลือก "รายการ" แล้วกด ENTER เมนูการเลือกไฟล์จะปรากฏขึ้น

ใช้ลูกศรขึ้นและลงหรือปุ่ม PGUP และ PGDN เพื่อนำทางรายการไฟล์และไดเรกทอรี กดลูกศรขวาหรือป้อนเพื่อป้อนไดเรกทอรีและลูกศรซ้ายหรือ ESC เพื่อออกจากไดเรกทอรี

เรากำลังมองหาไฟล์ที่เป็นเจ้าของโดย เดฟ . ไฟล์สำหรับบัญชีผู้ใช้ทั้งหมดอยู่ในไดเรกทอรี "Home" ดังนั้นเราจึงเน้นไดเรกทอรี "หน้าแรก" จากนั้นเราสามารถกดลูกศรขวาหรือป้อนเพื่อป้อนไดเรกทอรีนั้น

บัญชีผู้ใช้ทั้งหมดจะถูกระบุไว้สำหรับเรา เราเน้น เดฟ จากนั้นกดลูกศรขวาหรือป้อนเพื่อป้อนไดเรกทอรีนั้น

ตอนนี้เราสามารถดูไฟล์ที่เป็นของ เดฟ บัญชีผู้ใช้. รายการในสีแดงถูกลบไปแล้ว เรานำทางผ่านไฟล์และไดเรกทอรีจนกว่าเราจะค้นหาไฟล์ที่เราต้องการกู้คืน

ในการกู้คืนไฟล์เพียงไฮไลต์แล้วกด C (ตัวพิมพ์เล็ก)

การเปลี่ยนแปลงจอแสดงผลและบอกให้คุณเลือกปลายทางสำหรับไฟล์ที่กู้คืน เพราะเราสร้างไดเรกทอรีที่เรียกว่า "กู้คืน" และเริ่มต้น testdisk จากรายการแรกในรายการ (.) คือไดเรกทอรีนั้น ในการกู้คืนไฟล์ที่ถูกลบนี้ไปยังไดเรกทอรีนั้นเรากด C (ตัวพิมพ์ใหญ่)

หลังจากที่คุณทำสิ่งนี้คุณจะกลับไปที่การแสดงไฟล์การเลือกไฟล์ หากคุณต้องการกู้คืนไฟล์เพิ่มเติมให้ทำซ้ำขั้นตอน ไฮไลต์ไฟล์ที่ถูกลบให้กด C (ตัวพิมพ์เล็ก) เพื่อคัดลอกแล้วกด C (ตัวพิมพ์ใหญ่) เพื่อกู้คืน

การทำงานกับไฟล์ที่กู้คืน

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

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

คุณสามารถพิมพ์ต่อไปนี้เพื่อดูเนื้อหาของไดเรกทอรี "กู้คืน":

 ls 

ถ้าคุณถาม testdisk ในการสร้างไฟล์บันทึกมันจะอยู่ในไดเรกทอรี "กู้คืน" เนื่องจากไฟล์ที่กู้คืนของเราอยู่ที่ "/ home / Dave" พวกเขาถูกคัดลอกไปยังไดเรกทอรี "กู้คืน" ของเราซ้อนในไดเรกทอรีที่มีชื่อเดียวกัน

เราสามารถเปลี่ยนเป็นไดเรกทอรีที่คัดลอก "Dave" โดยใช้ ซีดี . ตรวจสอบให้แน่ใจว่าคุณไม่ได้รวม Slash ไปข้างหน้าชั้นนำ ( / ) บนเส้นทางที่คุณต้องการเปลี่ยนเป็น "บ้าน" ไม่ใช่ระบบ "/ บ้าน"

เราพิมพ์ต่อไปนี้:

 CD Home / Dave 

ไฟล์ที่กู้คืนอยู่ในไดเรกทอรีนั้นดังนั้นเราจึงพิมพ์:

 ls 

ลองดูอีกครั้งที่ไฟล์ที่กู้คืนโดยใช้ -l (รายชื่อยาว) ตัวเลือก:

ls -l

เพราะเราใช้ sudo ที่จะเปิดตัว testdisk ไฟล์ที่กู้คืนได้รับการกู้คืนด้วย "root" ในฐานะเจ้าของ เราสามารถเปลี่ยนเจ้าของกลับไปที่ "Dave" โดยใช้ ช้าง :

 Sudo Chown Dave.dave * 

เราพิมพ์ต่อไปนี้เพื่อให้แน่ใจว่าการเป็นเจ้าของที่ถูกต้องได้รับการกู้คืนแล้ว:

 ls -l 

TestDisk: รหัสสำหรับการผ่อนปรน

ความรู้สึกโล่งอกหลังจากที่คุณกู้คืนไฟล์สำคัญที่เมื่อไม่นานมานี้รู้สึกว่าหายไปอย่างแก้ไขไม่ได้คือสิ่งที่คุณจะได้ชื่นชมเสมอ

นั่นคือเหตุผล testdisk เป็นยูทิลิตี้ที่มีประโยชน์เช่นนี้ หลังจากที่คุณทำผ่านเมนูและสามารถเริ่มการกู้คืนไฟล์ได้ง่ายที่จะตกอยู่ในจังหวะของไฮไลท์, C, C, ทำซ้ำ


Linux - บทความยอดนิยม

วิธีการค้นหาและลบ Symlink ที่เสียหายบน Linux

Linux Nov 12, 2024

Fatmawati Achmad Zaenuri / Shutterstock ลิงค์สัญลักษณ์บน Linux เป็นคุณสมบัติที่ยอดเ�..


วิธีการล็อค Mac ของคุณโดยใช้เทอร์

Linux Feb 16, 2025

หนึ่งในกฎแรกของความปลอดภัยทางไซเบอร์คือการล็อคคอมพิวเตอร์ของคุ..


วิธีการใช้รหัสผ่านที่เข้ารหัสในสคริปต์ทุบตี

Linux Jun 30, 2025

Fatmawati Achmad Zaenuri / Shutterstock.com หากคุณถูกบังคับให้ใช้สคริปต์ Linux เพื่อเชื..


คืออะไรป๊อป! _OS?

Linux Oct 20, 2025

หากคุณเคยได้ยินเกี่ยวกับ Pop! _OS คุณอาจได้เห็นผู้คนมักจะหมายถึงว..


คุณติดตั้ง Linux บน M1 Apple Silicon Mac ได้หรือไม่

Linux Nov 12, 2024

ทุกคนไม่ได้ซื้อ Mac เพื่อ MacOS ทำงาน แต่เพียงผู้เดียว ข่าวร้ายก็คือว่า�..


วิธีการอัปเดต Fedora Linux

Linux Nov 10, 2024

ดังนั้นในที่สุดคุณก็ดาวน์โหลดและติดตั้ง Fedora Linux แต่ตอนนี้คุณอาจสงสั..


วิธีเพิ่มผู้ใช้ในไฟล์ sudoers ใน Linux

Linux Oct 30, 2025

ถ้า Sudo คำสั่งบน Linux ทำให้คุณได้รับข้อความว่าผู้ใช้“ ไม่ได้อยู่ในไฟ..


วิธีแสดงรายการบริการ Linux ด้วย SystemCTL

Linux Oct 18, 2025

คอมพิวเตอร์ Linux ของคุณอาศัยงานพื้นหลังจำนวนมากที่เรียกว่าบริการหรือ..


หมวดหมู่