проверить и восстановить файловую систему EXT4

Thank you for reading this post, don't forget to subscribe!

Про­грам­ма fsck (рас­шиф­ро­вы­ва­ет­ся как File System Consistency Check) исполь­зу­ет­ся для про­вер­ки и вос­ста­нов­ле­ния одной или несколь­ких фай­ло­вых систем Linux.

Эта про­вер­ка запус­ка­ет­ся авто­ма­ти­че­ски во вре­мя загруз­ки при обна­ру­же­нии несо­от­вет­ствий в фай­ло­вой системе.

Так­же, при необ­хо­ди­мо­сти, она может быть запу­ще­на вручную.

Вы може­те исполь­зо­вать коман­ду fsck для вос­ста­нов­ле­ния повре­жден­ных фай­ло­вых систем, когда систе­ма не загру­жа­ет­ся, или раз­дел не может быть смон­ти­ро­ван, или если он стал досту­пен толь­ко для чтения.

Примечание:

Выпол­няй­те fsck на немон­ти­ро­ван­ной фай­ло­вой систе­ме, что­бы избе­жать повре­жде­ния дан­ных в ФС.

Для боль­ших фай­ло­вых систем выпол­не­ние fsck может занять мно­го вре­ме­ни в зави­си­мо­сти от ско­ро­сти систе­мы и раз­ме­ра диска.

Когда про­вер­ка фай­ло­вой систе­мы завер­ше­на, fsck воз­вра­ща­ет один из сле­ду­ю­щих кодов завершения:

 

КОД ЗАВЕРШЕНИЯ ОПИСАНИЕ
0 Нет оши­бок
1 Исправ­ле­ны ошиб­ки фай­ло­вой системы
2 Систе­ма долж­на быть перезагружена
4 Ошиб­ки фай­ло­вой систе­мы, остав­лен­ные без исправления
8 Опе­ра­ци­он­ная ошибка
16 Ошиб­ка исполь­зо­ва­ния или синтаксиса
32 Про­вер­ка отме­ня­ет­ся по запро­су пользователя
128 Ошиб­ка в общей библиотеке

Общий син­так­сис:

fsck [option] [device or partition or mount point]

Повреждение файловой системы EXT4

Мы наме­рен­но повре­дим фай­ло­вую систе­му EXT4, выпол­нив при­ве­ден­ную ниже команду.

Она уда­ля­ет слу­чай­но выбран­ные бло­ки мета­дан­ных фай­ло­вой системы

При­ме­ча­ние: Пожа­луй­ста, не тести­руй­те это на про­из­вод­ствен­ном сер­ве­ре, так как это может силь­но повре­дить ваши данные.

sudo umount /data

Повре­жде­ние фай­ло­вой систе­мы ext4.

sudo dd if=/dev/zero of=/dev/sdb1 bs=10000 skip=0 count=1

1+0 records in
1+0 records out
10000 bytes (10 kB, 9.8 KiB) copied, 0.00394663 s, 2.5 MB/s

sudo mount /data

mount: /data: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error.

Восстановление поврежденной файловой системы EXT4 и EXT3

Вы може­те вос­ста­но­вить повре­жден­ную фай­ло­вую систе­му ext3 или ext4 в рабо­та­ю­щей систе­ме Linux. fsck рабо­та­ет как оберт­ка для команд fsck.ext3 и fsck.ext4.

При­ме­ча­ние: Если вы не може­те раз­мон­ти­ро­вать неко­то­рые тома без рута из-за про­бле­мы, загру­зи­те систе­му в одно­поль­зо­ва­тель­ский режим или режим rescue для восстановления.

Шаг-1: Раз­мон­ти­руй­те устрой­ство, на кото­ром вы хоти­те запу­стить fsck.

sudo umount /dev/sdb1

Шаг-2: Запу­сти­те fsck для вос­ста­нов­ле­ния фай­ло­вой системы:

sudo fsck.ext4 -p /dev/sdb1

-p : Авто­ма­ти­че­ски устра­нить все про­бле­мы, кото­рые могут быть без­опас­но устра­не­ны без вме­ша­тель­ства пользователя.

Если выше­ука­зан­ный вари­ант не устра­ня­ет про­бле­му, выпол­ни­те коман­ду fsck в сле­ду­ю­щем формате.

sudo fsck.ext4 -fvy /dev/sdb1

Шаг-3: Как толь­ко фай­ло­вая систе­ма будет вос­ста­нов­ле­на, смон­ти­руй­те раздел.

sudo mount /dev/sdb1

2) Восстановление тома LVM с помощью fsck

fsck мож­но запус­кать на логи­че­ских томах LVM так же, как и на фай­ло­вых систе­мах стан­дарт­ных разделов.

Для вос­ста­нов­ле­ния LVM-раз­де­ла сле­дуй­те при­ве­ден­ной ниже процедуре:

При необ­хо­ди­мо­сти вы так­же може­те восстановить/восстановить том lvm вме­сто его ремонта.

Шаг-1: Убе­ди­тесь, что кон­крет­ный том LVM нахо­дит­ся в актив­ном состо­я­нии для запус­ка fsck.

Что­бы про­ве­рить состо­я­ние LVM, выполните:

sudo lvscan

Если он “inactive“, акти­ви­руй­те его, выпол­нив сле­ду­ю­щую команду.

sudo lvchange -ay /dev/myvg/vol01 -v

Шаг-2: Раз­мон­ти­руй­те устрой­ство или фай­ло­вую систе­му, на кото­рой вы хоти­те запу­стить fsck.

sudo umount /dev/myvg/vol01

Шаг-3: Запу­сти­те fsck для вос­ста­нов­ле­ния фай­ло­вой системы.

Для запус­ка fsck необ­хо­ди­мо вве­сти путь к LVM-тому, а не к реаль­но­му физи­че­ско­му разделу.

sudo fsck.ext4 -fvy /dev/myvg/vol01

e2fsck 1.45.6 (20-Mar-2020) /dev/myvg/vol01: clean, 24/65536 files, 14094/262144 blocks

  • -f : При­ну­ди­тель­ная про­вер­ка, даже если фай­ло­вая систе­ма кажет­ся чистой.
  • -y : Пред­по­ла­гать ответ `yes’ на все вопро­сы; поз­во­ля­ет исполь­зо­вать e2fsck неинтерактивно.
  • -v : Подроб­ный режим

Шаг-4: Как толь­ко фай­ло­вая систе­ма будет вос­ста­нов­ле­на, смон­ти­руй­те раздел.

sudo mount /apps