كيفية إصلاح الكتل السيئة على لينكس



جرب أداة القضاء على المشاكل

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



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



الطريقة الأولى: التحقق من بيانات SMART

من السهل تصديق أن هذه القطاعات السيئة هي مجرد خطأ برمجي ، ولكن هناك طريقة للتحقق لمعرفة ما إذا كان الأمر كذلك. باستخدام بيانات SMART ، من السهل فحص البرامج الثابتة الخاصة بالقرص والتأكد من ذلك. افتح GNOME Disks Utility من Dash in Unity ، أو قائمة Whisker في Xfce4 ، أو قائمة الملحقات في LXDE أو من قائمة تطبيقات GNOME في KDE. يمكنك أيضًا بدء تشغيله عن طريق كتابة أقراص جنوم في الجهاز والضغط على مفتاح الإدخال. انقر فوق القائمة الموجودة بجانب عناصر التحكم في النافذة اليمنى بعد تمييز القرص الثابت باستخدام المؤشر في العمود الأيسر. في معظم تثبيتات GNU / Linux ، ستكون الأداة المساعدة للأقراص افتراضيًا على القرص الثابت الأساسي.



حدد SMART Data & Self-Tests من القائمة. يمكنك أيضًا الضغط على CTRL ودفع S لفتح هذه النافذة. سيُظهر لك هذا الوضع الصحي الحالي لمحرك الأقراص الخاص بك. إذا كانت القيم فارغة ، فانقر فوق الزر بدء الاختبار الذاتي لإجبار القرص على إجراء فحص ذاتي. سيخبرك سطر التقييم العام في الجزء العلوي بما تعتقده GNOME Disks Utility عن محرك الأقراص الخاص بك.

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



الطريقة 2: التحقق من وجود Superblock الصحيح

في بعض الأحيان قد تجد أن بيانات SMART أظهرت كل شيء بالترتيب ، ولكن ربما تكون قد تلقيت خطأ 'Bad Superblock' من بعض أدوات القرص المساعدة. إذا كنت تعمل باستخدام بطاقات SD أو بطاقات ذاكرة USB أو ذاكرة أخرى من هذا القبيل ، فلن تتمكن من قراءة بيانات SMART ومع ذلك قد تظل بعض الأخطاء. قد يكون هذا جيدًا مشكلة في البرامج. ضع في اعتبارك مسألة تشغيل أمر مثل:

fsck.ext4 / dev / sda

يشير هذا على الأرجح إلى أن لديك كتلة سوبيربلوك سيئة ، والتي تشير إلى الكتلة الرئيسية في نظام الملفات الخاص بك. هذا هو نتيجة خطأ CLI ، وليس كتلة تالفة حقيقية. نظرًا لأن / dev / sdb يشير إلى محرك أقراص وليس تماثلًا ، فإن أمر fsck سيبحث عن superblock حيث لا يوجد واحد ويعتقد بشكل غير صحيح أن هناك خطأ ما. لحسن الحظ ، لم يكن هذا أمرًا مدمرًا. يركض:

sudo fsck.ext4 / dev / sda1

قد يخبرك الآن أن نظام الملفات الخاص بك نظيف. تأكد من أن الرقم الذي يأتي بعد تحويلة يطابق إصدار ملحق وحدة التخزين الخاصة بك.

قد تحصل أيضًا على هذا الخطأ إذا كنت تريد تشغيل ext2 / 3/4 fsck على وحدة تخزين FAT12 / 16/32 أو NTFS أو HFS / HFS +. يتم الخلط بين مدقق التناسق ويعتقد أن هناك شيئًا ما منحرفًا ، في حين أن نوع بنية الملف في الواقع لا يتطابق مع ما هو متوقع. قم بتشغيل fsck.vfat أو dosfsck على وحدات تخزين FAT بغض النظر عن إصدار البت الذي تستخدمه. يمكنك استخدام مفتاح -t بعد dosfsck أو fsck.vfat (fsck.msdos في بعض إصدارات Linux) لتمييز المجموعات غير القابلة للقراءة على أنها كتل تالفة.

الطريقة الثالثة: التحقق من وجود كتل تالفة على وحدات تخزين NTFS

