A formatação realmente remove tudo em um disco rígido físico?


19

Gostaria de entender o que a formatação realmente remove.

Ao iniciar um computador, algo aparece, semelhante ao DOS. Isso não pode ser armazenado em um disco rígido? Onde é armazenado então?

Eu li que existe um setor de inicialização no disco rígido, existe alguma sobra no disco rígido depois de formatá-lo? Ele realmente acaba com 0 bytes restantes em uma unidade?


6
A formatação não remove tudo. Para remover tudo o que se usar um programa para zeros escrita sobre toda a unidade
barlop

6
Um formato não rápido no Vista ou mais recente, na verdade, escreve zeros. Versões anteriores do Windows executavam o que é essencialmente chkdsk /b.
Daniel B

5
Essa "coisa que se assemelha ao DOS" pode ser um prompt da UEFI, de certa forma.
user253751

3
Pelo menos uma "resposta" refere-se ao BIOS como um "sistema operacional" . Essa é uma descrição incorreta para um programa independente. Para mais ver discussão superuser.com/questions/424892/is-bios-considered-an-os
serragem

Respostas:


51

São realmente três perguntas diferentes, com um caminho longo e difícil para o entendimento completo.

Deixe-me tentar comprimir isso em idéias menores e mais simples ...

Pense em um disco rígido como um livro de referência com um índice na parte traseira para procurar rapidamente seções relevantes. Em seguida, remova o índice. O livro ainda é legível, mas apenas de uma maneira mais linear. É mais difícil encontrar o capítulo certo, mas não impossível.

Se você formatar rapidamente uma unidade, tudo o que realmente está fazendo é remover o 'índice' - todos os dados reais ainda estão lá. Nesse ponto, se algo tentasse gravar no disco, ele não 'saberia' que os dados antigos estavam lá e, portanto, criaria um novo 'índice' e gravaria sobre os dados antigos.

Um formato completo sobrescreveria os dados reais em si - embora ainda possa ser recuperado com técnicas avançadas.

Quando você inicializa um computador com um disco rígido limpo ou totalmente em branco, o que você vê é um pequeno sistema operacional (na verdade um programa independente, mas funciona como um pequeno sistema operacional, para todos os efeitos) que é mantido no hardware real do computador , não no próprio disco rígido - que indica à máquina onde procurar mais instruções.

O setor de inicialização é um pequeno setor do disco rígido que contém uma instrução informando ao computador onde procurar em seguida um sistema totalmente inicializável.


1
Nota: O "setor de inicialização" informa o computador, não o próprio disco rígido, sobre como procurar o próximo disco rígido para obter mais instruções.
Makyen 01/08/16

5
A EFI faz tudo o que um sistema operacional faz.
Zan Lynx

6
Acho que, em vez de dizer que é impreciso e enganoso, você precisará tentar fornecer uma alternativa. Não consigo realmente pensar em uma maneira de comprimir esse "sistema" específico aqui sem mergulhar em detalhes desnecessários e igualmente enganosos. Pode ser mais preciso, mas não necessariamente ajudará o OP a entender o que está acontecendo. Duvido muito que o OP tenha uma compreensão precisa e direta do que é um sistema operacional para começar.
Nelson

Vale ressaltar que isso é válido para o HDD. As unidades SSD são ainda mais complexas.
Hauleth

@Hashim - vou aceitar as outras edições, mas "BIOS" é muito específico e não é o que eu quis dizer. Não possuo computadores com BIOS.
Tetsujin

9

Existem 3 perguntas aqui.

Gostaria de entender o que a formatação realmente remove.

Sobre a formatação: Existem alguns métodos para formatar. Um é chamado de formato rápido. Tudo o que faz é marcar a partição formatada como vazia sem remover os dados. O formato normal marcará a partição como vazia e, além disso, escreva 0 na partição inteira. Isso ainda permitirá que um programa não formatado recupere dados, mas isso levará mais tempo. Existem também programas que podem limpar com segurança um disco, gravando muitos dados aleatórios no disco em mais de um ciclo, dificultando a recuperação de dados por um programa não formatado.

