jak używać polecenia fsck w Linuksie?
polecenie fsck
(sprawdzanie spójności systemu plików) jest narzędziem do sprawdzania i naprawy linuksowego systemu plików. Nowoczesne systemy plików z dziennikiem są zaprojektowane tak, że narzędzia takie jak fsck nie są łatwo potrzebne. Jednak w kilku przypadkach fsck może być jedyną opcją naprawy “złego” systemu plików.
fsck
można uruchomić na partycji, która została uszkodzona lub niezgodna z resztą plików.
powody, dla których może być wymagane fsck
- nieczyste Zamknięcie-jest to główna przyczyna korupcji. Z powodu “nieczystego wyłączenia” system może nie uruchomić się poprawnie
- awaria dysku lub uszkodzenie
spis treści
środowiska, w których nie należy używać fsck
ponieważ polecenie działa bezpośrednio z sektorami systemu plików, ważne jest, aby podjąć niezbędne środki ostrożności w tym miejscu.
strona podręcznika e2fsck mówi:
zauważ, że generalnie nie jest bezpieczne uruchamianie e2fsck na zamontowanych systemach plików. Jedynym wyjątkiem jest podanie opcji – N, A opcje-c,- l lub-L nie są podane. Jednak nawet jeśli jest to bezpieczne, wyniki wydrukowane przez e2fsck nie są poprawne, jeśli system plików jest zamontowany. Jeśli e2fsck zapyta, czy należy sprawdzić zamontowany system plików, jedyną poprawną odpowiedzią jest”nie”.
https://www.man7.org/linux/man-pages/man8/e2fsck.8.html
tak więc, musisz zrobić fsck
na odmontowanej partycji. Jeśli możesz odmontować partycję za pomocą umount
, dobrze i dobrze. W przeciwnym razie musisz zmienić otoczenie:
1. Tryb odzyskiwania
(Dla Ubuntu – przytrzymaj SHIFT
podczas uruchamiania, aby wejść do GRUB, wybierz “Zaawansowane Opcje Dla Ubuntu”, a następnie wybierz opcję oznaczoną “tryb odzyskiwania”, a następnie wybierz fsck). W trybie odzyskiwania partycje są montowane.
2. Podczas używania parametru jądra init=/bin/bash
(przytrzymaj SHIFT
podczas uruchamiania, aby wejść do GRUB, naciśnij e
, aby edytować parametry jądra). Dostarcza powłokę bash, z której można uruchomić fsck
, ale tutaj również partycje są montowane.
Jak korzystać z polecenia fsck?
z podstaw jasne, przejdźmy do kroków, jak należy używać polecenia fsck w Linuksie.
1. Podstawowe użycie
zanim zaczniesz używać tego polecenia, upewnij się, że pracujesz nad odmontowaną partycją. Aby odmontować partycję, a następnie uruchomić na niej fsck wpisz :
$ sudo umount /dev/<partition_name>$ fsck /dev/<partition_name>
są szanse, że nie można odmontować partycji. W takim przypadku możesz wybrać jedną z następujących metod.
2. Uruchamianie fsck przy użyciu live USB
jest to prawdopodobnie najlepszy sposób na uruchomienie fsck
. Zapewnia bogaty zestaw znanych narzędzi, takich jak fdisk
. Użyj tego samouczka, aby utworzyć live Ubuntu USB. Ta część zakłada, że używasz Linuksa z Live USB.
aby wyświetlić listę wszystkich partycji w systemie, możesz użyć polecenia fdisk
.
$ sudo fdisk -l
Uwaga: partycje pokazane powyżej (dla 2 dysków SSD, jednego NVMe i innego SATA) mogą być inne niż te, które masz w systemie. fdisk wyświetla również więcej informacji o partycjach. Jednak do celów tego artykułu wystarczy nazwa partycji.
Zidentyfikuj partycję, która powoduje problemy, a następnie po prostu uruchom:
$ fsck /dev/<partition_name>
to powinno rozwiązać problem.
3. Użycie initramfs
innym sposobem użycia polecenia fsck jest przebywanie w trybie intramfs. Aby dostać się do initramfs
- przytrzymaj klawisz
SHIFT
podczas uruchamiania, aby przejść do menu GRUB. - naciśnij
e
, aby edytować wpis rozruchowy - Dodaj parametr jądra jako ‘
break
‘, jak pokazano na zrzucie ekranu poniżej - naciśnij
Ctrl - X
, aby zapisać i zakończyć
initramfs
zapewnia “mniej ponętny” sposób rozwiązywania problemów.
partycje nie są montowane w initramfs, więc wykonanie fsck
byłoby bezpieczne. Potrzebujesz również nazwy partycji. Initramfs zapewnia jednak minimum narzędzi. Więc fdisk
nie będzie dostępny. Możesz wyświetlić listę partycji za pomocą polecenia cat, jak pokazano poniżej:
$ cat /proc/partitions
Zidentyfikuj partycję, a następnie uruchom:
$ fsck /dev/<partition_name>
Uwaga: funkcja fsck przy użyciu Live USB może nie być zawsze dostępna. W takim przypadku należy użyć metody initramfs.
jak sprawdzić, czy fsck jest zaplanowany, czy nie
możesz chcieć wiedzieć, kiedy twoja partycja była sprawdzana Ostatnio lub kiedy będzie w przyszłości. W takim razie uciekaj.:
$ sudo tune2fs -l /dev/<partition_name> | egrep -i 'check|mount'
- Maksymalna liczba montowań to liczba montowań, po których system plików będzie automatycznie sprawdzany przez fsck.
- interwał sprawdzania to czas pomiędzy dwoma sprawdzeniami systemu plików.
te dwie wartości są wystarczające do określenia, kiedy polecenie fsck zostało ostatnio uruchomione.
różnica między fsck i e2fsck
możesz znaleźć różne odpowiedzi/artykuły z prośbą o uruchomienie e2fsck lub fsck.ext4 zamiast fsck. Co za różnica, jeśli uruchomisz którekolwiek z tych narzędzi zamiast fsck
?
fsck
jest tylko nakładką dla wszystkich specyficznych dla systemu plików poleceń fsck, takich jak dwa pokazane powyżej (opakowanie, jeśli można powiedzieć). Wywołanie fsck
automatycznie wywołuje poprawny system plików fsck
. Zobaczmy, które wszystkie fsck
są w naszym systemie:
$ ls -l /sbin/fsck*
uruchomienie fsck
na partycji ext2/3/4 uruchamia odpowiedni plik wykonywalny /sbin/fsck.ext*
. Te pliki wykonywalne z kolei są twardymi dowiązaniami do pliku wykonywalnego e2fsck
. Tak więc, nawet jeśli uruchomisz fsck
na partycji ext4, ostatecznie uruchomi się e2fsck
.
wniosek
w tym samouczku omówiliśmy fsck
, które jest użytecznym narzędziem do odzyskiwania systemów plików. Aby dowiedzieć się więcej o poleceniu fsck
, zajrzyj na stronę podręcznika.
Leave a Reply