Wyszukiwanie w witrynie

Jak używać „fsck” do naprawy błędów systemu plików w systemie Linux


Linuxowe systemy plików odpowiadają za organizację sposobu przechowywania i odzyskiwania danych. Tak czy inaczej, z czasem system plików może ulec uszkodzeniu i niektóre jego części mogą nie być dostępne. Jeśli w Twoim systemie plików wystąpią takie niespójności, zaleca się sprawdzenie jego integralności.

Można to wykonać za pomocą narzędzia systemowego o nazwie fsck (sprawdzanie spójności systemu plików), które automatycznie sprawdza główny system plików podczas uruchamiania systemu lub uruchamia je ręcznie.

W tym artykule omówimy polecenie fsck i jego zastosowanie, aby pomóc Ci naprawić błędy dysku w systemie Linux.

Kiedy używać polecenia fsck w systemie Linux

Istnieją różne scenariusze, w których chcesz uruchomić fsck. Oto kilka przykładów:

  • System nie uruchamia się.
  • Pliki w systemie ulegają uszkodzeniu (często mogą wystąpić błędy wejścia/wyjścia).
  • Podłączony dysk (w tym dyski flash/karty SD) nie działa zgodnie z oczekiwaniami.

Opcje poleceń fsck

Polecenie fsck należy uruchomić z uprawnieniami superużytkownika lub root. Można go używać z różnymi argumentami. Ich użycie zależy od konkretnego przypadku. Poniżej zobaczysz niektóre z ważniejszych opcji:

  • -A – Używany do sprawdzania wszystkich systemów plików. Lista pochodzi z /etc/fstab.
  • -C – Pokaż pasek postępu.
  • -l – Blokuje urządzenie, aby zagwarantować, że żaden inny program nie będzie próbował użyć tej partycji podczas sprawdzania.
  • -M – Nie sprawdza zamontowanych systemów plików.
  • -N – pokazuje tylko to, co zostałoby zrobione – żadne rzeczywiste zmiany nie są wprowadzane.
  • -P – Jeśli chcesz równolegle sprawdzać systemy plików, w tym root.
  • -R – Nie sprawdzaj głównego systemu plików. Jest to przydatne tylko w przypadku „-A”.
  • -r – Podaj statystyki dla każdego sprawdzanego urządzenia.
  • -T – nie wyświetla tytułu.
  • -t – Określ wyłącznie typy systemów plików Linux, które mają zostać sprawdzone. Typy mogą być listami rozdzielanymi przecinkami.
  • -V – Podaj opis tego, co jest wykonywane.

Uruchom polecenie fsck, aby naprawić błędy systemu plików Linux

Aby uruchomić fsck, musisz upewnić się, że partycja, którą chcesz sprawdzić, nie jest zamontowana. Na potrzeby tego artykułu użyję mojego drugiego dysku /dev/sdb zamontowanego w /mnt.

Oto, co się stanie, jeśli spróbuję uruchomić fsck, gdy partycja jest zamontowana.

fsck /dev/sdb

Aby tego uniknąć, odmontuj partycję za pomocą.

umount /dev/sdb

Wtedy można bezpiecznie uruchomić fsck.

fsck /dev/sdb

Zrozumienie kodów wyjścia fsck

Po uruchomieniu fsck zwróci kod zakończenia. Kody te można zobaczyć w instrukcji fsck, uruchamiając:

man fsck

0      No errors
1      Filesystem errors corrected
2      System should be rebooted
4      Filesystem errors were left uncorrected
8      Operational error
16     Usage or syntax error
32     Checking canceled by user request
128    Shared-library error            

Fsck Napraw system plików Linux

Czasami w systemie plików można znaleźć więcej niż jeden błąd. W takich przypadkach możesz chcieć, aby fsck automatycznie próbował naprawić błędy. Można to zrobić za pomocą:

fsck -y /dev/sdb

Flaga -y powoduje automatyczne „tak ” na wszelkie monity fsck w celu poprawienia błędu.

Podobnie możesz uruchomić to samo na wszystkich systemach plików (bez root):

fsck -AR -y 

Jak uruchomić fsck na partycji głównej systemu Linux

W niektórych przypadkach może być konieczne uruchomienie fsck na głównej partycji systemu. Ponieważ nie można uruchomić fsck, gdy partycja jest zamontowana, możesz wypróbować jedną z następujących opcji:

  • Wymuś fsck podczas uruchamiania systemu
  • Uruchom fsck w trybie ratunkowym

Przeanalizujemy obie sytuacje.

Wymuś fsck podczas uruchamiania systemu

Jest to stosunkowo łatwe do wykonania, jedyne, co musisz zrobić, to utworzyć plik o nazwie forcefsck na partycji głównej systemu. Użyj następującego polecenia:

touch /forcefsck

Następnie możesz po prostu wymusić lub zaplanować ponowne uruchomienie systemu. Podczas następnego uruchomienia zostanie wykonane polecenie fsck. Jeśli przestój jest krytyczny, zaleca się dokładne zaplanowanie tego, ponieważ jeśli w systemie jest wiele używanych i-węzłów, fsck może zająć trochę więcej czasu.

Po uruchomieniu systemu sprawdź, czy plik nadal istnieje:

ls /forcefsck

Jeśli tak, możesz go usunąć, aby uniknąć fsck przy każdym uruchomieniu systemu.

Uruchom fsck w trybie ratunkowym

Uruchomienie fsck w trybie ratunkowym wymaga jeszcze kilku kroków. Najpierw przygotuj system do ponownego uruchomienia. Zatrzymaj wszystkie krytyczne usługi, takie jak MySQL/MariaDB itp., a następnie wpisz.

reboot

Podczas uruchamiania przytrzymaj klawisz shift, aby wyświetlić menu Gruba. Wybierz „Opcje zaawansowane”.

Następnie wybierz „Tryb odzyskiwania”.

W następnym menu wybierz „fsck”.

Zostaniesz zapytany, czy chcesz ponownie zamontować system plików /. Wybierz „tak”.

Powinieneś zobaczyć coś podobnego do tego.

Następnie możesz wznowić normalne uruchamianie, wybierając „Wznów ”.

Wniosek

W tym samouczku nauczyłeś się używać polecenia fsck i przeprowadzać sprawdzanie spójności w różnych systemach plików Linuksa. Jeśli masz jakieś pytania dotyczące fsck, nie wahaj się zadać ich w sekcji komentarzy poniżej.