fsck (Português)

Status de tradução:
Esse artigo é uma tradução de
fsck
. Data da última tradução: 2020-04-12. Você pode ajudar a sincronizar a tradução, se houver
alterações
na versão em inglês.
Artigos relacionados
Ext4
Btrfs
fstab
fsck
, acrônimo do inglês de
"File System Check"
, que significa
"verificação do sistema de arquivos "
é usado para verificar e, opcionalmente, reparar um ou mais sistemas de arquivos Linux. Normalmente, o programa fsck irá tentar manusear sistemas de arquivos em diferentes discos físicos em paralelo para reduzir o tempo total necessário para verificar todos os sistemas de arquivos (veja:
fsck(8)
).
O
processo de inicialização do Arch Linux
convenientemente cuida dos procedimentos fsck por você e irá verificar todas as partições relevantes em seu(s) dispositivo(s) automaticamente em cada inicialização. Consequentemente, geralmente não há necessidade de recorrer à linha de comando.
Verificação durante inicialização do sistema
Mecanismo
Há duas opções:
mkinitcpio oferece a opção de executar fsck em seu sistema de arquivos raiz antes de montá-lo pelo hook do fsck. Ao fazer isto, você deverá montar a raiz em modo de escrita  pelo apropriado parâmetro do kernel
rw
.
[1]
systemd irá executar fsck em todos os sistemas de arquivos, exceto os que tenham um código execução definido superior a 0 (em
/etc/fstab
ou arquivo init definido pelo usuário). Para o sistema de arquivos raiz, ele também deve ser montado inicialmente em modo somente-leitura com o parâmetro do kernel
ro
para depois ser remontado em modo de escrita pelo
fstab
(note que a opção de montagem
defaults
implica
rw
).
A primeira opção descrita é a padrão, e é a obtida se você seguir o
guia de instalação
. Se, ao invés dela, ocorrer a opção 2, você precisará remover o hook do fsck de
mkinitcpio.conf
e usar
ro
na linha de comando do kernel. O parâmetro do kernel
fsck.mode=skip
pode ser usado para certificar-se de que fsck está completamente desativado para ambas as opções.
Forçando a verificação
Se você usar o hook
base
do
mkinitcpio
, será possível forçar a execução do fsck durante a inicialização passando
fsck.mode=force
como um
parâmetro do kernel
. Isto fará com que ele verifique cada sistema de arquivos existente na máquina.
Alternativamente, systemd fornece
systemd-fsck@.service(8)
, que verifica todos os sistemas de arquivos configurados, os quais não foram verificados em initramfs. Contudo, verificar o sistema de arquivos raiz dessa maneira irá causar uma demora no processo de inicialização, já que o sistema de arquivos precisará ser remontado.
This article or section needs expansion.
Reason:
É possível executar fsck pela initramfs usando o hook do systemd? (Discuss in
Talk:Fsck (Português)
)
Nota
Para aqueles acostumados em usar outras distribuições GNU/Linux, os truques antigos que consistiam em escrever um arquivo com o nome
forcefsck
na raiz do sistema de arquivos ou usando o comando
shutdown
com a opção
-F
, somente funcionavam no antigo
SysVinit
e em versões anteriores do
Upstart
, e não estão mais funcionando com o
systemd
. O método descrito acima, portanto, é a única que funciona com Arch Linux.
Dicas e truques
Tentar reparar blocos danificados
Para automaticamente reparar setores danificados, execute:
Atenção
Isto não irá perguntar se você deseja repará-los, já que a resposta padrão será
Sim
quando você executá-lo.
# fsck -a
Reparar blocos danificados interativamente
Dica
Isto é útil quando um arquivo na partição de inicialização foi alterado, e o
journal
falhou em atualizá-lo corretamente. Neste caso, desmonte a partição de inicialização, e execute o seguinte código:
Para reparar setores danificados, execute:
# fsck -r <drive>
Alterando a frequência de verificação
Por padrão, fsck verifica o sistema de arquivos a cada 30 inicializações (contadas individualmente para cada partição). Para alterar a frequência de verificação, execute:
# tune2fs -c 20 /dev/sda1
Neste exemplo,
20
é o número de inicializações que ocorrerão entre duas verificações.
Note que
1
fará com que a verificação ocorra em cada inicialização, ao passo que
0
faria com que a varredura deixasse de ocorrer.
Dica
Se desejar ver a frequência e a atual contagem de montagens para uma partição específica, use:
# dumpe2fs -h /dev/sda1 | grep -i 'mount count'
Opções do fstab
fstab
é um arquivo de configuração do sistema e é usado para informar ao Linux kernel quais partições (sistemas de arquivos) montar e onde estará a árvore do sistema de arquivos.
Um entrada típica do
/etc/fstab
será algo semelhante a isto:
/dev/sda1   /         ext4      defaults       0
1
/dev/sda2   /other    ext4      defaults       0
2
/dev/sda3   /win      ntfs-3g   defaults       0
0
A sexta coluna (em negrito) é a opção do fsck.
0 = Não verificar.
1 = Primeiro sistema de arquivos (partição) passar pela verificação;
/
(partição raiz) deverá ser definida com 1.
2 = Todos os outros sistemas de arquivos a serem verificados.
Solução de problemas
Não é possível executar fsck em uma partição /usr separada
Certifique-se de que você definiu
hooks
em
/etc/mkinitcpio.conf
e que você lembrou-se de recriar sua imagem initramfs após editar este arquivo.
Verifique seu
fstab
! Somente a partição raiz precisa de "1" ao final da linha, todos os demais deverão conter "2" ou "0". Cuidadosamente verifique se há quaisquer erros de digitação.
ext2fs : no external journal
Às vezes (devido à falta de energia), um sistema de arquivos ext(3/4) poderá corromper-se de modo que um reparo normal não será capaz de solucionar. Normalmente, haverá um prompt do fsck indicando que não pôde encontrar um
journal
externo. Neste caso, execute os seguintes comandos:
Desmontar a partição baseada em seu diretório
# umount <diretório>
Gravar um novo
journal
à partição
# tune2fs -j /dev/<partition>
Executar fsck para reparar a partição
# fsck -p /dev/<partition>