Por que você pode usar um computador baseado em Linux ou um Live CD do Linux para recuperar dados que o Windows não conseguiu?
A sessão de perguntas e respostas de hoje chega até nós como cortesia do SuperUser - uma subdivisão do Stack Exchange, um grupo de sites de perguntas e respostas voltado para a comunidade
A questão
O leitor do SuperUser Philip Allgaier quer saber por que conseguiu recuperar dados com um Live CD do Linux que foi relatado como irrecuperável no Windows:
Fundo: No início deste ano, tive um problema com uma unidade SSD que o Windows não reconhecia mais. Mas, eventualmente, um Parted Magic 2012-10-10 inicializável fez o truque. Veja isso discussão resolvida . Uma pergunta ficou comigo daquele momento ...
Questão: Estou ciente de que o Linux é geralmente um pouco mais técnico e bruto, mas alguém pode descrever aproximadamente por que um sistema Linux (ou na verdade apenas aquele em particular, já que o Ubuntu não fez o truque) ainda é capaz de acessar / se comunicar com uma metade -dispositivo corrompido quando o Windows não está?
-
Eles simplesmente ignoram quaisquer indicadores potenciais de que algo pode estar errado?
-
Existem quaisquer razões concretas?
-
Foi apenas sorte que este ambiente específico foi capaz de fazer o SSD responder, mesmo que apenas por um tempo limitado?
Embora certamente possa ter sido sorte, provavelmente há mais do que alguns fatores em jogo. Vamos investigar.
A resposta
O contribuidor do SuperUser Eike oferece algumas explicações potenciais, além de apenas sorte, para sua capacidade de salvar os dados:
Normalmente, 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 for capaz de recuperar, digamos, o setor 5 e começar a travar assim que qualquer coisa ler o setor 5, a diferença pode ser simplesmente devido ao que diferentes sistemas acessam automaticamente quando reconhecem um novo disco.
Quando o Windows detecta um novo disco, ele lê a tabela de partição e tenta automaticamente abrir qualquer sistema de arquivos que saiba ler. Se qualquer uma das estruturas / blocos sendo lidos durante este processo de "montagem" acionar seu SSD com defeito para ir embora, a diferença com essa distribuição Linux específica é simplesmente que ela pode não montar automaticamente todas as partições em questão, ou pode, na hora da montagem, basta ler um subconjunto de setores diferente (a implementação do NTFS no Linux é muito diferente da do Windows - embora o formato em disco seja o mesmo, cabe ao SO quais as estruturas que ele considera necessário ler. O Windows pode ler cópias secundárias do MFT ou pode começar a pré-armazenar alguns dados e essa pode ser a diferença. O Ubuntu está em um barco semelhante - não é voltado para a recuperação fora da caixa, ele tentará montar qualquer sistema de arquivos que encontrar em mídia recém-descoberta, automaticamente. É por essa razão que distribuições especializadas voltadas para a recuperação são uma aposta melhor, já que elas só fazem o que você explicitamente lhes pede, em vez de fazer as coisas automaticamente.
Claro, você pode simplesmente ter tido sorte também. 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 o log do kernel, em um disco com defeito, 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 ignorá-lo etc. Normalmente, a melhor aposta é obter uma imagem da unidade com o maior número de setores lidos de forma limpa, e em seguida, tente recuperar seus dados dessa imagem (fazer qualquer análise diretamente na unidade é uma má ideia, geralmente porque a condição pode piorar e só porque você foi capaz de ler algo uma vez, isso não significa que será capaz de ler novamente .)
O colega colaborador AthonSfere oferece outra visão sobre as coisas:
Muito disso é a maneira 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 às ACLs e aos setores marcados como defeituosos ou vazios. Portanto, partições NTFS ou Fat criadas e mantidas no Windows, bem como MBRs do Windows, serão gerenciadas pelo Windows conforme o Windows as marcou.
Além disso, se a unidade está falhando, quanto mais você a usa, é mais provável que encontre um problema grave e o ambiente traga. Então, como o sistema operacional lida com o que entra em jogo, o Windows irá BSOD ou reinicializar, o processo de inicialização do Windows irá lançar mensagens MBR, mensagens de arquivos ausentes (NTDLR.dll está faltando ou corrompido) e parar, porque esses arquivos ruins são necessários.
Quando você usa um disco live, não está contando com nada disso. Um MBR ruim é ignorado porque você inicializa a partir do disco. Um setor defeituoso que corrompeu o NTDLR.dll não é necessário. Tudo está no disco. Você pode então tentar uma leitura. Se encontrar um setor "em branco" ou parte ruim, esse ambiente lida com isso da maneira que foi programado para fazer. O Ubuntu provavelmente prefere manter o comportamento normal do sistema operacional e continuar com o que provavelmente está acontecendo. O setor está em branco, faça outra coisa. Esse setor está ruim, fique longe, não leia novamente 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 informar que 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 se recuperar.
Além disso, o Windows PODE fazer muito isso com aplicativos de terceiros, 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 uma perda permanente real.
Eu simplifiquei isso e adicionei alguma interpretação, mas deve preencher alguns espaços em branco para o que você está pedindo.
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