Lembre-se de que uma vez formatada uma unidade e exibida como vazia (mesmo com o método de formatação rápida) quando você começar a gravar dados nela, ela substituirá os dados no local em que os dados foram armazenados anteriormente. Isso dificultará a recuperação de dados específicos por um programa não excluído.

Ao iniciar um computador, algo aparece, semelhante ao DOS. Isso não pode ser armazenado em um disco rígido? Onde é armazenado então?

Em seguida, a tela de texto que você vê quando inicia um computador é chamada de BIOS. O BIOS (Basic Input Output System) é o sistema operacional que se comunica com o seu hardware e permite que o Windows ou qualquer outro sistema operacional interaja com o seu hardware. Dado que às vezes precisa determinar quando o hardware está acabando, o BIOS possui uma interface de texto e um programa SETUP para interagir com ele. Essa interface de texto é o que você vê quando inicia um computador. Observe que a maioria dos BIOSs tem uma função para mostrar uma imagem e não confundir o usuário.

Eu li que existe um setor de inicialização no disco rígido, existe alguma sobra no disco rígido depois de formatá-lo? Ele realmente acaba com 0 bytes restantes em uma unidade?

O setor de botas de um disco rígido é um local específico no disco rígido que somente é alterado ao alterar as partições. O setor de inicialização determina de qual partição inicializar se você tentar inicializar a partir desse disco rígido específico. A formatação NÃO afeta o setor de inicialização. Alterar apenas o setor de inicialização ainda fará o disco rígido funcionar corretamente, exceto que você não pode inicializá-lo.


2
"The bootsector basically is a config file"- talvez em sistemas (U) EFI / GPT? Em sistemas baseados em MBR, pelo menos, o setor de inicialização contém código. (O fato de que não há configuração é realmente bastante dependente do código no início do setor.)
TOOGAM

6
"... além disso, escreva 0 na partição inteira. Isso ainda permitirá que um programa não formatado recupere dados ..." - Esse será um truque realmente interessante para recuperar dados que foram zerados. IOW você está se contradizendo ..
sawdust

4
@sawdust Ainda é possível recuperar alguns dados. Ou, pelo menos, alguns pedaços dele, através de métodos avançados. Recuva PODE recuperar alguns desses dados. Uma única passagem pode não ser suficiente para alterar REALMENTE todo o campo magnético do disco rígido. Com os SSDs, zerar os dados pode não funcionar bem devido às técnicas de nivelamento de desgaste que podem deixar os setores intocados. Isso significa que, com tempo / sorte / algum conhecimento, esses dados ainda podem ser recuperados. É por isso que você usa o ATA Secure Erase nos SSDs.
Ismael Miguel

@IsmaelMiguel __ Então, você faz uma distinção de que a recuperação de dados pode ser possível por técnicos qualificados. O Recuva não faz reivindicações sobre a recuperação de arquivos substituídos, apenas para arquivos "excluídos". Mas minha crítica é que esta resposta afirma que qualquer pessoa com algum programa "não formatado" é capaz de realizar esse feito de recuperação! Para sua informação, eu fiz a programação do sistema de arquivos e do driver de disco, bem como o firmware do controlador de disco, por isso tenho alguma compreensão deste tópico.
serragem

@sawdust Eu sei que eles não fazem clains. Eu estou fazendo essas reivindicações. E essas não são reivindicações sólidas. A palavra "maio" é a palavra-chave lá. O Recuva pode detectar arquivos parcialmente excluídos, mas não sei quanto ele pode extrair desses arquivos parcialmente substituídos.
Ismael Miguel

6

Gostaria de entender o que a formatação realmente remove.

Quando um computador "formata" um disco ou uma partição, isso significa criar um volume do sistema de arquivos. Um "volume" é basicamente um local onde os arquivos são armazenados; para disquetes antigos, o disco inteiro era basicamente o volume. Para discos rígidos, um volume foi armazenado em uma partição e um disco poderia ter várias partições (o que significa que ele teria vários volumes).

