استعادة البيانات على Linux باستخدام ddrescue

Ast Adt Albyanat Ly Linux Bastkhdam Ddrescue



ddrescue هي أداة تستخدم لاستعادة البيانات من ملف أو جهاز كتلة مثل محرك الأقراص الثابتة ومحركات أقراص SSD وأقراص RAM والأقراص المضغوطة وأقراص DVD وأجهزة تخزين USB. يقوم بنسخ البيانات من جهاز كتلة إلى آخر، تاركًا كتل البيانات التالفة وينقل فقط الكتل الجيدة. إن ddrescue عبارة عن أداة استرداد قوية مؤتمتة بالكامل لأنها لا تتطلب أي تدخل أثناء عملية الاسترداد. علاوة على ذلك، يمكن إيقافه واستئنافه في أي وقت بفضل ملف خريطة ddrescue . الميزات الرئيسية الأخرى لـ ddrescue مذكورة أدناه:
  • لا يقوم بالكتابة فوق البيانات المستردة ولكنه يملأ الفجوات في حالة الاسترداد المتكرر. ومع ذلك، يمكن اقتطاعها إذا تم توجيه الأداة للقيام بذلك بشكل صريح.
  • استعادة البيانات إلى ملف واحد من ملفات أو كتل متعددة.
  • يدعم أنواعًا متعددة من واجهات الأجهزة مثل SATA وATA وSCSI ومحركات MFM والأقراص المرنة وبطاقات SD.

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

ملحوظة: أنا أستخدم توزيعة Linux (Ubuntu 22.04) للحصول على الإرشادات الواردة في هذا الدليل. قد تختلف عملية تثبيت الأداة المساعدة ddrescue، لكن التعليمات ستكون نفسها عبر جميع توزيعات Linux.







تثبيت ddrescue

لتثبيت ddrescue على Linux، على وجه الخصوص أوبونتو ونكهاتها أو مبني على دبيان التوزيعات، استخدم:



sudo ملائم ثَبَّتَ com.gddrescue

لتثبيته على ريهل , فيدورا ، و سينت أو إس ، قم أولاً بتمكين دافيء (حزم إضافية لنظام التشغيل Enterprise Linux).



sudo يم تثبيت إطلاق دافئ

الأمر أعلاه مخصص للإصدارات الأحدث من التوزيع المعني.





ثم قم بتنفيذ الأمر التالي لتثبيت ddrescue:

sudo يم تثبيت com.ddrescue

بالنسبة لتوزيعات Linux المستندة إلى Arch مثل آرتش لينكس و مانجارو ، استخدم الأمر الموضح أدناه لتثبيت أداة الاسترداد ddrescue.



sudo بكمن com.ddrescue

وبما أنني أستخدم Ubuntu 22.04، فسوف أستخدم مدير حزم APT لتثبيته.

فهم الأساسيات

قبل استخدام أداة ddrescue لاستعادة البيانات، أوصي المستخدمين الجدد في عملية الاسترداد بفهم بعض اصطلاحات التسمية في Linux.

يتعرف Linux على الكتل (الأجهزة) كملفات ويضعها في ملف /dev الدليل. لسرد الملفات الموجودة في الدليل /dev، استخدم الملف ليرة سورية / ديف يأمر.

ال محركات الأقراص الصلبة (كتل التخزين) ممثلة بـ SD تليها الحروف الهجائية. في حالة وجود أجهزة تخزين متعددة، سيتم تمثيل الملفات كـ /dev/sd أ، /dev/sd ب، وما إلى ذلك وهلم جرا.

إذا كان جهاز التخزين لديه أقسام ، فسيتم تمثيلهم برقم يحمل اسم ملف محرك الأقراص المعني، مثل /dev/sda 1 , /dev/sda 2 ، وما إلى ذلك وهلم جرا.

لسرد جميع الكتل والأجهزة الأخرى المتصلة بالنظام، استخدم كتلة القائمة lsblk يأمر:

lsblk

