O Ubuntu danifica as unidades USB?

74

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.

jan6352781
fonte
1
Eu tentaria dois testes para descobrir a causa raiz: 1) Você pode impedir que o erro apareça se você chamar syncum 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.
Arielf 01/04/19
2
Não acredite nas pessoas quando elas dizem que o Linux não corrompe suas unidades. Pode. No Ubuntu 15, mera cópia de arquivo seguido de reinicialização consistentemente me deu erros na chkdsk assim: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.
Mehrdad
1
^ ... para não mencionar, isso nem estava em um pen drive, estava no meu SSD principal. Um SSD novinho em folha. E aconteceu toda vez que eu não adicionei uma tonelada de E / S extra após a cópia do arquivo. Em outras palavras, a implementação do NTFS no Linux é interrompida, por mais que seus fãs o neguem e evitem acreditar.
Mehrdad
12
Este é um sistema de arquivos NTFS? FAT32? Você pode reproduzi-lo de forma confiável?
Braiam
2
O que há de tão ruim em montar unidades com comandos de shell ? ¯\(o_o)/¯
ulidtko

Respostas:

104

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 é:

  • ClnShutBitMask:
    Se bit for 1, o volume está "limpo". O volume pode ser montado para acesso. Se o bit for 0, o volume está "sujo", indicando que um driver do sistema de arquivos FAT não conseguiu desmontar o volume corretamente (durante uma operação de montagem anterior). O conteúdo do volume deve ser verificado quanto a danos nos metadados do sistema de arquivos.
  • HrdErrBitMask:
    Se esse bit for 1, nenhum erro de leitura / gravação no disco foi encontrado. Se esse bit for 0, a implementação do driver do sistema de arquivos encontrou um erro de E / S do disco no volume na última vez em que foi montado, o que é um indicador de que alguns setores podem estar com problemas. O conteúdo do volume deve ser verificado com um utilitário de reparo de disco que faça análises de superfície, procurando novos setores defeituosos.

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.

Takkat
fonte
3
Eu nunca tive esses erros nessas unidades quando desmontá-las com segurança - você tem certeza de que o suporte a esses bits está ausente?
Thomas Ward
5
@ThomasW. Esses bits são bastante obscuros, mas ocasionalmente tenho esses erros com as minhas unidades USB formatadas pelo Ubuntu no meu local de trabalho Windows 7. Até agora não vi nenhum padrão útil. A única coisa que posso dizer é que sempre desmonto / ejeto corretamente as unidades. Testar não é fácil, porque em casa, sem Windows, no trabalho, sem Ubuntu.
Takkat
O título é falso.
precisa saber é o seguinte
@MatthewRock: melhor?
Takkat
Sim, é melhor.
precisa saber é o seguinte
74

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 noe 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 repairo drive, ele irá formatá-lo sem avisar e você perderá todos os dados no drive.

Mark Kirby
fonte
40
1. O reparo não formata, o reparo salva os dados alocados em uma pasta. Para mim, parece que o Ubuntu não termina o processo de gravação corretamente.
precisa saber é o seguinte
10
2. A maioria das unidades USB tem o formato FAT32, desenvolvido pela Microsoft, então por que o Windows deve ser o único sistema a "não entender" alguma coisa?
precisa saber é o seguinte
17
-1 porque é infundado e errado. Eu vi o Ubuntu 15 corromper meu volume NTFS (sim, eu sei que você não vai acreditar em mim, mas eu já vi com meus próprios olhos e reproduzi pelo menos 3-4 vezes seguidas antes de acreditar em mim mesmo) e aconteceu mesmo apesar de eu sincronizar explicitamente todos os buffers. Concordo com @ jan6352781 que também suspeitava que era devido a não concluir o processo de gravação, e ainda o faço. De fato, se você esperar o suficiente após a gravação antes de reiniciar o Ubuntu, ele funcionará bem. Não temos motivos para acreditar que o Windows é o culpado aqui, e todos os motivos para acreditar que o Ubuntu é.
Mehrdad 02/04
7
Reparar a unidade não a formata. Executa o chkdsk. Ele não formata mais o disco do que o fsck formata um disco.
perfil completo de Journeyman Geek
16
Toda essa resposta é apenas um discurso retórico do Windows com zero evidência (exceto anedótica).
Millie Smith #
18

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 syncno 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.