Basicamente, a formatação acaba criando uma tabela em branco. Quando digo "tabela", você pode pensar em um gráfico com linhas e colunas. Cada linha se refere a um nome de arquivo. Cada coluna identifica um fragmento de arquivo. Por exemplo, "o primeiro fragmento deste arquivo está no setor 1000". "O segundo fragmento deste arquivo está no setor 2000". O processo de formatação cria uma tabela em branco e ela é preenchida à medida que os arquivos são criados. Com o DOS, o tipo de sistema de arquivos foi nomeado após esta tabela, que foi chamada de "Tabela de Alocação de Arquivos".

Se você não está preocupado com dados antigos e com quem pode acessar dados antigos (o que pode ser uma preocupação se esses dados são confidenciais / sensíveis), sua melhor aposta é fazer um "formato rápido", que apenas cria os detalhes mínimos para o volume do sistema de arquivos que controla os arquivos. Se você escolher entre um formato "mínimo" / "rápido" e um formato "completo" / "estendido", é provável que o último formato faça algo em cada setor de disco que faz parte do volume do sistema de arquivos. Isso pode significar apagar cada setor ou apenas tentar fazer outra verificação para garantir que o setor seja fisicamente utilizável.

Ao iniciar um computador, algo aparece, semelhante ao DOS.

Como a resposta do LPChip, presumo que você queira dizer o processo de "inicialização do sistema". Em máquinas mais antigas, isso era chamado de Sistema Básico de Entrada / Saída, abreviado como BIOS. Existem certos padrões sobre o funcionamento de um BIOS, para que o software do computador (como o sistema operacional) possa interagir com partes do computador. Muitos sistemas mais novos usam um padrão mais novo, chamado (U) EFI ((Unificada) Extensible Firmware Interface). Não encontrei nenhum termo que o setor tenha amplamente utilizado para descrever os padrões BIOS e EFI (U) EFI, então acabei de criar o termo "inicialização do sistema".

A principal razão pela qual eu acho que você pode estar chamando isso de "semelhante ao DOS" é o uso do modo de texto. (Bom e velho CP437 !) No entanto, pelo que li, tive a impressão de que (U) EFI pode ser controlado com uma linha de comando (talvez com apenas algumas implementações).

Isso não pode ser armazenado em um disco rígido? Onde é armazenado então?

Isso geralmente é armazenado inteiramente em alguns chips. Em sistemas mais antigos, esses eram ROM (memória somente leitura). No entanto, quando a nova tecnologia (como discos rígidos maiores) se tornou incompatível com os chips, as pessoas tiveram que substituí-los fisicamente para dar suporte à nova tecnologia. No final dos anos 90, as pessoas começaram a usar memória gravável, que costumavam chamar de "memória flash". Essa memória não se destina a ser gravada com muita frequência.

Quando você altera as opções de configuração no software de inicialização do sistema, os detalhes da sua configuração são armazenados em alguma outra memória, geralmente chamada CMOS. Isso é um pouco de memória (diferente da sua RAM), armazenada na placa-mãe.

Eu li que existe um setor de inicialização no disco rígido, existe alguma sobra no disco rígido depois de formatá-lo?

Os sistemas que usam o padrão BIOS verificariam os discos rígidos para ver se os bytes 511 e 512 continham esses bits: 0101 0101 1010 1010

