Por que os sistemas Linux às vezes recuperam dados O Windows não pode?
Por que é que você pode usar um computador baseado em Linux ou Live CD do Linux para recuperar dados??
A sessão de perguntas e respostas de hoje nos é oferecida por cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas conduzido pela comunidade..
A questão
Leitor de SuperUser Philip Allgaier quer saber por que ele conseguiu recuperar dados com um Live CD do Linux que foi reportado como irrecuperável no Windows:
Fundo: No começo deste ano, tive um problema com uma unidade SSD que o Windows reconheceria mais. Mas, eventualmente, um Parted Magic inicializável 2012-10-10 fez o truque. Veja este tópico resolvido. Uma pergunta ficou comigo a partir daquele momento ...
Questão: Estou ciente de que o Linux é geralmente um pouco mais técnico e bruto, mas alguém pode descrever por que um sistema Linux (ou apenas aquele em particular, já que o Ubuntu não faz o truque) é capaz de acessar / comunicar com um meio dispositivo corrompido quando o Windows não é?
-
Eles simplesmente ignoram qualquer indicador potencial de que algo possa estar errado??
-
Há alguma razão concreta em tudo?
-
Foi apenas sorte que este ambiente em particular conseguisse fazer com que o SSD respondesse apenas por um tempo limitado??
Embora certamente possa ter sido sorte, é provável que haja mais do que alguns fatores em jogo. Vamos investigar.
A resposta
O colaborador do SuperUser Eike oferece algumas explicações potenciais, além da sorte, para sua capacidade de salvar os dados:
Geralmente isso se resume ao que, exatamente, está sendo acessado e como, exatamente, o dispositivo está falhando. Por exemplo, se o SSD em questão não conseguir recuperar, digamos, o setor 5 e começar a parar assim que algo ler o setor 5, a diferença pode ser simplesmente devido a que sistemas diferentes acessam automaticamente quando reconhecem um novo disco.
Quando o Windows detecta um novo disco, ele lê a tabela de partições e automaticamente tenta abrir qualquer sistema de arquivos que saiba ler. Se qualquer uma das estruturas / blocos que estão sendo lidos durante este processo de “montagem” acionar seu SSD defeituoso para dar adeus, a diferença com essa distribuição linux específica é simplesmente que ele não pode montar automaticamente todas as partições em questão, ou pode na montagem, basta ler um subconjunto diferente de setores (a implementação do NTFS no Linux é muito diferente da do Windows - enquanto o formato no disco é o mesmo, cabe ao SO quais estruturas julgar necessário ler. O Windows pode ler cópias secundárias da MFT, ou pode começar a precegar alguns dados e isso pode ser a diferença.O Ubuntu está em um barco similar - ele não é voltado para recuperação, ele tentará montar qualquer sistema de arquivos que encontrar em mídia recém-descoberta, automaticamente, é por isso que distribuições especializadas voltadas para a recuperação são uma aposta melhor, já que elas só fazem o que você pede explicitamente para elas, em vez de fazer as coisas automaticamente.
Claro, você pode simplesmente ter tido sorte também. Eu não sei o suficiente sobre o modo de falha do SSD para dizer.
O Linux geralmente não ignora indicadores de que algo está errado. Ele receberá os mesmos erros SCSI do chipset SATA que o Windows - se você olhar no log do kernel, em um disco defeituoso, você verá muitas mensagens de erro. Depende de quais programas estão realmente acessando o disco, o que acontecerá a seguir. Se for um software voltado para a recuperação, ele pode tentar reler o mesmo setor um número limitado de vezes, pode pular, etc. Geralmente, a melhor opção é obter uma imagem da unidade com tantos setores lidos da forma mais clara possível, e tente recuperar seus dados a partir dessa imagem (fazer qualquer análise diretamente na unidade é uma má idéia, geralmente, uma vez que sua condição pode piorar e só porque você foi capaz de ler algo uma vez, isso não significa que você será capaz de lê-lo novamente .)
Fellow contribuidor AthonSfere, oferece outra opinião sobre as coisas:
Muito disso é o modo como o ambiente lida com o sistema de arquivos, e as ACLs ou o disco rígido.
O Windows fará tudo o que puder por conta própria para obedecer suas ACLs e setores marcados como ruins ou vazios. Portanto, as partições NTFS ou Fat criadas e mantidas no Windows, bem como os MBRs do Windows, serão manipulados pelo Windows, conforme marcado pelo Windows..
Além disso, se a unidade estiver falhando, quanto mais você a usar, mais provável será encontrar um grande problema e o ambiente falhará. Então, como o sistema operacional trata que entra em jogo, o Windows irá BSOD ou reiniciar, o processo de inicialização do Windows irá lançar mensagens MBR, faltando mensagens de arquivos (NTDLR.dll está ausente ou corrompido) e parar, porque esses arquivos ruins são necessários.
Quando você usa um disco ao vivo, não está contando com nada disso. Um mau MBR é ignorado porque você inicializa o disco. Um setor ruim que corrompeu o NTDLR.dll não é necessário. Tudo está no disco. Você pode então tentar ler. Se encontrar um setor 'em branco' ou um bit ruim, esse ambiente o manipula, mas foi programado para isso. O Ubuntu provavelmente prefere manter os comportamentos normais do SO e continuar com o que é mais provável que aconteça. O setor está em branco, faça outra coisa. Esse setor é ruim, fique longe, não leia de novo não escreva ou vai causar problemas.
Uma plataforma de recuperação, no entanto, vai querer ler todos os dados. Os marcadores de arquivo dizem que o arquivo deve estar em 0,5, 13…. Se o sistema de arquivos reportar 13 está faltando, ignore o cabeçalho em branco e leia o arquivo de qualquer maneira, ou leia o setor defeituoso da melhor maneira possível e tente recuperar.
Além disso, o Windows pode fazer muito isso com aplicativos de terceiros, o Recuva pode encontrar muitos desses arquivos "ausentes", por exemplo. Mas você não quer estar em um ambiente que pode gravar de volta no disco e causar perda permanente de verdade.
Simplifiquei isso e adicionei alguma interpretação, mas ela deve preencher alguns espaços em branco para o que você está perguntando.
Tem algo a acrescentar à explicação? Soe fora nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui.
http://superuser.com/questions/586666/why-can-linux-systems-sometime-recover-data-windows-cant-any-concrete-reasons