ابزار کاربر

ابزار سایت


terminal:e:e2fsck-repair-file-system-errors-in-linux

دستور e2fsck ( ترمیم سیستم فایل معیوب)

وقتی از اصطلاح سیستم فایل معیوب استفاده میکنیم منظور خرابی ساختار داده ای سیستم فایل مانند: inode و Superblock و دایرکتوری هاست که هر یک از دلایل زیر میتواند دلیل بروز خرابی باشند:

  • اشتباه های مدیرسیستم 1)
  • bug های درایورها
  • bug های هسته 2)

ابزار fsck که مخفف Filessystem Check است در رفع مشکل بسیار کارآمد است و می تواند در رفع مشکل ها کمک کند برای رفع مشکل ابتدا e2fsck را برای بررسی سیستم فایلهای ext2,3,4 اجرا کنید. فرض کنید میخواهیم پارتیشن sdc1 را برای مشکلات بررسی کنیم ابتدا باید پارتیشن را unmount کنیم. پس دستور زیر را در ترمینال تایپ کنید.

umount /dev/sdc1

و سپس دستور e2fsck را بصورت مجزا اجرا میکنیم:

e2fsck -f /dev/sdc1

خروجی دستور بالا

e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdc1: 11/244800 files (0.0% non-contiguous), 35582/978688 blocks

سوئیچ f-

این سويیچ باعث میشود حتی اگر سیستم فایل دچار مشکل نباشد 3) باز هم بررسی شود. در صورتی که superblock پیدا نشود اجرای e2fsck با fatal error خاتمه می یابد. همانطور که در آموزش Superblock چیست؟ اشاره کردیم لینوکس چندین کپی از superblock ها در هر فایل سیستم نگه می دارد.

سوئیچ b-

با این سويیچ در صورتی که superblock در فایل سیستم شناسایی نشد برای حل مشکل از سويیچ فوق استفاده کنید این سويیچ معرف Alternative-Superblock یا superblock یدکی است. محل قرارگیری کپی superblock با توجه به اندازه block سیستم فایل متفاوت است:

  • برای سیستم فایلی با block های ۱ کیلوبایتی یک کپی از superblock میتواند block شماره ۸۱۹۳ پیدا شود
  • برای سیستم فایلی با block های ۲ کیلوبایتی در block شماره ۱۶۳۸۴
  • برای block های ۴ کیلوبایتی در block شماره ۳۲۷۶۸

با هر یک از دستورهای زیر می توانید محل superblock یدکی را پیدا کنید:

mke2fs -n /dev/sdc1
dumpe2fs /dev/sdc1 |grep -i superblock

برای تعمیر و Repair کردن سیستم توسط superblock یدکی دستور زیر را استفاده کنید.

e2fsck -f -b /dev/sdc1
1)
کاربر root بالاترین سطح دسترسی را دارد
2)
البته در نسخه های پایدار فعلی bug های هسته در کمترین حد هستند
3)
Clean
terminal/e/e2fsck-repair-file-system-errors-in-linux.txt · آخرین ویرایش: 2019/01/04 16:26 توسط phoenix