Pen Drive não conseguindo copiar arquivos, erros de permissão

Iniciado por Wallchs, 05 de Julho de 2015, 01:33

tópico anterior - próximo tópico

druidaobelix

#30
Entretanto, se tiver interesse (nem todo mundo tem) e apenas para aprender um pouco mais (nem todos querem aprender nada disso), ainda pode "brincar" para recriar o filesystem informando os blocos com defeito.

Note que independentemente de qualquer coisa esse pendrive está "morrendo" e provavelmente vai num crescendo de badblocks, cada vez que usa mais blocos ficam defeituosos, até parar de uma vez por todas, então isso aqui de fato é apenas "brincar" com o pendrive.

Para essa finalidade, para remapear o filesystem, use aquele arquivo anteriormente criado (errosbablocks.dat) como input para o mkfs, ou seja, vai dizer ao sistema de arquivos quais blocos estão ruins e por isso não devem ser utilizados.

Como root copie o arquivo errosbadblocks.dat para /root

Para tornar-se root:

sudo su

Em seguida, estando dentro do diretório onde se encontra o arquivo:

cp errosbadblocks.dat /root

Retorne ao usuário:

exit

Se necessário desmonte o pendrive:

sudo umount /dev/sdb1

Recrie o filesystem:

sudo mkfs.ext4 -l /root/errosbadblocks.dat /dev/sdb1

Mas na verdade essa técnica não é das melhores, pois pode haver uma dissociação entre o que o bablocks isolodamente captou e a forma como o mke2fs realmente lê os blocos ao criar o filesystem, ou seja, pode existir divergência entre uma coisa e outra. Esclarecendo: o mkfs é uma interface, uma capa, do programa real, que é o mke2fs.

Então a melhor técnica é fazer a verificação de badblocks a partir do próprio mke2fs no exato momento em que ele irá criar o filesystem, ou seja, ele identifica o bloco, chama o badblocks, que lê o bloco faz a verificação e passa o resultado para o mke2fs, assim, o trabalho fica sincronizado com os mesmos resultados. O detalhe é que fica bastante demorado para formatar e criar o sistema de arquivos, mas é a melhor técnica.

Para fazer isso se usa o mke2fs com o parâmetro (options) -c

-c     Check the device for bad blocks before creating the file system.
              If this option is specified twice, then a slower read-write test
              is used instead of a fast read-only test.

Então nesse caso para remapear o filesystem pode fazer algo assim:


sudo mke2fs -cc -t ext4 /dev/sdb1

A execução disso também pode ser bastante demorada, mas é interessante de ver.
A opção duplo -cc  (é o 'twice' da descrição) no comando acima está dizendo para fazer o read-write test, isto é, teste com leitura e gravação e não apenas leitura (que seria um único -c, mais rápido)

Como é apenas para "brincar" e considerando que já rodou o badblocks, faça primeiro de uma forma para experimentar e depois da outra forma para ver como é que é.

www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.