يمكن للأمر ddrescue استرداد الكتلة بأكملها (التي تحتوي على MBR والأقسام) أو القسم أيضًا. من ناحية أخرى، إذا كنت بحاجة إلى استرداد ملفات محددة فقط من قسم معين، فمن الأفضل استرداد القسم بدلاً من الكتلة بأكملها.

اعتبارات هامة

قبل استخدام الأداة المساعدة ddrescue، يجب مراعاة بعض النقاط الأساسية:

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

باستخدام ddrescue

بعد تثبيت الأداة المساعدة ddrescue وفهم اصطلاحات التسمية، فإن الخطوة التالية هي تحديد القرص الفاشل واستعادته باستخدام أداة ddrescue.

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

سيشمل المثال الأول عملية استرداد الكتلة بأكملها. أولاً، قم بإدراج الكتل باستخدام lsblk يأمر:

lsblk -O الاسم والحجم وFSTYPE

ال -O تُستخدم العلامة لتحديد نوع المعلومات (الحقول) التي يجب أن يخرجها الأمر. لقد ذكرت اسم , مقاس ، و FSTYPE أو نوع نظام الملفات

يمكنك الآن تحديد الكتلة المستهدفة والقسم والموقع لحفظ ملف الصورة الذي تم إنقاذه.

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

الآن، استخدم بناء الجملة التالي لإنقاذ الكتلة كملف صورة مع ملف سجل في الدليل الجذر.

sudo com.ddrescue -rX / ديف / [ حاجز ] [ طريق / اسم ] .img [ ملف السجل_اسم ] .سجل

ملحوظة: يستبدل [حاجز] , [المسار/الاسم] من ملف الصورة، و [اسم ملف السجل] مع الأسماء المفضلة وفقا لذلك.

في هذا المثال، أقوم باستعادة /dev/sda في الدليل الجذر مع اسم ملف الصورة Recovery.img . يعد ملف السجل المعروف أيضًا باسم ملف الخريطة ضروريًا إذا كنت تريد استئناف عملية الاسترداد في أي وقت.

sudo com.ddrescue -r2 / ديف / sda2 Recovery.img Recovery.log

يتم استخدام علامتين مهمتين في الأمر أعلاه.

د -غير مباشر يتم استخدامه لإخبار الأداة بالوصول مباشرة إلى القرص متجاهلاً ذاكرة التخزين المؤقت للنواة
rX – إعادة المحاولة يُستخدم لإخبار الأداة بإعادة محاولة القطاع السيئ عدد X من المرات

عند تنفيذ الأمر أعلاه، ستلاحظ ظهور ملفين في متصفح الملفات بالأسماء Recovery.img و Recovery.log .

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

ويرد أدناه إخراج الأمر أعلاه:

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

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

ال مدة العرض يوضح الوقت الذي استغرقته الأداة لإكمال العملية، بينما الوقت المتبقي هو الوقت المتبقي لإكمال عملية الاسترداد. يُظهر الإخراج أعلاه الوقت المتبقي 0 لأن العملية قد انتهت، اقرأ الإخراج في الصورة التالية لعملية غير مكتملة.

دعونا نرى ما نحصل عليه في ملف السجل؛ لفتح ملف السجل الذي تم إنشاؤه، استخدم ملف vim Recovery.log يأمر.

ال الحالة الحالية هو + مما يعني أن العملية قد انتهت، في حين أن current_pos هو الموقف على الكتلة.

وترد قائمة بالحالات الحالية في الجدول التالي:

؟ النسخ
* زركشة
/ الغاء
- إعادة المحاولة
F ملء الكتل المحددة
ز توليد ملف السجل
+ انتهت العملية

أسفل هذا، يحتوي ملف السجل على مؤشرات حالة للكتل التي تم إنقاذها مسبقًا في شكل أحرف مدرجة أدناه:

؟ لم تتم تجربة الكتلة
* الكتلة الفاشلة غير المقطوعة
/ الكتلة الفاشلة غير الملغاة
- كتلة القطاع السيئ فشلت
+ كتلة الانتهاء

استعادة ملف الصورة إلى كتلة جديدة

