Não é possível excluir do cartão SD, 'Sistema de arquivos somente leitura'

1

Estou usando o Ubuntu 14.04.

Eu tenho um cartão SD que uso com minha câmera e estou tentando excluir fotos dele. Consegui movê-los para a Lixeira, mas quando tento excluir qualquer um dos arquivos da Lixeira, recebo Failed to delete the item from the trash .

Eu posso navegar para o diretório .Trash-1000/files no dispositivo, mas quando tento sudo rm dos arquivos, recebo rm: cannot remove ‘IMG_1483.JPG’: Read-only file system .

mount me dá isso:

/dev/sdb1 on /media/zack/6562-61611 type vfat (ro,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2)

Eu tentei montar novamente o dispositivo usando sudo mount /dev/sdb1 /media/zack/SD -o rw,dmask=0000 e recebi o mesmo erro quando tentei excluir os arquivos.

Por fim, verifiquei o interruptor no próprio cartão e confirmei que ele está na posição destravada. Eu tentei trocá-lo para bloqueado apenas no caso de ser um cartão bobo e eu não poderia deletá-lo então também.

O que está acontecendo aqui? Como posso me livrar desses arquivos?

Atualização 1: Eu tentei algumas outras coisas em resposta ao comentário de aventurin. Eu tirei uma nova foto, tentei sudo rm e isso funcionou. Quando voltei para .Trash-1000/files e tentei novamente, consegui excluir alguns arquivos, mas não outros:

$ ls
100___12
101___01
102___02    # directories
103___03
...
IMG_1365.JPG
IMG_1374.JPG
IMG_1375.JPG
IMG_1380.JPG
...

$ sudo rm -rvf *.JPG
removed ‘IMG_1365.JPG’
removed ‘IMG_1374.JPG’
removed ‘IMG_1375.JPG’
rm: cannot remove ‘IMG_1380.JPG’: Read-only file system
rm: cannot remove ‘IMG_1381.JPG’: Read-only file system
rm: cannot remove ‘IMG_1383.JPG’: Read-only file system
...

... e assim por diante. Eu fiz um ll antes de apagar esses arquivos, e as permissões para todos os arquivos .JPG parecem exatamente as mesmas.

Atualização 2:

$ dmesg | grep sdb1
[  714.950034] FAT-fs (sdb1): error, invalid access to FAT (entry 0x6ce0c8c0)
... # a bunch more of those
[ 2192.017345] FAT-fs (sdb1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ 2192.663466] sdb1: rw=0, want=105540772768, limit=62325760
[ 2192.663470] sdb1: rw=0, want=105540772744, limit=62325760
[ 2192.663499] FAT-fs (sdb1): error, invalid access to FAT (entry 0xad23600b)
[ 2192.663501] FAT-fs (sdb1): Filesystem has been set read-only
[ 2192.663601] FAT-fs (sdb1): error, invalid access to FAT (entry 0x58f3a807)
[ 2271.537913]  sdb: sdb1
[ 2273.782060] FAT-fs (sdb1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ 2407.374492] FAT-fs (sdb1): error, fat_free_clusters: deleting FAT entry beyond EOF
[ 2407.374496] FAT-fs (sdb1): Filesystem has been set read-only

Eu tentei sudo fsck /dev/sdb1 e recebi muitos erros:

0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
1) Remove dirty bit
2) No action
? 1
...
/.Trash-1000/files/IMG_1483.JPG  and
/.Trash-1000/files/117___09/IMG_1737.JPG
  share clusters.
1) Truncate first to 5439488 bytes
2) Truncate second to 0 bytes
? 1

Eu disse para consertar todos, mas quando eu corri novamente, todos eles aparecem novamente.

Atualização 3:

Eu desmontei o cartão e executei sudo fsck /dev/sdb1 -a . Ele correu por cerca de 6 horas e ainda não tinha terminado, então eu finalmente Ctrl-C-lo. Na maioria das vezes, parecia estar renomeando arquivos com nomes de usuários corrompidos, e tinha quase 18 mil arquivos renomeados antes de eu os matar (eu certamente nunca tirei tantas fotos antes ...).

Eu tentei sudo mount /dev/sdb1 /media/zack/SD -v -o rw e obtive esta saída:

$ sudo mount /dev/sdb1 /media/zack/SD -v -o rw
mount: you didn't specify a filesystem type for /dev/sdb1
       I will try type vfat
/dev/sdb1 on /media/zack/SD type vfat (rw)

Apesar de não ter um erro, ainda não consigo excluir os arquivos e obter o mesmo erro antigo do sistema de arquivos "somente leitura".

    
por Zack 05.09.2016 / 18:48

4 respostas

0

Seu sistema de arquivos parece estar corrompido. Se você não puder deixar o fsck rodando até o final, sugiro reformatar o cartão com mkfs.vfat . Mas, para evitar corrupção posterior, aconselho-o a verificar seu cartão SD com badblocks primeiro (você pode usar a opção -w destrutiva, mas precisará recriar a tabela de partições posteriormente - com cfdisk , por exemplo). Então, se você tiver algum bloco ruim, você pode passá-lo para o comando mkfs da seguinte forma:

badblocks -w -o ~/badblocksList /dev/sda
mkfs.vfat -l ~/badblocksList /dev/sda

Nota: como alternativa, você pode usar mkfs.vfat -c para executar uma verificação simples de blocos defeituosos ao formatar. Observe também que o FAT não é um sistema de arquivos de registro no diário e, como tal, é bastante sensível à corrupção se não for devidamente desmontado. Se possível, tente evitar o uso em dispositivos que você carrega.

    
por 06.09.2016 / 08:27
0
rm: cannot remove '/XXX/.Trash-1000/files/XXX.rtf': Read-only file system

Horas atrás, em um pendrive, recebi o mesmo erro mostrado acima. Ao googling, encontrei esta página. Eu tentei os métodos sugeridos, mas sem sucesso. Então eu comecei o Windows no VirtualBox. O Windows excluiu com êxito a pasta " .Trash-1000 " e tudo dentro dela.

    
por 22.02.2019 / 12:45
0

Na verdade, hdparm -r0 /dev/sda1 (modifique para o caminho do seu dispositivo conforme apropriado), depois ejetando e reinserindo o cartão funcionou para mim. Simplesmente remontar com o comando mount não.

Obtive a resposta do link

    
por 28.03.2019 / 14:53
-1

Eu tive exatamente o mesmo problema. Isso funcionou para mim:

  • Coloque o cartão SD em um leitor USB

  • monte-o

  • vá para a pasta no terminal

sudo rm -Rf .Trash-1000/

    
por 06.12.2018 / 15:32

Tags