Problema de listagem de arquivos FAT32 realmente estranho

5

Estou montando uma unidade FAT32 no meu NAS (que tem uma porta USB) e estou tendo um problema estranho quando uso o comando ls na raiz da unidade:

ls: cannot access ???²é?u.g: Input/output error
ls: cannot access ?f$?â?.k: Input/output errorPuTTY
ls: cannot access ?21ï??é.ìk?: Input/output error
ls: cannot access ºq'{??ùê.?zï: Input/output error
ls: cannot access +?l'æ~2?.]9: Input/output error
ls: cannot access ??j.é: Input/output error
ls: cannot access ëégö²?è.?« Input/output error
?.¢??: Input/output error
ls: cannot access ??d?¬«ëc.?½f: Input/output error
ls: cannot access ?r??%f.o??: Input/output error
ls: cannot access b}?çb¼=u.?c·: Input/output error
}??..÷p½: Input/output error
ls: cannot access u?;e?j?.

Eu não tenho certeza porque "PuTTy" é jogado lá na segunda linha. É o cliente que estou usando para acessar o NAS e estou executando a versão mais recente, mas não entendo o que isso tem a ver com o comando ls . Ele continua assim por um tempo e, em seguida, começa a listar arquivos que não estão realmente lá junto com os arquivos que são:

�?=?^Oaa�.h?=
?*ab^G^S??.?^[?
a?cw??^?*.=?$
�??a�h��.?�?
??a�?^_j!.?i?
�?a?m??^U.a^G^?
apps
??^Q??a?y.�?z

Estou usando o Debian / Lenny (agora), mas tive o mesmo problema antes de mudar para o Debian no meu NAS. Não tenho certeza de qual distro eu estava usando antes, acho que foi uma versão personalizada.

Quando eu conecto a unidade, sdc e sdc1 aparecem no diretório /dev . Não consigo montar sdc , mas posso montar com sucesso sdc1 . Estes são os comandos que eu tentei usar para montar:

mount /dev/sdc1 /USB
mount -t vfat /dev/sdc1 /USB
mount -o umask=0 -t vfat /dev/sdc1 /USB

# Additional
mount -t vfat -o codepage=850 /dev/sdc1 /USB
mount -t msdos -o codepage=850 /dev/sdc1 /USB
mount -t vfat -o codepage=869 /dev/sdc1 /USB
mount -t vfat -o codepage=850,iocharset=iso8859-7 /dev/sdc1 /USB
# ... and combinations of codepage 850, 869, 437 (the common ones)
# ... and combinations of utf8, iso8859-7, iso8859-1
# ... and additional flags such as umask=0, rw

Se eu verificar os logs após o comando ls , este é o resultado:

$ dmesg | tail
FAT: Filesystem panic (dev sdc1)
    invalid access to FAT (entry 0x8c31db6e)
FAT: Filesystem panic (dev sdc1)
    invalid access to FAT (entry 0xee786bb9)
FAT: Filesystem panic (dev sdc1)
    invalid access to FAT (entry 0x2f16a272)
FAT: Filesystem panic (dev sdc1)
    invalid access to FAT (entry 0xa8ee938e)
FAT: Filesystem panic (dev sdc1)
    invalid access to FAT (entry 0x6df5a84f)

Eu serei honesto, meu conhecimento em Linux não é tão bom - é limitado principalmente a tarefas administrativas básicas. É claro que, se eu conectar a unidade no Windows (7), ela funcionará bem.

Uma nota final que vale a pena mencionar é que lembro de ter que usar uma ferramenta especial para formatar a unidade, porque ela era muito grande para o Windows formatá-la.

EDITAR

Em uma inspeção mais próxima da unidade, todos os arquivos parecem estar presentes - então, de onde o linux está recebendo todo esse lixo? Existem apenas vários arquivos e pastas no diretório raiz no Windows. Poderia ser dados que não foram descartados adequadamente?

EDIT 2

O mesmo problema no Ubuntu no meu PC Portátil. O ls e o explorador de arquivos mostram essas listagens de arquivos estranhas.

    
por Andy E 01.04.2011 / 12:33

3 respostas

1

Parece um problema de página de códigos. Procure na página do manual por mount - nas seções fat , há uma configuração de codepage= que você pode usar.

Veja também a configuração iocharset= . (E pesquise na web por ambos.)

    
por 01.04.2011 / 14:09
0

Meu palpite é que o sistema de arquivos está corrompido ou pode ser que os dados estejam criptografados / compactados.

    
por 02.04.2011 / 14:09
0

Em uma máquina Windows, execute chkdsk /f / r - isso funcionou para mim. Você provavelmente pode executar fsck como root se não tiver acesso a uma máquina Windows. Eu perdi todos os diretórios que continham os arquivos estranhos.

    
por 31.08.2011 / 17:56