Nesse caso, o disco era considerado "inicializável" e o BIOS informava à CPU para começar a seguir as instruções localizadas no primeiro byte do disco. Os primeiros 512 bytes do disco foram chamados de "Registro mestre de inicialização" ("MBR"). O código armazenado no MBR tinha que ser bem pequeno, porque o 511º byte precisava ser 01010101 se o computador estava inicializando. Na verdade, o que a maioria desse código inicializável seria verificar os bytes 447 a 510, usando um padrão chamado "tabela de partição". Os bytes nessa tabela especificariam onde havia uma partição (ou mais de uma partição). Geralmente, a primeira partição inicia no segundo cilindro do disco rígido. (Nos discos rígidos antigos, o termo "cilindro" se referia a uma característica física do disco rígido.

(U) EFI é um pouco mais complicado, entendendo a estrutura GPT mais complicada.

De qualquer forma, a formatação não tem nada a ver com isso. A formatação está relacionada aos dados dentro da partição (geralmente iniciando no segundo cilindro, que costumava ser chamado de Cilindro número 1, porque o primeiro Cilindro era chamado de Cilindro número zero). Portanto, a formatação não deve afetar o código de inicialização inicial que o MBR usa no disco. No entanto, a formatação pode afetar o código que o computador tenta usar após os dados do MBR.

Ele realmente acaba com 0 bytes restantes em uma unidade?

Você quer dizer 0 bytes esgotados? Absolutamente não. Existem absolutamente bytes usados ​​na unidade. A partição armazena o volume do sistema de arquivos, que contém a tabela que será usada para acompanhar os nomes dos arquivos e onde os fragmentos do arquivo são armazenados. Geralmente existem outros detalhes, como um "rótulo" (que é um nome que você pode atribuir ao volume do sistema de arquivos). Isso deve ser uma quantidade relativamente pequena do total de dados do disco, mas isso faz parte do disco que é usado.

Quando você pergunta ao sistema operacional quantos bytes estão disponíveis, os sistemas operacionais geralmente relatam quantos bytes podem ser usados ​​para armazenar arquivos. Esses são os dados nos quais a maioria das pessoas está interessada. O sistema operacional não está relatando os bytes usados ​​para armazenar a tabela de arquivos, nem os bytes fora da partição (como o MBR).

No entanto, como a tabela está vazia, todos os bytes que podem armazenar fragmentos de arquivo estão disponíveis e zero deles é usado. O conteúdo dos arquivos antigos pode estar no disco, se o disco tiver sido formatado rapidamente. (Um programa como o TestDisk pode ajudar a encontrar esse conteúdo.) No entanto, quando você solicita ao sistema operacional que armazene novo conteúdo em novos arquivos, o sistema operacional usará essas áreas do disco (porque a tabela não diz que essas áreas do disco estão armazenando quaisquer fragmentos de arquivo com os quais nos preocupamos). Portanto, os dados antigos podem ser substituídos por novos dados (o que fará com que o TestDisk possa recuperar esses dados antigos quando isso acontecer). Observe que, mesmo que o conteúdo dos arquivos seja salvo, detalhes como os nomes desses arquivos podem ter sido substituídos quando o disco foi formatado. (Digo "pode" porque existem diferentes maneiras de armazenar arquivos. Algumas dessas maneiras de rastrear dados podem envolver uma tabela que tenha um tamanho consistente, utilizando espaço para acompanhar as seções no disco, mesmo quando essas seções não estiverem disponíveis. armazenando arquivos ainda. Outros métodos podem variar o tamanho da tabela, dependendo de quais dados estão armazenados no disco, portanto, um disco vazio pode ter uma tabela pequena. Portanto, talvez alguns desses nomes de arquivos ainda estejam fisicamente armazenados no disco, mas o sistema operacional não está monitorando esses dados antigos e, portanto, é provável que esses dados sejam excluídos quando o sistema operacional encontrar um benefício para isso.)


3

A formatação realmente remove tudo em um disco rígido físico? Gostaria de entender o que a formatação realmente remove.

Com base em experimentos reais (em vez de adivinhar ou referenciar outra fonte), quais dados antigos substituídos dependerão de como você executa esse "formato" .

Quando uma partição é criada e formatada pelo Linux (usando GParted) (para NTFS ou Ext4) ou "rápida" formatada pelo Windows 7, apenas um número mínimo de setores é substituído o suficiente para inicializar o sistema de arquivos. Os setores não alocados (e livres para serem usados ​​pelos arquivos do usuário) são intocados e retêm dados antigos.

Quando uma partição é criada e formatada pelo Windows 7 (não usando a opção rápida), todos os setores da partição são substituídos. Os dados antigos em setores não alocados (e livres para serem usados ​​pelos arquivos do usuário) são substituídos por zeros. Não haverá "não-formatação" possível para recuperar dados e arquivos antigos.

Ao iniciar um computador, algo aparece, semelhante ao DOS. Isso não pode ser armazenado em um disco rígido? Onde é armazenado então?

Você provavelmente está se referindo ao programa BIOS ou UEFI, que seria (normalmente) armazenado em um chip de memória flash (na placa-mãe).
Você pode facilmente verificar se esse programa independente (que não é um sistema operacional) é local para o PC e não está em nenhum HDD ou SSD reiniciando a placa-mãe sem unidades conectadas. (É claro que desconecte as unidades enquanto o PC não estiver ligado.)

Eu li que existe um setor de inicialização no disco rígido, existe alguma sobra no disco rígido depois de formatá-lo?

Existe um programa de inicialização que existe no primeiro setor da unidade (por exemplo, o MBR, o Master Boot Record) e outro programa de inicialização no início de cada partição inicializável.
O MBR é um programa de inicialização simples que carrega o programa de inicialização da partição marcada como "ativa".
O programa de inicialização da partição ativa será instalado pelo sistema de arquivos. Pode ser outro carregador intermediário para um programa de inicialização capaz de realmente carregar um sistema operacional (por exemplo, GRUB).

Ele realmente acaba com 0 bytes restantes em uma unidade?

Não é óbvio o que você está perguntando.

Observe que haverá setores que não estão alocados para nenhuma partição que nunca serão gravados por nenhum tipo de formato. Pode haver até 1024 (criação de partição pelo Linux) ou 2047 (criação de partição pelo Win7) setores não utilizados entre o MBR e a primeira partição. Também pode haver setores não utilizados entre partições. O número real de setores pode variar, dependendo de onde a partição anterior termina e de onde começa a partição "adjacente", que dependerá do tipo de alinhamento da partição (por exemplo, em um "cilindro" ou por megabyte).


2

Os discos rígidos mais antigos tinham um mecanismo para mover a cabeça em etapas discretas; as informações sobre o início de cada setor foram armazenadas no mesmo "fluxo de dados" que o conteúdo dos setores reais. Para escrever o setor nº 5 de uma faixa, o inversor iniciaria no modo "leitura" até encontrar um marcador "Este é o início do setor nº 5", alterne para o modo de gravação, escreva um pouco de espaço em branco seguido de um início secundário marcador, comece a vomitar todos os bytes no setor e volte ao modo de leitura quando isso tiver sido feito.

Se não se sabia que uma faixa tinha um conjunto de marcadores de setor adequadamente colocados (como seria o caso de um disco não formatado totalmente em branco), ela precisaria ser formatada antes do uso. Para fazer isso, a unidade ativaria o modo de gravação, gravaria uma lacuna e gravaria repetidamente um cabeçalho de setor, uma ligeira lacuna, um cabeçalho de início secundário e um valor setorial de dados arbitrários e outra lacuna. Depois disso, o inversor passaria para o modo de leitura e garantiria que todos os setores fossem legíveis (se os intervalos entre os setores fossem muito longos, o último setor poderá substituir o primeiro; se os intervalos forem muito curtos, variações na velocidade do inversor poderão causar uma operação de gravação de setor posterior para estender para o próximo setor).

A execução de um formato de "baixo nível" em uma unidade assim apagaria todas as informações, mas levaria mais tempo do que um comando de formato típico de "alto nível", que simplesmente garante que todos os setores sejam legíveis sem se preocupar em reescrever os cabeçalhos de setores. setores que são.

As unidades modernas exigem marcadores de formatação que são colocados nos pratos usando equipamento especializado, que é calibrado com mais precisão do que qualquer coisa na unidade. Fazer um formato de baixo nível nessas unidades seria impossível sem equipamento extra. A substituição dos dados em todos os setores provavelmente tornaria a maior parte deles irrecuperável, mas algumas unidades têm uma lógica especial para detectar quando áreas do disco parecem estar com problemas e realocar informações que normalmente seriam armazenadas nessas áreas, em outros lugares. Se um setor que contém dados confidenciais for realocado porque a unidade acha que pode estar em uma parte irregular do disco, as tentativas subseqüentes de apagar esse setor podem destruir a cópia posterior e deixar o original intocado.


1

Não, primeiro a formatação é um processo executado em uma partição e não na unidade como um todo, para que não afete a tabela de partições, outras partições ou o MBR na unidade. O que você está vendo soa como o carregador de inicialização, este é um pequeno programa que é executado diretamente pela bios, que tem a tarefa de selecionar e executar o kernel do sistema operacional; nesse caso, a partição foi formatada significa que o carregador de inicialização não pode encontrar o kernel para executar.

Dito isso, mesmo que o processo seja aplicado a toda a unidade, é um erro pensar que a formatação realmente remove o conteúdo do arquivo da unidade, pois, na verdade, isso não ocorre. O que acontece quando a unidade é formatada é que os metadados, como a tabela de alocação de arquivos, superblocos etc., são limpos e uma estrutura vazia é escrita em seu lugar.

O conteúdo real dos arquivos não é afetado pelo próprio processo de formatação. Uma analogia estaria apagando o índice de um livro que os capítulos ainda estariam lá, mesmo que não exista um índice para listá-los.

Existe um software que pode ignorar os metadados e procurar diretamente a pegada real dos arquivos na unidade e é bastante trivial na maioria dos casos recuperar arquivos, a menos que parte do espaço ocupado pelo arquivo tenha sido reutilizado e substituído por novos dados.

Se você realmente deseja destruir os dados no disco, existem métodos que seriam adequados, dependendo de fatores como o tipo de unidade (os SSDs têm maneiras mais fáceis de apagar com segurança do que os HDDs, por exemplo); para unidades magnéticas, outro fator é exatamente qual o nível de destruição é desejada. Há uma diferença entre destruir dados, para que eles não possam ser recuperados por um disco rígido comercial e tentar destruí-los ao ponto em que equipamentos de análise forense altamente sensíveis não possam recuperar nenhum vestígio dos dados.

EDIT: Observe, a menos que a máquina tenha sido bloqueada por uma atualização interrompida do BIOS ou similar, mesmo uma máquina com unidades totalmente vazias instaladas mostrará algo quando você tentar ligá-la. O BIOS não está armazenado em nenhuma unidade, é um pequeno programa armazenado em um pequeno chip de memória de estado sólido na própria placa-mãe.


O BIOS é armazenado na EEPROM, que é um chip ROM, não um pequeno chip de memória de estado sólido. A maior diferença é que ROM significa memória somente leitura. Ele precisa ser piscado para alterar o programa.
precisa saber é o seguinte

2
@LPChip ainda é uma forma de memória flash, na verdade os SSDs têm a mesma limitação fundamental que eles não podem simplesmente sobrescrever e precisam apagar e depois escrever, a diferença é que o tamanho do bloco de apagamento de um SSD é apenas uma fração do total capacidade do chip e algumas mudanças na maneira como o circuito é construído, mas ainda é uma forma de memória de estado sólido. Eu realmente não estava olhando para entrar nos detalhes das inúmeras implementações técnicas diferentes dos chips de memória flexíveis.
MttJocy 31/07

@LPChip - A única parte do seu comentário que é precisa é a expansão do acrônimo da ROM. "O BIOS está armazenado na EEPROM, que é um chip ROM ..." . A EEPROM não é considerada ROM, pois pode ser apagada e gravada no circuito. A ROM é criada pelo processo de mascaramento de semicondutores. Flash, não EEPROM, tem sido usado para armazenar o BIOS por cerca de duas décadas. EEPROM e flash são "memória de estado sólido" . Esse é um termo ambíguo, mas ainda mais preciso do que sua tentativa de correção.
sawdust
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.