بافتراض أنك تقوم بتشغيل نظامي التشغيل Microsoft Windows و Linux ولديك أخطاء Superblock أو أخطاء أخرى تالفة في القطاع على وحدة تخزين NTFS ، ثم أعد تشغيل Windows ومن سطر الأوامر ، قم بتشغيل chkdsk / rc: ، واستبدل c: بحرف محرك الأقراص الخاص بـ حجم NTFS في السؤال. من المرجح أن يقوم Windows بإعادة التشغيل لإكمال فحص السطح. قد يستغرق هذا بعض الوقت ، لذلك إذا بدا أن نظام التشغيل لديك لا يستجيب ، فهذا يرجع فقط إلى طول الفترة الزمنية المعنية. إذا تلقيت خطأ بشأن عدم امتلاك الامتيازات الصحيحة ، فانقر بزر الماوس الأيمن فوق موجه الأوامر في قائمة ابدأ وحدد تشغيل كمسؤول قبل المتابعة.

إذا كنت تعمل مع وحدة تخزين NTFS على نظام Linux حصريًا ، فلن يكون لديك الكثير من الملاذ ، ولكن إذا كان خطأ الحظر السيئ ناتجًا عن عدم تطابق في النوع ، فلديك طريقة لتصحيحه. قم بتشغيل sudo ntfsfix / dev / sdb1 ، مع استبدال الحرف والرقم بعد / dev / sd بمعرّف الجهاز والقسم الصحيحين. تذكر أنه يمكنك دائمًا تشغيل sudo fdisk-l أو العودة إلى أداة GNOME Disks Utility إذا كانت مثبتة للتحقق من أسماء كل وحدة تخزين متصلة بنظامك. يمكنك تشغيله كـ sudo ntfsfix -d / dev / sdb1 إذا كنت متأكدًا من رغبتك في مسح الجزء المتسخ.

إذا كنت متأكدًا من أن وحدة تخزين NTFS تحتوي على كتل سيئة ناعمة ليست بسبب هندسة الأجهزة المادية ، مثل عندما تنسخ قرصًا قديمًا به قطاعات تالفة إلى وحدة تخزين جديدة ، فقم بتشغيل sudo ntfsfix -bd / dev / sdb1 على أي شيء الحجم الذي تريده. هذا يعيد تعيين قائمة علامات الحظر التالفة.

الطريقة الرابعة: استخدام أداة badblocks Linux المساعدة

بعد التمهيد في إصدار ISO Linux مباشر أو العثور على طريقة أخرى لإلغاء تحميل نظام ملفات ext2 أو ext3 أو ext4 ، يمكنك بالفعل تشغيل sudo fsck.ext4 -c / dev / sda1 لإجراء مسح للقراءة فقط للكتل السيئة. بطبيعة الحال سوف تحتاج إلى استخدام معرف وحدة التخزين الصحيح بعد / dev / sd ورقم إصدار ext الصحيح بعد fsck.ext لتشغيله بشكل صحيح. إذا حددت بدلاً من ذلك -cc ، فسيستخدم البرنامج اختبار قراءة وكتابة أكثر شمولاً غير إتلافي.

هذه هي الطريقة المعتادة لاستخدام الأداة المساعدة badblocks ، ولكن يمكنك استخدامها تقنيًا أيضًا. قم بتشغيل sudo badblocks -n على اسم الجهاز لتشغيله بنفسه والإبلاغ عن الكتل السيئة في جهازك. يمكنك استخدام الخيار -w لاستخدام اختبار وضع الكتابة ، ولكن لا تستخدم الخيارين -n و -w معًا لأنهما يستبعدان بعضهما البعض. يجب ألا تستخدم مطلقًا الخيار -w تحت أي ظرف من الظروف على وحدة تخزين بها بيانات ، حيث سيؤدي ذلك إلى مسح كل شيء نظيفًا. استخدم الخيار أبطأ -n لأنه سيحافظ على بياناتك في هذه الحالة. الخيار -w مناسب للأحجام التي لا تمانع في محوها. يمكن دمج الخيار -v مع أيٍّ منهما ، وسيمنح الجهاز الطرفي بعض المخرجات المطولة المفيدة لفحص تلف البيانات. يمكنك دائمًا استخدام الخيار -o مع اسم ملف نصي لكتابة المعلومات حتى تتمكن من الاطلاع عليها لاحقًا. قد ترغب في تشغيله كـ sudo badblocks -nv -o badblocks.log / dev / sdb1 للحصول على لقطة ، حيث سترى الكثير من المعلومات إذا كانت هناك كتل سيئة حقيقية.

5 دقائق للقراءة