Pracuję z komputerem bez wentylatora (w rzeczywistości setki), który ma partycje debian 6 i 3 (FAT i 2x ext2). System nie ma przycisku zasilania jako takiego, więc większość ludzi szarpa wtyczkę, aby ją „zamknąć”, zamiast inicjować 0 (lub równoważny). W rezultacie systemy plików dość szybko gromadzą błędy.
Próbowałem użyć polecenia „shutdown -rF”, aby wymusić użycie fsck, ale wydaje się, że to nie działa. Zastanawiam się, czy istnieje jakiś sposób, aby powiedzieć systemowi, aby sprawdził każdy punkt montowania / FS przed ich zamontowaniem.
Próbowałem ustawić parametr fsck w / etc / fstab. Zazwyczaj daje mi to „Znaleziono błędy. Uruchom komunikat fsck ręcznie ”.
Czy są inne opcje do wypróbowania?
Odpowiedzi:
In
/etc/init.d/checkfs.sh
jest wierszemif [ -f /forcefsck ] || grep -s -w -i "forcefsck" /proc/cmdline
, więc podanieforcefsck
w wierszu poleceń jądra lub wygenerowanie/forcefsck
pliku przy zamykaniu powinno spowodować fsck przy następnym restarcie.Aby zapobiec ręcznemu uruchamianiu fsck, poproś
fsck
o próbę automatycznego naprawienia błędów za pomocą-y
opcji, odznaczając komentarz i zmieniając opcję noyes
na następujący wpis / etc / default / rcS, po edycji powinien on wyglądać następująco:Jedna opcja (forcefsck lub FSCKFIX) nie implikuje drugiej.
źródło
checkfs.sh
. W żadnym przypadku fsck nie uruchomił się po ponownym uruchomieniu (przez init 6). Coś mi tu brakuje.checkfs.sh
, edytuj / etc / defaults / rcS i uruchamiajtouch /forcefsck
przed ponownym uruchomieniem. Ostatnie polecenie należy uruchomić przed każdym ponownym uruchomieniem lub tuż po uruchomieniu, ale skrypt inicjujący fsck jest gotowy.Dodaj
fsck.mode=force
parametr jądra do bootloadera. Dodaj tę opcję doGRUB_CMDLINE_LINUX_DEFAULT=
zmiennej wewnątrz/etc/default/grub
. Jako root wygeneruj nowy plik konfiguracyjny grub:[root@host]# grub-mkconfig -o /boot/grub/grub.cfg
Ten parametr ma taki sam efekt jak tworzenie
forcefsck
pliku w katalogu głównym punktu montowania.Rozwiązanie polegające na użyciu
checkfs.sh
skryptu lepiej pasuje do Debiana, ale nie powinno działać na innych dystrybucjachźródło
Edytuję swoją odpowiedź:
Polecenie to:
zgodnie z argumentem manpages -c dla tune2fs zlicza liczbę instancji podłączeń dla partycji. Dlatego 1 wymusza sprawdzenie fs po każdym wystąpieniu montażu.
( http://man7.org/linux/man-pages/man8/tune2fs.8.html )
źródło