كيفية استخدام الأمر fsck على نظام Linux

نشرت: 2022-01-29
محرك أقراص ثابت مكتوب فوقه رمز ثنائي.
استوديو Pixza / Shutterstock

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

أنظمة الملفات هي برامج

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

10 أوامر لينكس أساسية للمبتدئين
ذات صلة 10 أوامر لينكس أساسية للمبتدئين

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

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

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

قم بإجراء اختبارات الاختبار المبدئي

يتطلب استخدام fsck امتيازات sudo. يجب التعامل مع أي أمر يمكنه إجراء تغييرات على نظام الملفات بحذر وقصره على أولئك الذين يعرفون ما يفعلونه.

الإعلانات

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

سنبدأ بـ fdisk ونقوم بتوجيهه إلى less . نحن لا نطلب معلومات عن قسم معين. باستخدام الخيار -l (list) ، يسرد fdisk جداول الأقسام على جميع الأجهزة التي يجدها في ملف "/ proc / partitions" ، إن وجد.

 sudo fdisk -l | أقل 

يمكننا رؤية إدخالات /dev/sda و /dev/sdb . يمكنك التمرير خلال الملف لرؤية أي إدخالات أخرى قد تكون موجودة على جهاز الكمبيوتر الخاص بك.

لاحظ الإخراج في النافذة الطرفية

يتم سرد الأقسام الموجودة على /dev/sda كـ /dev/sda1 و /dev/sda2 و /dev/sda3 . إذن لدينا ثلاثة أقسام في محرك الأقراص الأول. يمكننا أن نرى المزيد من المعلومات باستخدام الأمر parted . سنستخدم خيار 'print' لعرض جداول الأقسام في نافذة المحطة الطرفية.

 sudo مفترق / dev / sda "طباعة" 

احصل على معلومات حول جداول التقسيم

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

 الموديل: ATA VBOX HARDDISK (scsi) 
القرص / dev / sda: 34.4 جيجابايت 
حجم القطاع (منطقي / فيزيائي): 512B / 512B 
جدول التقسيم: gpt 
علامات القرص:

رقم بداية نهاية الحجم ملف نظام الأعلام 
1 1049 كيلو بايت 2097 كيلو بايت 1049 كيلو بايت bios_grub 
2 2097 كيلو بايت 540 ميجا بايت 538 ميجا بايت fat32 EFI System Partition boot، esp 
3540 ميجابايت 34.4 جيجابايت 33.8 جيجابايت ext4.0
الإعلانات

هناك ثلاثة محركات في هذا الكمبيوتر التجريبي. هذه هي نتائج محركي الأقراص الآخرين /dev/sdb و /dev/sdc . لاحظ أن أنظمة الملفات هذه لا تحتوي على حقل "الاسم".

 sudo مفترق / dev / sdb "طباعة"
 الموديل: ATA VBOX HARDDISK (scsi) 
القرص / dev / sdb: 21.5 جيجابايت 
حجم القطاع (منطقي / فيزيائي): 512B / 512B 
جدول التقسيم: msdos 
علامات القرص:

عدد بداية نهاية الحجم نوع ملف النظام إشارات 
1 1049 كيلو بايت 21.5 جيجا بايت 21.5 جيجا بايت أساسي ext4
 sudo مفترق / dev / sdc "طباعة"
 الموديل: ATA VBOX HARDDISK (scsi) 
القرص / ديف / sdc: 21.5 جيجابايت 
حجم القطاع (منطقي / فيزيائي): 512B / 512B 
جدول التقسيم: msdos 
علامات القرص:

عدد بداية نهاية الحجم نوع ملف النظام إشارات
1 1049 كيلو بايت 21.5 جيجا بايت 21.5 جيجا بايت أساسي ext3

تصادف أن يكون محركي الأقراص الثاني والثالث من نفس الحجم ولكل منهما قسم واحد. لكن نظام الملفات على محرك الأقراص الثاني هو ext4 ، ونظام الملفات على محرك الأقراص الثالث هو نظام ext3 الأقدم.

كيفية تركيب وإلغاء تحميل أجهزة التخزين من Linux Terminal
ذات صلة كيفية تركيب وإلغاء تحميل أجهزة التخزين من Linux Terminal

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

يمكننا معرفة ذلك بسهولة باستخدام الأمر df .

 مدافع / ديف / sdb1
 مدافع / ديف / sdc1 

باستخدام الأمر fsck

لدينا كل المعلومات التي نحتاجها. أول شيء سنفعله هو إلغاء تحميل نظام الملفات الذي سنقوم بفحصه. سنعمل على نظام الملفات على القسم الأول - والوحيد - من /dev/sdb ، وهو /dev/sdb1 . لقد رأينا سابقًا أن هذا نظام ملفات ext4 ، ويتم تثبيته في "/ run / mount / dave / sata2."