بمجرد الانتهاء من عملية الاسترداد والحصول على ملف الصورة. قد ترغب الآن في نقله إلى محرك الأقراص الجديد من محرك أقراص تالف. لنقل ملف الصورة إلى كتلة جديدة، قم أولاً بتوصيل تلك الكتلة بالنظام ثم حدد اسم الكتلة باستخدام lsblk يأمر.

لنفترض أنه كذلك /dev/sdb استخدم الأمر التالي لنسخ الصورة إلى كتلة جديدة.

sudo com.ddrescue -F Recovery.img / ديف / sdb ملف السجل.log

ال -F يتم استخدام العلامة للكتابة فوق الكتلة الجديدة في حالة وجود أي بيانات. ضع في اعتبارك أن اسم ملف السجل يجب أن يكون مختلفًا لإبقائه منفصلاً عن ملف السجل المخزن مسبقًا.

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

sudo د لو =recovery.img ل = / ديف / sdb

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

إذا كان ملف الصورة المسترد يعرض الكثير من الأخطاء، فيمكن إصلاحها باستخدام fsck الأمر على Linux إلى حد ما. أثناء استخدامك لنظام التشغيل Windows، يمكنك الاستفادة من CHKDSK أو SFC أوامر للقيام بذلك. ومع ذلك، يعتمد الاسترداد على عدد الأخطاء التي أنشأها الملف التالف.

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

استعادة كتلة إلى كتلة أخرى

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

بعد تحديد الكتلة المصدر وكتلة الوجهة، استخدم الأمر التالي لاستعادة الكتلة:

sudo com.ddrescue -F -r2 / ديف / [ مصدر ] / ديف / [ وجهة ] Backup.log

لنفرض /dev/sdb هي كتلة الوجهة، لذلك لنسخ /dev/sda الدليل لاستخدام الكتلة الجديدة:

sudo com.ddrescue -F -r2 / ديف / sda / ديف / sdb Backup.log

مرة أخرى، راجع الاعتبارات الهامة المذكورة في الأقسام السابقة قبل محاولة هذه العملية.

استعادة بيانات محددة من ملفات الصور المستردة

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

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

mkdir RecoveryMount

بعد ذلك، قم بتحميل ملف الصورة باستخدام:

sudo تتعدد -O حلقة Recovery.img ~ / RecoveryMount

تشير العلامة -o إلى الخيارات، بينما يتم استخدام خيار الحلقة لمعالجة ملف الصورة كجهاز كتلة.

يمكنك الآن الوصول إلى محتويات ملف الصورة، كما هو موضح في لقطة الشاشة التالية.

لإلغاء تحميل الكتلة، استخدم umount يأمر.

sudo umount ~ / RecoveryMount

الخيارات المتقدمة

لبدء عملية الاسترداد من نقطة معينة، استخدم -أنا العلم أو -موضع الإدخال . يجب أن يكون بالبايت، افتراضيًا 0 بايت. وهذا مهم لاستئناف النسخ من نقطة معينة. على سبيل المثال، إذا كنت تريد بدء عملية النسخ من نقطة 10 غيغابايت، فاستخدم الأمر التالي.

sudo com.ddrescue -i10GiB / ديف / sda imagefile.img logfile.log

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

sudo com.ddrescue -s10 جيجا بايت / ديف / sda imagefile.img logfile.log

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

sudo com.ddrescue --بسأل / ديف / sda imagefile.img logfile.log

علاوة على ذلك، تم ذكر قائمة ببعض الخيارات الأخرى أدناه:

-يعكس لعكس اتجاه النسخ
-تمامًا لمنع كافة رسائل الإخراج
-في -مطول للتفصيل، جميع رسائل الإخراج
-التخصيص المسبق لتخصيص مساحة تخزين لملف الإخراج مسبقًا
– معاينة البيانات عرض أسطر أحدث البيانات المقروءة بشكل افتراضي هو 3 أسطر

كيف يعمل برنامج ddrescue

يستخدم ddrescue خوارزمية استرداد قوية تنقسم إلى أربع مراحل:

1. النسخ

2. التشذيب

3. القشط

4. إعادة المحاولة

يظهر تنفيذ خوارزمية ddrescue في الصورة التالية.

خاتمة

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