Desligar uma unidade externa sem ejetar pode danificá-la?

Toda a gente já puxou uma unidade USB sem ejetar pelo menos uma vez. Aqui está o que realmente acontece aos seus dados e à sua unidade quando ignora o passo de ejeção.

Está com pressa. A unidade não ejeta. Puxa o cabo de qualquer maneira. Todos nós já o fizemos.

Talvez não tenha acontecido nada. Talvez tenha recebido aquela notificação irritante de “Disco Não Ejetado Corretamente” e tudo parecesse bem depois. Por isso, começa a perguntar-se se ejetar é realmente necessário, ou apenas um daqueles hábitos cautelosos que não importam na prática.

Importa. Mas nem sempre da forma que esperaria.

O que ejetar realmente faz

Quando ejeta uma unidade no macOS, o sistema faz três coisas em sequência.

Primeiro, limpa a cache de escrita. O macOS mantém dados escritos recentemente na memória antes de os confirmar na unidade. Isto melhora o desempenho, mas significa que os dados que “guardou” podem ainda não estar realmente no disco. Ejetar força a escrita de todos os dados em cache.

Segundo, fecha todos os handles de ficheiros. Cada processo que tenha um ficheiro aberto na unidade é notificado para o libertar. Isto dá às aplicações a oportunidade de terminarem o que estão a fazer e fecharem os ficheiros de forma limpa.

Terceiro, desmonta o volume. A unidade é removida da árvore do sistema de ficheiros e o sistema operativo deixa de reconhecer a sua existência. Apenas após este passo é que é fisicamente seguro desligar.

Quando ignora a ejeção e apenas puxa o cabo, ignora os três passos simultaneamente.

O risco real: cache de escrita

A cache de escrita é onde reside o perigo. Os sistemas operativos modernos, incluindo o macOS, não escrevem dados em unidades externas imediatamente. Agrupam as escritas e descarregam-nas periodicamente por motivos de desempenho.

Se copiar um ficheiro e a barra de progresso terminar, isso não garante que os dados estejam na unidade. O sistema pode ter confirmado a cópia a partir da sua própria cache enquanto a escrita real ainda está em fila. Desligue nesse momento e o ficheiro na unidade pode estar incompleto, corrompido ou faltar inteiramente.

A janela de risco varia. Após uma cópia de um ficheiro pequeno, pode ser um segundo ou dois. Após uma transferência grande, pode ser dez segundos ou mais. Não existe um indicador visual que lhe diga quando a cache foi totalmente descarregada.

E quanto às unidades de onde apenas lê?

Se ligou a unidade, abriu alguns ficheiros e nunca guardou nada nela, o risco de desligar desce significativamente. Sem escritas, não há cache de escrita para limpar, nem ficheiros a meio da transferência.

Mas “nunca guardei nada nela” é mais difícil de garantir do que pensa. O macOS escreve ficheiros .DS_Store em qualquer pasta que navegue no Finder. O Spotlight escreve dados de indexação. Algumas aplicações criam ficheiros temporários ou ficheiros de bloqueio em volumes a que acedem.

Pode não ter guardado nada explicitamente, mas o macOS provavelmente escreveu algo.

Corrupção do sistema de ficheiros

Para além da perda de ficheiros individuais, existe o risco mais amplo de corrupção do sistema de ficheiros.

Os sistemas de ficheiros mantêm estruturas internas: diretórios, tabelas de alocação, entradas de jornal. Estas estruturas descrevem onde cada ficheiro vive no disco e como o espaço é alocado. Quando escreve um ficheiro, o sistema de ficheiros atualiza estas estruturas. Se desligar a meio da atualização, as estruturas podem acabar num estado inconsistente.

O HFS+ utiliza journaling, que regista as alterações planeadas antes de as efetuar. Se uma desconexão interromper o processo, o sistema de ficheiros pode reproduzir o jornal para recuperar para um estado consistente. O APFS adota uma abordagem inteiramente diferente, utilizando copy-on-write em vez de journaling. Os novos dados são sempre escritos em espaço livre primeiro e os ponteiros são atualizados apenas após a conclusão da escrita. Se uma desconexão interromper o processo, os dados antigos continuam intactos na sua localização original. Com qualquer um dos sistemas de ficheiros, pode perder o ficheiro que estava a ser escrito, mas o sistema de ficheiros em si permanece intacto.

O exFAT e o FAT32 não têm jornal. Uma desconexão durante uma atualização de estrutura pode deixar todo o sistema de ficheiros num estado quebrado. Os ficheiros podem desaparecer, as pastas podem tornar-se ilegíveis ou a unidade pode recusar-se totalmente a montar.

Se a sua unidade estiver formatada em exFAT (comum em unidades partilhadas entre Mac e Windows), ejetar corretamente é ainda mais importante.

Danos físicos na unidade

As unidades modernas gerem razoavelmente bem a desconexão súbita ao nível do hardware. Os SSDs não têm partes móveis, pelo que não existe risco de colisão das cabeças. Os discos rígidos estacionam as suas cabeças de leitura/escrita automaticamente quando a energia é perdida.

A maior preocupação física é o conector. Puxar cabos USB repetidamente pode desgastar a porta tanto na unidade como no seu Mac. Os conectores USB-C são mais duráveis do que os antigos USB-A, mas não são imunes ao desgaste.

Desconexões inesperadas repetidas também podem afetar o firmware do SSD. O controlador da unidade tem de realizar operações de recuperação após cada encerramento não gracioso, o que adiciona ciclos de escrita e complexidade.

O efeito cumulativo

Uma única desconexão não planeada dificilmente causará danos catastróficos. O journaling nos sistemas de ficheiros modernos gere isso e as unidades são construídas para o tolerar.

O problema é quando se torna um hábito. Cada vez que ignora a ejeção, está a arriscar se a cache de escrita está vazia, se o sistema de ficheiros estava a atualizar e se tudo estará consistente quando voltar a ligar.

Ao longo de dezenas ou centenas de desconexões incorretas, as probabilidades de algo correr mal aumentam. Pequenas inconsistências acumulam-se. Os ficheiros desenvolvem corrupção subtil que não aparece até tentar abri-los semanas depois.

Limite-se a ejetar a unidade

O caminho seguro é óbvio: ejete sempre. Mas a razão pela qual as pessoas o ignoram não é preguiça. É porque a ejeção falha muitas vezes no macOS. Tenta ejetar, dizem-lhe que o disco está “em utilização” e não sabe porquê ou o que fazer em relação a isso.

O Ejecta remove a razão pela qual as pessoas ignoram a ejeção em primeiro lugar. Quando a sua unidade não ejeta, diz-lhe exatamente qual o processo que a está a bloquear e permite-lhe encerrar esse processo com um clique. Tudo demora alguns segundos em vez de se tornar um projeto de investigação.

Ejetar a sua unidade corretamente é um daqueles pequenos hábitos que evitam perdas de dados raras mas dolorosas. Torne fácil fazer a coisa certa e fá-lo-á sempre.

Se prefere não utilizar o Terminal todas as vezes, o Ejecta mostra-lhe exatamente qual o processo que está a bloquear o seu disco — e permite-lhe encerrá-lo com um clique, direto da sua barra de menus.

Comprar Agora — $9.99