alex_d
fonte
Recebo o pop-up no 14.04 (edição Linux Mint KDE) sempre que ejeto um drive USB e também minhas máquinas Kubuntu 15.10. Não tenho certeza sobre 15.04, mas eu diria que sim.
Jon Bentley
1
A GUI realmente não torna isso óbvio? Estou usando ejecto terminal há muito tempo e há um atraso notável antes que ele retorne se eu apenas copiei um arquivo grande.
Izkata
1
@ Izkata No baunilha Ubuntu 14.04, quando você clica no símbolo de ejeção no Nautilus, ele desaparece imediatamente. Ao contrário das unidades internas, porém, as unidades USB desaparecem completamente da barra lateral quando completamente desmontadas (ou seja, a gravação é concluída), portanto, há um período de tempo durante o qual a unidade USB está sendo gravada, mas parece ter sido ejetada.
alex_d
5

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:

  • Nunca desconecte uma unidade USB até depois de ter sido desmontada / 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 um syncsistema de arquivos,
  • Aguarde pelo menos alguns segundos após umount/ ejetar antes de desconectá-lo. Parece que, mesmo após umounta atividade da unidade, a luz pode continuar piscando por um tempo. Outros usuários como esse cara dizem que pode durar até um minuto.
  • Não confie apenas em syncnenhum deles, como esse cara que sofreu corrupção de arquivos.

Links relacionados (geralmente):

Xen2050
fonte
3

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.

Agent_L
fonte
2

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.

insira a descrição da imagem aqui

tviragh
fonte
1

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.

user158037
fonte
4
O OP está mal redigido, mas significa "sistema de arquivos", não "flash ROM".
Wizzwizz4
Parece que o OP pode significar dano real à unidade USB , eles dizem "Eu nunca tive uma unidade USB corrompida ou danificada, mas durante os últimos dois anos três das minhas unidades USB ficaram inoperantes " Se elas significassem apenas corrompidas, provavelmente teriam dito corrompidas em vez de "inoperante" @ wizzwizz4
Xen2050 2/16/16
3
@ Xen2050 No entanto, todas as outras respostas e tópicos de comentários, incluindo jan6352781, implicam ou afirmam que o sistema de arquivos é o problema e o "dispositivo quebrado" é uma extrapolação deles que não está funcionando corretamente.
Wizzwizz4
@ wizzwizz4 Bem, na resposta de Mark Kirby, o OP comenta "3. Nos últimos anos, pulei o reparo quase todos os dias, terminando com arquivos e unidades USB danificados ." Acho que é apenas a partir de unidades antigas que teriam falhado, o Windows ou não, mas eles OP ainda disse que
Xen2050
@ Xen2050 Ou talvez o OP estivesse se referindo à mensagem antiga "O dispositivo está danificado. Deseja que o Windows o conserte?" (parafraseado), que às vezes surge quando uma dll diferente lida com o problema. (Eu tive que me parecem, embora eu não tenho certeza que a última frase está certa.)
wizzwizz4
1

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:

Não me lembro onde encontrei essas informações, mas descobri quando mudei minha pasta Música. Ele reclamou que a unidade estava com defeito em vez de apenas reclamar sobre a pasta que procurava não existir mais. Antes de executar o reparo, o novo local apareceu no Ubuntu e o antigo no Windows 10 ... mas todos os arquivos não puderam ser abertos no 10. Depois de executar o reparo, o novo local da pasta Música apareceu no Windows, a pasta antiga desapareceu e funcionou no Windows novamente.

Correr synctambém não é uma má ideia.

Preto
fonte