كيفية استرداد الملفات المحذوفة على Linux باستخدام testdisk

هل سبق لك أن حذفت ملفًا وندمت عليه على الفور؟ أنت في حاجة إليها مرة أخرى ، وبسرعة! ولكن ماذا لو كان الملف جديدًا جدًا ولم يتم نسخه احتياطيًا بعد؟ لحسن الحظ ، هناك شيء يمكنك القيام به حيال ذلك.

rm: اختصار للندم؟

من السهل جدًا استخدام الأمر rm وتجد نفسك تحدق في نافذة طرفية بشعور عميق بالندم. خطأ واحد صغير مع أحرف البدل ، ويمكنك القضاء على أكثر بكثير مما كنت تنوي.

يستخدم نظام ملفات Linux الافتراضي ، ext4 inodes للاحتفاظ بالبيانات حول كل ملف وجدول inode لتتبع inode. يحتوي inode على بيانات أولية حول الملف ، مثل اسمه ، ومن يملكه ، وما هي الأذونات ، وما إلى ذلك.

يحتوي أيضًا على نقاط دخول إلى الروابط الثابتة التي تشير إلى الملف. يحتوي كل ملف على رابط ثابت واحد على الأقل. في كل مرة تنشئ فيها رابطًا صلبًا جديدًا ، يزداد عدد الروابط الثابتة بمقدار واحد. في كل مرة تقوم فيها بإزالة ارتباط ثابت ، يتم تقليل عدد الروابط الثابتة في inode بمقدار واحد.

عند حذف ملف تم وضع علامة على inode على أنه غير مستخدم (وجاهز لإعادة الاستخدام) ، تتم إزالة الرابط الثابت الأخير. عندما يحدث هذا ، لن يظهر الملف في قوائم الدليل ، ولا يمكن استخدامه أو الوصول إليه.

ومع ذلك ، فإن البيانات التي تكونت محتويات الملف لا تزال موجودة على القرص الصلب. إذا تمكنت من تصحيح inode بحيث يحتوي على المعلومات الصحيحة ، فستتم استعادة الملف. بالطبع ، لن يعمل هذا إلا إذا ظلت البيانات التي يتكون منها الملف الموجود على القرص الصلب سليمة ولم يتم الكتابة فوقها.

بدلاً من ذلك ، يمكنك إنشاء inode جديد ، ونسخ البيانات المتبقية من inode القديم ، ثم استبدال البتات المفقودة.

هذه أنشطة غير بديهية. عادة ، عندما تقوم بحذف ملف عن طريق الخطأ ، يكون ذلك في أسوأ لحظة ممكنة. إنه دائمًا عندما تحتاج إلى هذا الملف ، وأنت بحاجة إليه الآن. ليس لديك وقت للتوقف عن العمل مع محرري القطاعات والمرافق الأخرى. بالإضافة إلى ذلك ، إذا كان ملفًا أنشأته للتو ، فمن المحتمل أنه لم يتم نسخه احتياطيًا حتى الآن ، لذلك لن يساعدك ذلك أيضًا.

  كيفية تثبيت Arch Linux

هنا يأتي دور testdisk. إنه سهل الاستخدام ولا يتطلب معرفة تفصيلية منخفضة المستوى بنظام الملفات. دعونا نلقي نظرة على كيفية استخدامه!

تثبيت testdisk

لتثبيت testdisk على Ubuntu ، استخدم هذا الأمر:

sudo apt-get install testdisk

في Fedora ، تحتاج إلى كتابة:

sudo dnf install testdisk

في Manjaro ، عليك استخدام Pacman:

sudo pacman -Sy testdisk

باستخدام testdisk

على الرغم من أنه يعمل في نافذة طرفية ، إلا أن testdisk لديه واجهة بدائية. يمكنك استخدام مفاتيح الأسهم للتنقل و Enter لإجراء تحديد. للحفاظ على الأشياء مرتبة ، من الأفضل إنشاء دليل للملفات المستعادة.

نكتب ما يلي لإنشاء دليل يسمى “المستعادة” لملفاتنا المستعادة:

mkdir restored

نكتب ما يلي للتبديل إلى الدليل الجديد وبدء اختبار القرص من هناك:

cd restored/

علينا استخدام sudo مع testdisk ، لذلك نكتب ما يلي:

sudo testdisk

السؤال الأول الذي يطرحه testdisk هو حول التسجيل. يمكنه إنشاء ملف سجل جديد ، أو استخدام ملف موجود ، أو عدم تسجيل أي شيء على الإطلاق. لا يهم الخيار الذي تختاره ؛ لن يؤثر على طريقة عمل قرص الاختبار.

يمكنك فقط الضغط على Enter لقبول الخيار المميز وإنشاء ملف سجل جديد. سيتم إنشاؤه في الدليل الذي بدأت منه قرص الاختبار. عند تحديد اختيارك ، يسألك testdisk عن محرك الأقراص الثابتة الذي يحتفظ بنظام الملفات الذي تريد العمل عليه.

يسرد محركات الأقراص الثابتة التي يمكنه العثور عليها ، بالإضافة إلى ملفات “/ dev / loop” squashfs. سيكون هناك واحد من هؤلاء لكل تطبيق قمت بتثبيته من لحظة. إنها للقراءة فقط ، لذا لم يكن من المفترض أن تتمكن من حذف أي شيء من أنظمة الملفات هذه.

يوجد محرك قرص ثابت واحد فقط في هذا الكمبيوتر التجريبي ، لذلك استخدمنا السهم لأسفل لتمييز الخيار “/ dev / sda”. ثم استخدمنا السهم الأيمن لتحديد “متابعة” ، ثم ضغطنا على Enter.

