Você possui um volume, partição ou disco formatado em NTFS (o sistema de arquivos do Windows) e que está em modo somente leitura, impedindo a gravação de arquivos a partir do Linux!? Segue lendo para descobrir como resolver…
O sistema de arquivos do Windows (o NTFS) é muito intolerante com relação a falhas de energia e eventualmente eles ficam inconsistentes impedindo que sejam gravados a partir do Linux.
Se você estivesse no Windows, ele o alertaria ou repararia o sistema durante um próximo boot, mas no Linux ele será montado em modo somente-leitura e será preciso tomar algumas ações manuais para que ele fique novamente gravável.
O comando que permite reparar o sistema de arquivos NTFS no Linux, similar ao “chkdsk” do Windows é o “ntfsfix” que deve ser executado com privéligios de root.
Tão logo o sistema seja corrigido você pode forçar a montagem em modo de gravação que tudo estará normal.
A correção
Vamos supor então que você tenha um disco externo mapeado em /dev/sdb1 e que precisa ser reparado. O comando “ntfsfix” (do pacote ntfs-3g) corrigirá a inconsistência existente, como abaixo:
sudo ntfsfix /dev/sdb1
The disk contains an unclean file system (0, 0).
Metadata kept in Windows cache, refused to mount.
Uma vez que o disco esteja reparado, você poderá montá-lo novamente com permissão de gravar dados nele.
Uma função que faz o serviço [quase] completo
Particularmente, eu uso uma função em shellscript no meu ~/.bashrc que se parece com isso:
fixntfs() {
[ -z "$1" ] && return 1
sudo ntfsfix "/dev/$1" && \
sudo umount "/dev/$1" && \
sudo mount "/dev/$1"
}
Assim, toda vez que meu disco NTFS está com problemas, basta eu invocar a função pela linha de comandos e meus problemas serão resolvidos:
fixntfs sdb1
Se eu não fornecer a partição a função sai com erro 1, do contrário o comando ntfsfix será invocado para corrigir a partição defeituosa.
Somente no caso da correção ser executada é que a partição será rapidamente desmontada e montada novamente em modo de gravação resolvendo o problema em definitivo.
Por fim
Antes de finalizar é importante lembrar que o comando ntfsfix faz parte do pacote ntfs-3g. Se você já tiver o costume de acessar discos do Windows pelo seu sistema Linux então ela já estará disponível, do contrário, não esqueça de instalar o pacote correspondente.
E ainda, na função que apresentei não há qualquer validação quanto ao sistema de arquivos, o que fica por conta do próprio comando ntfsfix realizar. Isso não é problema se você souber o que está fazendo (não execute esta função em partições não NTFS), mas se você espera que algum leigo use isso, é bom se cercar de validações para evitar que o pior aconteça.