Efetue a verificação de blocos danificados na partição raiz no Linux

3

Minha partição raiz está formatada como ext3 e gostaria de realizar uma verificação de blocos defeituosos nela. Normalmente, o e2fsck -c -c faz isso, mas você não pode executá-lo em uma partição montada. Eu sei que é possível forçar um fsck a ser executado na inicialização, criando o arquivo / forcefsck , mas é possível especificar que ele também deve verificar se há blocos defeituosos? Se não, qual é a maneira recomendada de verificar os blocos defeituosos na partição raiz? Eu gostaria de evitar ter que criar um disco de resgate e inicializá-lo.

    
por pafcu 28.11.2010 / 09:56

5 respostas

4

Se os seus scripts init o suportarem (Fedora IIRC), você pode adicionar -c -c a /fsckoptions (então crie /forcefsck e reinicialize). Infelizmente, esse recurso não está disponível em todos os lugares. Você provavelmente terá que reinicializar para um LiveCD / LiveUSB.

    
por 28.11.2010 / 11:28
3

Veja Posso rodar fsck ou e2fsck quando o sistema de arquivos Linux é montado? , que observa que executar qualquer fsck em um sistema de arquivos montado pode resultar em corrupção de dados ou disco.

Sugere as seguintes soluções:

A. Derrube o sistema no modo de usuário único, desmonte o sistema e execute o e2fsck

init 1
umount /dev/sda
e2fsck -y /dev/sda3

B. Inicialize a partir do CD de instalação no modo de recuperação

boot: linux rescue nomount<br/>
mknod /dev/sda
mknod /dev/sda3
fsck /dev/sda3

Outra solução seria usar o fsck para verificar o disco inteiro (exceto swap) no momento da inicialização, como root:

shutdown -Fr now

onde -F significa force fsck check e -r para reinicialização.

    
por 28.11.2010 / 11:00
2

Você pode inicializar o sistema e especificar init=/bin/bash como parâmetro de inicialização. Isso será executado bash na inicialização e não nos scripts de inicialização regulares. Como resultado, nenhum sistema de arquivos é processado e você fica com uma raiz somente leitura.

Agora você tem uma raiz somente leitura e pode fsck.

    
por 16.11.2013 / 00:26
2

Para o sistema de arquivos desmontado, eu também uso:

dd if=/dev/diskdevice of=/dev/null

Para verificar, há algum erro durante a leitura.

    
por 21.03.2014 / 01:27
0

eu uso

cat / dev / diskdevice > / dev / null

e, em seguida, verifique o que está no dmesg. Se houver um bloqueio ruim, ele dirá. O reparo é outra longa história.

    
por 16.11.2013 / 00:22