Como definir systemd
para forçar fsck
discos automaticamente após uma falha (desligamento total)?
Quando eu usei sysvinit
(no Arch Linux) como /sbin/init
usei o hack: no arquivo rc.local
eu crio /forcefsck
; no rc.local.shutdown
eu removo. Na inicialização, rc.sysinit
ative force fsck, se /forcefsck
existir.
Como fazer o mesmo systemd
? Talvez tenha instalações embutidas para fsck
esmagamento automático depois?
Respostas:
Você pode forçar
fsck
no momento da inicialização passandofsck.mode=force
(auto
é o padrão eskip
pode ser usado para ignorar a verificação) como um parâmetro de linha de comando do kernel (a partir dasystemd
v. 213 , há também um segundo parâmetro:fsck.repair
- para controlar comofsck
deve lidar com sistemas de arquivos impuros na inicialização, os valores possíveis são:preen
corrigir o que pode ser corrigido com segurança,yes
responder sim a todas as perguntas eno
é o padrão).Observe que
systemd-fsck
não conhece detalhes sobre sistemas de arquivos específicos e simplesmente executa verificadores de sistema de arquivos específicos para cada tipo de sistema de arquivos (/sbin/fsck.*
) .Agora, se o seu sistema de arquivos é
xfs
oubtrfs
será executado/sbin/fsck.xfs
ou/sbin/fsck.btrfs
respectivamente. Se isso não parece funcionar, talvez você deva verificar a página do manualfsck.xfs
oufsck.btrfs
respectivamente e examinar o conteúdo desses arquivos/sbin
.fonte
/etc/default/grub
, adicionefsck.mode=force
o valor deGRUB_CMDLINE_LINUX_DEFAULT
. Então corraupdate-grub
ereboot
.