سنستخدم الأمر umount . لاحظ عدم وجود "n" في "umount".

 sudo umount / تشغيل / جبل / ديف / sata2 

استخدم الأمر umount لإلغاء تحميل نظام الملفات.

الإعلانات

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

 sudo fsck / dev / sdb1 

استخدم الأمر fsck للتحقق من حالة نظام الملفات.

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

 صدى $؟ 

تشير القيمة المرجعة للصفر إلى عدم وجود أخطاء. رموز الإرجاع المحتملة هي:

  • 0 : لا أخطاء
  • 1 : تصحيح أخطاء نظام الملفات
  • 2 : يجب إعادة تشغيل النظام
  • 4 : أخطاء نظام الملفات التي تركت دون تصحيح
  • 8 : خطأ تشغيلي
  • 16 : خطأ في الاستخدام أو بناء الجملة
  • 32 : تم إلغاء الفحص بناء على طلب المستخدم
  • 128 : خطأ في المكتبة المشتركة

على الرغم من الإبلاغ عن نظام الملفات بأنه نظيف ، يمكننا فرض فحص نظام الملفات باستخدام الخيار -f (فرض).

 sudo fsck / dev / sdb1 -f 

فرض فحص نظام الملفات باستخدام خيار القوة في أمر fsck

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

عند الانتهاء من الاختبار ، تحتاج إلى إعادة تحميل نظام الملفات. أسهل طريقة للقيام بذلك هي استخدام خيار mount مع -a (الكل). يتحقق هذا من "/ etc / fstab" بحثًا عن قائمة أنظمة الملفات ، ويتأكد من تركيبها جميعًا تمامًا كما لو كانت تتبع تمهيدًا عاديًا.

 sudo mount -a 

أعد تحميل نظام الملفات باستخدام الأمر mount

ما هو نظام ملفات Linux الذي يجب أن تستخدمه؟
ذات صلة أي نظام ملفات Linux يجب أن تستخدمه؟

لاحظ أننا لسنا بحاجة إلى إخبار fsck بنوع نظام الملفات الموجود على القسم ؛ تحدد الأداة ذلك عن طريق فحص نظام الملفات. هذا يعني أنه يمكننا فرض فحص نظام الملفات على /dev/sdc1 ، نظام الملفات ext3 على جهاز الكمبيوتر التجريبي الخاص بنا ، باستخدام نفس الأمر بالضبط الذي استخدمناه في /dev/sdb1 ، وهو قسم ext4 .

 sudo fsck / dev / sdc1 -f 

استخدم الأمر fsck لفرض فحص نظام الملفات

الإعلانات

قد لا ترغب في الغوص مباشرة في إصلاح نظام الملفات. قد تفضل النظر قبل القفز. يمكنك أن تطلب من fsck عدم عرض إصلاح أي شيء والإبلاغ عن المشكلات إلى نافذة الجهاز. يقوم الخيار -N (التشغيل الجاف) بما يلي:

 sudo fsck -N / dev / sdb1 

قبل إصلاح نظام الملفات ، قم بإجراء التشغيل الجاف

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

 sudo fsck -y / dev / sdb1

باستخدام fsck على قسم الجذر

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

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

قائمة الاسترداد مع تحديد عنصر قائمة الخيارات المتقدمة

حرك شريط التظليل باستخدام مفتاحي "Up Arrow" و "Down Arrow" بحيث يتم تحديد عنصر القائمة "Advanced options لـ Ubuntu". اضغط على "أدخل" للانتقال إلى الشاشة التالية.

قائمة الاسترداد مع تحديد عنصر القائمة "وضع الاسترداد"

الإعلانات

حدد الخيار الذي ينتهي بـ "(وضع الاسترداد)". في مثالنا ، إنه "Ubuntu ، مع Linux 5.11.0-20-generic (وضع الاسترداد)." اضغط على مفتاح "Enter".

سترى قائمة الاسترداد. حدد "fsck check all file systems" واضغط على مفتاح "Tab" لنقل التمييز إلى الزر "موافق". اضغط دخول."

قائمة الاسترداد مع اختيار fsck

سترى إشعارًا يفيد بأنه سيتم تثبيت قسم الجذر مع أي أقسام أخرى محددة في ملف "/ etc / fstab".

حدد نعم لبدء fsck في الوضع التفاعلي

اضغط على مفتاح "Tab" لنقل التظليل إلى الزر "نعم" واضغط على "إدخال".

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

حدد خيار "استئناف" ، واضغط على مفتاح "Tab" لنقل التمييز إلى الزر "موافق" ، واضغط على "إدخال". ستستأنف عملية التمهيد ، وستقوم بالتمهيد إلى Linux.

الإعلانات

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

عندما تسوء الأمور

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

ذات صلة: أفضل أجهزة كمبيوتر Linux المحمولة للمطورين والمتحمسين