شرح تفحص وسائط USB في لينيكس

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

المحتويات:

  1. تفحص أخطاء الوسائط
  2. تفحص أداء الوسائط
  3. تصحيح حجم الوسائط (حالات خاصة جدا)

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

قبل بدء الاختبار تأكد من وصل الذاكرة في الجهاز وتأكد بأنها غير منصبة.

خطوات الاختبار:

1- افتح الطرفية وقم بتنفيذ الأمر التالي:

lsblk

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

لتنفيذ التفحص، يمكنك تنفيذ الامر التالي:

تنبيه: هذا الامر سوف يتسبب في دمار أي بيانات على وسيطة التخزين.

sudo badblocks -w -s -o ~/Desktop/error.log /dev/sdX

تفسير الأمر:

sudo: هذا الأمر مطلوب لطلب صلاحيات عليا حيث أن المستخدم العادي ممنوع من القيام بهذه الخطوة لأنها قد تسبب دمار النظام.

badblocks: هذا اسم البرنامج الذي سيقوم بالعمل

-w: هذا الأمر يطلب من البرنامج كتابة البيانات على الذاكرة خلال الفحص. يمكنك حذف هذا الإختيار لعمل إختبار قراءة فقط. سيكون الاختبار سريع ولكن لن يتم عمل اختبارات دقيقة.

-s: هذا الأمر يُظهر تقدم العملية في الطرفية خلال العمل.

-o: هذا الأمر يطلب من البرنامج عمل ملف بالأخطاء التي عثر عليها.

~/Desktop/error.log: سيتم كتابة الأخطاء في ملف اسمه error.log في سطح المكتب.

/dev/sdX: هذه هي الذاكرة الفلاشية الخاصة بك.

تفحص أداء الوسائط

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

لتثبيت أداة f3 يجب اتباع التعليمات التالية:

1- تثبيت برنامج GNU GCC Compiler و برامج البيئة التطويرية

للتثبيت على Ubuntu واشباهة:

$ sudo apt update$ sudo apt upgrade$ sudo apt install build-essential$ sudo apt-get install manpages-dev man-db manpages-posix-dev$ sudo apt install libx11-dev

للتثبيت على Debian واشباهة:

$ sudo apt-get update
$ sudo apt-get install build-essential
$ sudo apt-get install manpages-dev

للتثبيت على Redhat واشباهة:

$ yum groupinstall "Development tools"
$ yum --setopt=group_package_types=mandatory,default,optional groupinstall "Development Tools"
$ sudo yum install man-pages man-db man

للتثبيت على Arch واشباهة:

$ sudo pacman -Sy base-devel

2- تثبيت أداة f3:

قم بتحميل الأداة من موقع github من خلال الأمر التالي:

$ wget https://github.com/AltraMayor/f3/archive/v7.2.zip

ثم قم بفك الضغط عن الملف والدخول الى المجلد من خلال الأمر التالي:

$ unzip v7.2.zip && cd f3-7.2

ثم قم بتثبيت الاداة من خلال الأمر التالي:

$ make && make extra && sudo make install

تفحص الكتابة على الوسائط:

قبل البدء، يجب توصيل وتنصيب القرص المراد فحصة ومن ثم استخراج مساره من خلال الامر التالي:

ملاحظة: الأمر التالي سوف يتسبب في دمار وضياع أي معلومات موجودة على الوسيطة. تأكد من أن الوسيطة فارغة تماما وأنك اخترت الوسيطة الصحيحة.

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

$ ./f3write /run/media/ahmad/C80F-3D34/

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

3- فحص القراءة من الوسائط

في هذا الفحص سوف نتحقق من نجاح الكتابة بشكل صحيح وبدون اخطاء. يمكنك كتابة الأمر التالي لتنفيذ الاختبار:

$ ./f3read /run/media/ahmad/C80F-3D34/

في حال ان النتيجة كانت جميعها أصفار هذا يعني أن الوسيطة سليمة 100% وليس بها أي خطأ.

4 – تصحيح حجم الوسائط (حالات خاصة جدا)

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

هنا سوف أعرض نتائج فحص الذاكرة التي أملكها وهي سليمة 100%. بالتالي الكلام عن الذاكرة الغير حقيقية سيكون افتراضي ولن أقوم بالتطبيق بشكل حقيقي. لعمل الفحص، قم بتنفيذ الأمر التالي:

أنتبه: هذا الأمر سوف يتسبب في فقدان جميع البيانات الموجودة على الوسيطة بدون أي أمل في استرجاع أي شيء عليها.

$ sudo ./f3probe --destructive --time-ops /dev/sdc

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

Good news: The device `/dev/sdc\’ is the real thing

في حال ظهرت لديك نتيجة اخرى او في حال وجود اختلاف بين “Usable Size” و “Announced Size” يمكنك القيام بالخطوة التالية.

أنتبه: هذا الأمر سوف يتسبب في فقدان جميع البيانات الموجودة على الوسيطة بدون أي أمل في استرجاع أي شيء عليها.

$ sudo ./f3fix --last-sec=000000000 /dev/sdX

قم بإستبدال الأصفار بالرقم الموجود عند “Usable Size” وقم باستبدال حرف X بالحرف الصحيح للوسيطة.