كيفية استرداد الملفات المحذوفة على Linux باستخدام testdisk
نشرت: 2022-01-29هل سبق لك أن حذفت ملفًا وندمت على الفور؟ أنت في حاجة إليها ، وبسرعة! ولكن ماذا لو كان الملف جديدًا جدًا ولم يتم نسخه احتياطيًا بعد؟ لحسن الحظ ، هناك شيء يمكنك القيام به حيال ذلك.
rm: اختصار للندم؟
من السهل جدًا استخدام الأمر rm
وتجد نفسك تحدق في نافذة طرفية بشعور عميق بالندم. خطأ واحد صغير مع أحرف البدل ، ويمكنك القضاء على أكثر بكثير مما كنت تنوي.
يستخدم نظام ملفات Linux الافتراضي ، ext4
inodes للاحتفاظ بالبيانات حول كل ملف وجدول inode لتتبع inode. يحتوي inode على بيانات أولية حول الملف ، مثل اسمه ، ومن يملكه ، وما هي الأذونات ، وما إلى ذلك.
يحتوي أيضًا على نقاط دخول إلى الروابط الثابتة التي تشير إلى الملف. يحتوي كل ملف على رابط ثابت واحد على الأقل. في كل مرة تنشئ فيها رابطًا صلبًا جديدًا ، يزداد عدد الروابط الثابتة بمقدار واحد. في كل مرة تقوم فيها بإزالة ارتباط ثابت ، يتم تقليل عدد الروابط الثابتة في inode بمقدار واحد.
عند حذف ملف تم وضع علامة على inode على أنه غير مستخدم (وجاهز لإعادة الاستخدام) ، تتم إزالة الرابط الثابت الأخير. عندما يحدث هذا ، لن يظهر الملف في قوائم الدليل ، ولا يمكن استخدامه أو الوصول إليه.
ومع ذلك ، فإن البيانات التي تكونت محتويات الملف لا تزال موجودة على القرص الصلب. إذا تمكنت من تصحيح inode بحيث يحتوي على المعلومات الصحيحة ، فستتم استعادة الملف. بالطبع ، لن يعمل هذا إلا إذا ظلت البيانات التي يتكون منها الملف الموجود على القرص الصلب سليمة ولم يتم الكتابة فوقها.
بدلاً من ذلك ، يمكنك إنشاء inode جديد ، ونسخ البيانات المتبقية من inode القديم ، ثم استبدال البتات المفقودة.
هذه أنشطة غير بديهية. عادة ، عندما تقوم بحذف ملف عن طريق الخطأ ، يكون ذلك في أسوأ لحظة ممكنة. إنه دائمًا عندما تحتاج إلى هذا الملف ، وأنت بحاجة إليه الآن. ليس لديك وقت للتوقف عن العمل مع محرري القطاعات والمرافق الأخرى. بالإضافة إلى ذلك ، إذا كان ملفًا أنشأته للتو ، فمن المحتمل أنه لم يتم نسخه احتياطيًا حتى الآن ، لذلك لن يساعدك ذلك أيضًا.
هنا يأتي دور testdisk
. إنه سهل الاستخدام ولا يتطلب معرفة تفصيلية منخفضة المستوى بنظام الملفات. دعونا نلقي نظرة على كيفية استخدامه!
ذات صلة: كل ما تريد معرفته عن inodes على Linux
تثبيت testdisk
لتثبيت testdisk
على Ubuntu ، استخدم هذا الأمر:
sudo apt-get install testdisk
في Fedora ، تحتاج إلى كتابة:
sudo dnf تثبيت testdisk
في Manjaro ، عليك استخدام pacman
:
سودو بكمان - قرص اختباري
باستخدام testdisk
على الرغم من أنه يعمل في نافذة طرفية ، إلا أن testdisk
لديه واجهة بدائية. يمكنك استخدام مفاتيح الأسهم للتنقل و Enter لإجراء تحديد. للحفاظ على الأشياء مرتبة ، من الأفضل إنشاء دليل للملفات المستعادة.
نكتب ما يلي لإنشاء دليل يسمى "المستعادة" لملفاتنا المستعادة:
استعادة mkdir
نكتب ما يلي للتبديل إلى الدليل الجديد وبدء testdisk
من هناك:
استعادة القرص المضغوط /
علينا استخدام sudo
مع testdisk
، لذلك نكتب ما يلي:
سودو testdisk
السؤال الأول الذي يطرحه testdisk
هو حول التسجيل. يمكنه إنشاء ملف سجل جديد ، أو استخدام ملف موجود ، أو عدم تسجيل أي شيء على الإطلاق. لا يهم الخيار الذي تختاره ؛ لن يؤثر على طريقة عمل testdisk
.
يمكنك فقط الضغط على Enter لقبول الخيار المميز وإنشاء ملف سجل جديد. سيتم إنشاؤه في الدليل الذي بدأت منه testdisk
. عند تحديد اختيارك ، يسألك testdisk
عن محرك الأقراص الثابتة الذي يحتفظ بنظام الملفات الذي تريد العمل عليه.
يسرد محركات الأقراص الثابتة التي يمكنه العثور عليها ، بالإضافة إلى squashfs
"/ dev / loop" squashfs. سيكون هناك واحد من هؤلاء لكل تطبيق قمت بتثبيته من snap
. إنها للقراءة فقط ، لذا لم يكن من المفترض أن تتمكن من حذف أي شيء من أنظمة الملفات هذه.
يوجد محرك قرص ثابت واحد فقط في هذا الكمبيوتر التجريبي ، لذلك استخدمنا السهم لأسفل لتمييز الخيار "/ dev / sda". ثم استخدمنا السهم الأيمن لتحديد "متابعة" ، ثم ضغطنا على Enter.
يحتاج testdisk
أيضًا إلى معرفة نوع القسم. يقدم قائمة من الخيارات ، جنبًا إلى جنب مع نوع القسم الذي تم اكتشافه تلقائيًا في الجزء السفلي.
ما لم يكن لديك سبب وجيه لعدم القيام بذلك ، قم بتمييز نوع القسم الذي يتم اكتشافه تلقائيًا ، ثم اضغط على Enter.
في قائمة الوظائف التي تظهر ، قم بتمييز "Advanced" ، ثم اضغط على Enter.
ستظهر قائمة اختيار القسم.
الملفات التي نبحث عنها موجودة في قسم نظام ملفات Linux. لدينا قسم Linux واحد فقط على محرك الأقراص الثابتة الخاص بنا ، ولكن قد يكون لديك المزيد.
حدد القسم الذي كانت ملفاتك عليه ، واستخدم مفتاحي الأسهم الأيمن والأيسر لتحديد "قائمة" ، ثم اضغط على Enter. ستظهر قائمة اختيار الملف.
استخدم السهمين لأعلى ولأسفل أو مفتاحي PgUp و PgDn للتنقل في قائمة الملفات والدلائل. اضغط على السهم الأيمن أو Enter لإدخال دليل ، ثم اضغط على السهم الأيسر أو Esc للخروج من دليل.
نحن نبحث عن الملفات التي كان يملكها dave
. توجد ملفات جميع حسابات المستخدمين في دليل "الصفحة الرئيسية". لذلك ، قمنا بتمييز دليل "الصفحة الرئيسية" ، ثم يمكننا الضغط على السهم الأيمن أو مفتاح الإدخال للدخول إلى هذا الدليل.
ثم يتم سرد جميع حسابات المستخدمين بالنسبة لنا. نقوم بتمييز dave
، ثم نضغط على السهم الأيمن أو Enter للدخول إلى هذا الدليل.
يمكننا الآن رؤية الملفات التي تنتمي إلى حساب dave
. تم حذف المدخلات باللون الأحمر. نتنقل عبر الملفات والأدلة حتى نحدد موقع الملفات التي نريد استردادها.
لاستعادة ملف ، ما عليك سوى تمييزه ، ثم الضغط على c (أحرف صغيرة).
يتغير العرض ويخبرك باختيار وجهة للملف المسترد. نظرًا لأننا أنشأنا دليلًا يسمى "مُستعاد" وبدأنا testdisk
منه ، فإن الإدخال الأول في القائمة (.) هو ذلك الدليل. لاستعادة هذا الملف المحذوف إلى هذا الدليل ، نضغط على C (أحرف كبيرة).
بعد القيام بذلك ، يتم إرجاعك إلى عرض تحديد الملف. إذا كنت ترغب في استعادة المزيد من الملفات ، فقط كرر العملية. قم بتمييز ملف محذوف ، واضغط على c (أحرف صغيرة) لنسخه ، ثم اضغط على C (أحرف كبيرة) لاستعادته.
العمل مع الملفات المستعادة
بعد استعادة ملف ، يتم إعادة بناء شجرة الدليل إلى موقعها الأصلي ، وهو أمر مفيد لأنه يذكرك بمكان وجود الملف الأصلي على محرك الأقراص الثابتة. هذا يعني أنك إذا احتجت إلى نسخها مرة أخرى ، فأنت تعرف مكان وضعها.
إذا استعدت عددًا من الملفات من مواقع أنظمة ملفات مختلفة كان لها نفس اسم الملف ، فسيلزم تخزينها بشكل منفصل على أي حال.
يمكنك كتابة ما يلي للاطلاع على محتويات دليل "المستعادة":
ls
إذا طلبت testdisk
إنشاء ملف سجل ، فسيكون موجودًا في دليل "الاستعادة". نظرًا لأن الملفات المستردة كانت موجودة في "/ home / dave" ، فقد تم نسخها إلى دليل "Restored" ، متداخلة في أدلة تحمل نفس الاسم.
يمكننا التغيير إلى مجلد "dave" المنسوخ باستخدام cd
. تأكد من عدم تضمين شرطة مائلة للأمام ( /
) على المسار - فأنت تريد التغيير إلى "المنزل" المحلي ، وليس النظام "/ home".
نكتب ما يلي:
الصفحة الرئيسية / ديف
الملفات المسترجعة موجودة في هذا الدليل ، لذلك نكتب:
ls
دعنا نلقي نظرة أخرى على الملفات المستردة باستخدام الخيار -l
(القائمة الطويلة):
ls -l
نظرًا لأننا استخدمنا sudo
testdisk
، فقد تمت استعادة الملفات المستردة باستخدام "root" كمالك. يمكننا تغيير المالك مرة أخرى إلى "ديف" باستخدام chown
:
sudo chown dave.dave *
نكتب ما يلي للتأكد من استعادة الملكية الصحيحة:
ls -l
testdisk: كود للإغاثة
هذا الشعور بالارتياح بعد استعادتك ملفًا مهمًا شعرت أنه ضاع بشكل غير قابل للاسترداد منذ لحظة واحدة ، هو شيء ستقدره دائمًا.
هذا هو السبب في أن testdisk
هو أداة مفيدة. بعد المرور عبر القوائم والبدء في استعادة الملفات ، من السهل الوقوع في إيقاع التمييز ، ج ، ج ، كرر.
أوامر لينكس | ||
الملفات | tar · pv · cat · tac · chmod · grep · diff _ _ _ _ _ _ _ _ _ _ _ · ذيل · ستات · ls · fstab · صدى · أقل · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · تثبيت · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · تحويل · rclone · shred · srm | |
العمليات | الاسم المستعار · شاشة · أعلى · لطيف · رينييس · تقدم · ستريس · systemd · tmux · chsh · تاريخ · في · دفعة · مجانية · أي · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · نعم · قتل · نوم · sudo · su · time · groupadd · usermod · groups · lshw · shutdown · reboot · halt · poweroff · passwd · lscpu · crontab · date · bg · fg | |
الشبكات | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · حفر · إصبع · nmap · ftp · curl · wget · who · who · w · iptables · ssh-keygen · ufw |
ذات صلة: أفضل أجهزة كمبيوتر Linux المحمولة للمطورين والمتحمسين