Sempre que desmonto uma unidade USB do Nautilus e a conecto a uma máquina Windows, recebo um aviso de que a unidade precisa ser reparada.
(a mesma mensagem como nesta captura de tela)
Por mais de 10 anos trabalhando com Windows, nunca tive uma unidade USB corrompida ou danificada, mas durante os últimos dois anos três das minhas unidades USB ficaram inoperantes, por isso não posso provar isso, mas é óbvio que isso está relacionado ao (des) montagem do Ubuntu .
Um amigo me disse que eu posso evitar esse dano usando udisks e sincronização, mas espero que não seja esse o caminho, montando unidades com comandos de shell em 2016.
windows
filesystem
ntfs
fat32
jan6352781
fonte
fonte
sync
um shell antes de desmontar no Ubuntu? (improvável) 2) Tente escrever apenas um arquivo de cada vez, desmonte e verifique se esse arquivo pode ser lido no Windows e se seu conteúdo está atualizado, apesar de ver este aviso. 2) significa que o problema é mais provável com o Windows sendo exigente dizendo "encontramos erros" sobre algum problema não real.Stage 2: Examining file name linkage ... Found corrupt basic file structure for "<0x32,0x1e63>" ... queued for offline repair. Found an unneeded link ($FILE_NAME: ???) in index "$I30" of directory "\ <0x5,0x5>" ... queued for offline repair. Found missing Index entry for file "<0x32,0x1e63>" from index "\??\D:\found.000" of directory "$I30" ... queued for offline repair.
¯\(o_o)/¯
Respostas:
Não se preocupe, o Ubuntu não danificou seu drive USB. Mas não usamos sinalizadores de bits mal documentados de um sistema de arquivos FAT32, FAT16 ou NTFS. No Windows, esses sinalizadores indicam um sistema de arquivos possivelmente corrompido quando não desmontamos corretamente a unidade ou ocorreu um erro de E / S.
Esses bits estão localizados em uma entrada reservada de uma tabela de partição FAT. De acordo com um artigo interno da Microsoft de 2004, o objetivo desses bits é:
Houve uma discussão com os desenvolvedores do sistema de arquivos do kernel, há alguns anos, sobre como superar isso, mas não consegui acompanhar os resultados. Aparentemente, não o transformou em kernels recentes.
Como apenas um sinalizador de bit está envolvido, mas geralmente nossos dados devem estar em perfeita forma, podemos ignorar os problemas de aviso do Windows nas unidades que usamos anteriormente no Ubuntu.
fonte
Isso é principalmente um problema com o Windows. Ele acha que é o único sistema operacional do mundo e atua se detectar algo que não entende.
Só porque o Windows diz que você deve reparar a unidade não a torna verdadeira.
Qualquer uma das minhas unidades usadas com o Ubuntu recebe essa mensagem do Windows, eu apenas digo
no
e elas funcionam bem com o Windows.Em suma, não há nada de errado com a unidade, é apenas algo que o Windows não entende e sua resposta é destruí-la.
Não faça
repair
o drive, ele irá formatá-lo sem avisar e você perderá todos os dados no drive.fonte
Como você sugeriu em um comentário, isso possivelmente está relacionado ao Ubuntu não concluir o processo de gravação antes de remover a unidade flash. O Ubuntu grava os arquivos na RAM durante o processo de cópia e grava esses arquivos do buffer na unidade USB em segundo plano após o fechamento da caixa de diálogo. Há outra respostaisso sugere que esse é um problema especialmente para máquinas com grandes quantidades de memória, mas é provável que você esteja removendo a unidade antes que a gravação em segundo plano seja concluída. Quando você ejeta uma unidade, isso força o buffer a ser gravado no disco, mas é difícil saber quando a gravação está realmente concluída. Há um pop-up nas versões mais recentes (15.10 para determinadas, possivelmente 15.04) com a intenção de remediar isso - um alerta roxo aparece após algum tempo (geralmente curto) que diz que algo como "[Drive] agora pode ser removido" uma vez a gravação está concluída.
Provavelmente, esse é o motivo pelo qual seu amigo sugeriu a sincronização. A execução
sync
no terminal força todos os dados armazenados em buffer a serem gravados no disco e deve retornar apenas quando as gravações forem concluídas (consulte esta resposta ). Veja esta resposta para um utilitário que o ajudará a determinar se esse é realmente o problema.fonte
eject
o terminal há muito tempo e há um atraso notável antes que ele retorne se eu apenas copiei um arquivo grande.Eu já vi muitas unidades USB, especialmente cartões flash (SD, etc) em adaptadores USB, com sistemas de arquivos FAT (praticamente todas as unidades USB pré-formatadas com FAT32) são corrompidas ao usar as distros derivadas do Ubuntu e do Ubuntu. Era quase uma ocorrência regular a cada poucos meses de uso diário regular.
Se fosse um problema de hardware, a formatação das partições com ext3 (ou 4) não deve ajudar, mas o ext3 / 4 torna os sistemas de arquivos praticamente à prova de balas. (ext2 também foi corrompido nos poucos meses em que tentei; deveria ter menos gravações para ter uma vida útil mais longa para drives flash, principalmente sem diário).
Portanto, o Ubuntu não deve danificar fisicamente os drives USB, mas ainda não confio 100% nos sistemas de arquivos FAT.
Eu acho que a corrupção do sistema de arquivos pode ser melhor evitada por:
umount
/ ejetada. Mesmo que a unidade não esteja gravando nada no momento (se houver luz, não está piscando) e mesmo que você tenha feito umsync
sistema de arquivos,umount
/ ejetar antes de desconectá-lo. Parece que, mesmo apósumount
a atividade da unidade, a luz pode continuar piscando por um tempo. Outros usuários como esse cara dizem que pode durar até um minuto.sync
nenhum deles, como esse cara que sofreu corrupção de arquivos.Links relacionados (geralmente):
fonte
Isso tem pouco a ver com qualquer sistema operacional. Este é um erro do sistema de arquivos, que na maioria dos casos indica que a unidade não foi desmontada corretamente (erro do usuário). Não é uma indicação absoluta de dano, apenas indica uma possibilidade de dano. Se presente, o dano geralmente é limitado aos últimos arquivos gravados. O comando "Reparar" do Windows, nesse caso, verifica a unidade em busca de setores marcados como "ocupados", mas não atribuídos a nenhum arquivo e, em seguida, atribui esses fragmentos e partes a novos arquivos.
Este erro também pode ser criado no Windows, se você apenas arrancar a unidade durante a gravação sem desmontá-la primeiro (no Windows, "Ejetar" executa a desmontagem).
Ver esta mensagem significa que a unidade não foi desmontada corretamente.
Você pode verificar por si próprio se o sistema de arquivos foi realmente danificado ou é apenas falso positivo: se após executar "Reparar" uma nova pasta chamada "found000" aparecer com alguns arquivos, isso significa que realmente houve uma gravação inacabada que foi interrompido. Alguns dos seus dados foram perdidos, e isso é uma preocupação.
fonte
Eu uso vários anos o ubuntu e o windows com inicialização dupla e, quando desmonto a unidade da maneira correta, no windows sempre aparece a mensagem de erro, mas nunca houve erro no meu drive USB. No W10, você pode desativar essa mensagem de erro pop-up.
fonte
Quase não há como um sistema operacional danificar a unidade USB; depois de um formato normal (não rápido), não resta mais vestígios de que a unidade já foi usada com o Ubuntu.
Verifique as unidades com "H2testw" ou "USB Flash Drive Tester" - setores defeituosos podem ser fonte de muitos erros estranhos.
fonte
Não sei dizer se a unidade foi "danificada", talvez tenha sido e talvez não. Mas como alguém que pode dizer o mesmo: "Há mais de 10 anos trabalhando com o Windows ...", posso dizer que, se você estiver executando o Windows 10, isso poderá ser a fonte dos seus novos problemas. Encontrei um novo problema no meu primeiro dia, às 10: em 10, um banco de dados é criado para unidades externas (pode ser o banco de dados de indexação, não me lembro). Se esse banco de dados não corresponder à unidade, ele informará que sua unidade está danificada, às vezes você pode ignorar esse aviso e às vezes não (veja a anedota). A execução de "reparo" corrigirá o banco de dados.
Anedota:
Correr
sync
também não é uma má ideia.fonte