Как запустить fsck при загрузке при использовании Pi 3 и Raspberry Jessie? Я прочитал некоторые уроки, но они отличаются.
Я бежал, sudo touch /forcefsck
но что еще я должен сделать? Я знаю, что должен установить FSCKFIX = yes, но какой файл правильный? Некоторые говорят /lib/init/vars.sh
другие /etc/default/rcS
.
Как я могу проверить, что мои настройки работают? У меня нет видимости для экрана. Существует перебои в подаче электроэнергии, поэтому существует высокий риск повреждения файловой системы.
Редактировать:
Я попробовал два решения, упомянутых ниже.
1) Использование sudo shutdown -rF now
/var/log/boot.log говорит:
[^[[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) Используя fsck.mode=force
и fsck.repair=yes
в /boot/cmdline.txt
bootlog говорит:
[^[[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.
Почему файл журнала полностью отличается в этих двух случаях?
sudo shutdown -rF now
? Boot.log выглядит совершенно иначе.Это то, что я использую в старом стабильном выпуске Jessie, в конце строки
cmdline.txt
:forcefsck
У меня также есть следующее в
fstab
:/dev/mmcblk0p1 /boot vfat defaults,noatime 0 2 /dev/mmcblk0p2 / ext4 defaults,noatime 0 1
Обратите внимание на1
и2
в конце строкиОн проверяет и восстанавливает корневой раздел (/ dev / mmcblk0p2) при каждой загрузке (@JulianKnight not / dev / sda2).
То, что описано в оригинальном OP, все еще работает для Wheezy на RPi:
sudo touch /forcefsck
@WillianPaixao после Wheezy
-F
опцияshutdown
больше не поддерживаетсяКак заставить проверку файловой системы (в основном) связано с версией ядра, в какой-то момент после Debian 8.0 (в 8.2?) Она была изменена, как описано в ответе @goldilocks.
источник
Вы также должны быть в состоянии сделать следующее, которое должно работать для любого Linux, а не только для Pi (очевидно, устройство будет меняться для разных платформ, sda2 должно быть подходящим для карты SD SD по умолчанию):
Это должно установить проверку при каждой перезагрузке. Вы можете изменить номер на что угодно. Используйте -i вместо -c, если вы хотите проверку на основе времени. Смотрите man-страницу для получения дополнительной информации.
источник
Я использую
shutdown
с-F
параметром. [1]источник
man shutdown
на Raspbian - там нет опции -F.