يحتاج testdisk أيضًا إلى معرفة نوع القسم. يقدم قائمة من الخيارات ، جنبًا إلى جنب مع نوع القسم الذي تم اكتشافه تلقائيًا في الجزء السفلي.

  كيفية نقل دليل Linux الرئيسي الخاص بك إلى محرك أقراص آخر

ما لم يكن لديك سبب وجيه لعدم القيام بذلك ، قم بتمييز نوع القسم الذي يتم اكتشافه تلقائيًا ، ثم اضغط على Enter.

في قائمة الوظائف التي تظهر ، قم بتمييز “Advanced” ، ثم اضغط على Enter.

ستظهر قائمة اختيار القسم.

الملفات التي نبحث عنها موجودة في قسم نظام ملفات Linux. لدينا قسم Linux واحد فقط على محرك الأقراص الثابتة الخاص بنا ، ولكن قد يكون لديك المزيد.

حدد القسم الذي كانت ملفاتك عليه ، واستخدم مفتاحي الأسهم الأيمن والأيسر لتحديد “قائمة” ، ثم اضغط على Enter. ستظهر قائمة اختيار الملف.

استخدم السهمين لأعلى ولأسفل أو مفتاحي PgUp و PgDn للتنقل في قائمة الملفات والدلائل. اضغط على السهم الأيمن أو Enter لإدخال دليل ، ثم اضغط على السهم الأيسر أو Esc للخروج من دليل.

نحن نبحث عن الملفات التي كان يملكها ديف. توجد ملفات جميع حسابات المستخدمين في دليل “الصفحة الرئيسية”. لذلك ، قمنا بتمييز دليل “الصفحة الرئيسية” ، ثم يمكننا الضغط على السهم الأيمن أو مفتاح الإدخال للدخول إلى هذا الدليل.

ثم يتم سرد جميع حسابات المستخدمين بالنسبة لنا. نقوم بتمييز dave ، ثم نضغط على السهم الأيمن أو Enter للدخول إلى هذا الدليل.

يمكننا الآن رؤية الملفات التي تنتمي إلى حساب ديف. تم حذف المدخلات باللون الأحمر. نتنقل عبر الملفات والأدلة حتى نحدد موقع الملفات التي نريد استردادها.

لاستعادة ملف ، ما عليك سوى تمييزه ، ثم الضغط على c (أحرف صغيرة).

يتغير العرض ويخبرك باختيار وجهة للملف المسترد. نظرًا لأننا أنشأنا دليلًا يسمى “مُستعاد” وبدأنا اختبار القرص منه ، فإن الإدخال الأول في القائمة (.) هو ذلك الدليل. لاستعادة هذا الملف المحذوف إلى هذا الدليل ، نضغط على C (أحرف كبيرة).

بعد القيام بذلك ، يتم إرجاعك إلى عرض تحديد الملف. إذا كنت ترغب في استعادة المزيد من الملفات ، فقط كرر العملية. قم بتمييز ملف محذوف ، واضغط على c (أحرف صغيرة) لنسخه ، ثم اضغط على C (أحرف كبيرة) لاستعادته.

العمل مع الملفات المستعادة

بعد استعادة ملف ، يتم إعادة بناء شجرة الدليل إلى موقعها الأصلي ، وهو أمر مفيد لأنه يذكرك بمكان وجود الملف الأصلي على محرك الأقراص الثابتة. هذا يعني أنك إذا احتجت إلى نسخها مرة أخرى ، فأنت تعرف مكان وضعها.

  كيفية تثبيت Pgadmin على نظام Linux

إذا استعدت عددًا من الملفات من مواقع أنظمة ملفات مختلفة كان لها نفس اسم الملف ، فسيلزم تخزينها بشكل منفصل على أي حال.

يمكنك كتابة ما يلي للاطلاع على محتويات دليل “المستعادة”:

ls

إذا طلبت testdisk إنشاء ملف سجل ، فسيكون موجودًا في دليل “الاستعادة”. نظرًا لأن الملفات المستردة كانت موجودة في “/ home / dave” ، فقد تم نسخها إلى دليل “Restored” ، متداخلة في أدلة تحمل نفس الاسم.

يمكننا التغيير إلى مجلد “dave” المنسوخ باستخدام القرص المضغوط. تأكد من عدم تضمين شرطة مائلة للأمام (/) على المسار – فأنت تريد التغيير إلى “المنزل” المحلي ، وليس النظام “/ home”.

نكتب ما يلي:

cd home/dave

الملفات المسترجعة موجودة في هذا الدليل ، لذلك نكتب:

ls

دعنا نلقي نظرة أخرى على الملفات المستردة باستخدام الخيار -l (القائمة الطويلة):

ls -l

نظرًا لأننا استخدمنا sudo لتشغيل قرص الاختبار ، فقد تمت استعادة الملفات المستردة باستخدام “root” كمالك. يمكننا تغيير المالك مرة أخرى إلى “ديف” باستخدام chown:

sudo chown dave.dave *

نكتب ما يلي للتأكد من استعادة الملكية الصحيحة:

ls -l

testdisk: كود للإغاثة

هذا الشعور بالارتياح بعد استعادتك ملفًا مهمًا شعرت أنه ضاع بشكل غير قابل للاسترداد منذ لحظة واحدة ، هو شيء ستقدره دائمًا.

هذا هو السبب في أن testdisk هو أداة سهلة الاستخدام. بعد أن تمر عبر القوائم ويمكنك البدء في استعادة الملفات ، من السهل الوقوع في إيقاع التمييز ، ج ، ج ، كرر.