Jak uruchomić fsck podczas rozruchu podczas korzystania z Pi 3 i Raspberry Jessie? Przeczytałem samouczek, ale różnią się one.
Uciekłem, sudo touch /forcefsck
ale co jeszcze muszę zrobić? Wiem, że powinienem ustawić FSCKFIX = tak, ale jaki jest prawidłowy plik? Niektórzy mówią /lib/init/vars.sh
inni /etc/default/rcS
.
Jak mogę sprawdzić, czy moje ustawienia działają? Nie mam widoczności do ekranu. Występują przerwy w dostawie prądu, więc istnieje wysokie ryzyko uszkodzenia systemu plików.
Edytować:
Wypróbowałem dwa rozwiązania wymienione poniżej.
1) Korzystając z sudo shutdown -rF now
/var/log/boot.log mówi:
[^[[32m OK ^[[0m] Started Load/Save Random Seed.
[^[[32m OK ^[[0m] Started Show Plymouth Boot Screen.
[ 3.679250] systemd-fsck[219]: fsck.fat 3.0.27 (2014-11-12)
[ 3.681320] systemd-fsck[219]: /dev/mmcblk0p1: 124 files, 2666/8057 clusters
[^[[32m OK ^[[0m] Started File System Check on /dev/mmcblk0p1.
Mounting /boot...
[^[[32m OK ^[[0m] Reached target Paths.
[^[[32m OK ^[[0m] Created slice system-systemd\x2drfkill.slice.
Starting Load/Save RF Kill Switch Status of rfkill0...
[^[[32m OK ^[[0m] Started Load/Save RF Kill Switch Status of rfkill0.
[^[[32m OK ^[[0m] Created slice system-ifup.slice.
[^[[32m OK ^[[0m] Mounted /boot.
[^[[32m OK ^[[0m] Reached target Local File Systems.
Starting Tell Plymouth To Write Out Runtime Data...
Starting Create Volatile Files and Directories...
Starting LSB: Raise network interfaces....
[^[[32m OK ^[[0m] Reached target Remote File Systems.
Starting Trigger Flushing of Journal to Persistent Storage...
Starting LSB: Prepare console...
Starting LSB: Switch to ondemand cpu governor (unless shift key is pressed)...
[^[[32m OK ^[[0m] Started Tell Plymouth To Write Out Runtime Data.
2) Za pomocą fsck.mode=force
oraz fsck.repair=yes
w /boot/cmdline.txt
bootlog mówi:
[^[[32m OK ^[[0m] Started Show Plymouth Boot Screen.
[^[[32m OK ^[[0m] Reached target Paths.
[^[[32m OK ^[[0m] Created slice system-systemd\x2drfkill.slice.
[^[[32m OK ^[[0m] Created slice system-ifup.slice.
[ 5.749367] systemd-fsck[112]: Pass 2: Checking directory structure
[ 8.673500] systemd-fsck[112]: Pass 3: Checking directory connectivity
[ 8.683831] systemd-fsck[112]: Pass 4: Checking reference counts
[ 9.318835] systemd-fsck[112]: Pass 5: Checking group summary information
[ 9.518754] systemd-fsck[112]: /dev/mmcblk0p2: 131321/956160 files (0.2% non-contiguous$
[^[[32m OK ^[[0m] Started File System Check on Root Device.
Starting File System Check on /dev/mmcblk0p1...
Starting Remount Root and Kernel File Systems...
[^[[32m OK ^[[0m] Started Remount Root and Kernel File Systems.
Starting Load/Save RF Kill Switch Status of rfkill0...
Starting Load/Save Random Seed...
[^[[32m OK ^[[0m] Reached target Local File Systems (Pre).
[ 9.639259] systemd-fsck[239]: fsck.fat 3.0.27 (2014-11-12)
[^[[32m OK ^[[0m] Started Load/Save RF Kill Switch Status of rfkill0.
[ 9.644216] systemd-fsck[239]: /dev/mmcblk0p1: 124 files, 2666/8057 clusters
[^[[32m OK ^[[0m] Started File System Check on /dev/mmcblk0p1.
[^[[32m OK ^[[0m] Started Load/Save Random Seed.
Mounting /boot...
[^[[32m OK ^[[0m] Mounted /boot.
Dlaczego plik dziennika jest zupełnie inny w tych dwóch przypadkach?
sudo shutdown -rF now
? Boot.log wygląda zupełnie inaczej.Tego używam w starej stabilnej wersji Jessie, na końcu linii
cmdline.txt
:forcefsck
Mam również następujące elementy
fstab
:/dev/mmcblk0p1 /boot vfat defaults,noatime 0 2 /dev/mmcblk0p2 / ext4 defaults,noatime 0 1
Zwróć uwagę na1
i2
na końcu liniiSprawdza i naprawia partycję root (/ dev / mmcblk0p2) przy każdym uruchomieniu (@JulianKnight not / dev / sda2).
To, co opisano w oryginalnym OP, nadal działa dla Wheezy na RPi:
sudo touch /forcefsck
@WillianPaixao po Wheezy
-F
opcjashutdown
nie jest już obsługiwanaJak wymusić sprawdzenie systemu plików jest (głównie) powiązane z wersją jądra, w pewnym momencie po Debianie 8.0 (w 8.2?), Zostało to zmienione jak opisano w odpowiedzi @goldilocks.
źródło
Powinieneś także być w stanie wykonać następujące czynności, które powinny działać na każdym Linuksie, nie tylko na Pi (oczywiście urządzenie zmieni się na różne platformy, sda2 powinno być odpowiednie dla domyślnej karty SD SD):
To powinno ustawić kontrolę przy każdym ponownym uruchomieniu. Możesz zmienić numer na dowolny. Użyj -i zamiast -c, jeśli chcesz sprawdzać na podstawie czasu. Zobacz stronę podręcznika, aby uzyskać więcej informacji.
źródło
Używam
shutdown
z-F
parametrem. [1]źródło
man shutdown
Raspbian - nie ma tam opcji -F.