13Aug

O que 'Verify Disc' realmente faz após a queima para verificar os dados?

click fraud protection

O recurso 'verificar disco' é ótimo para garantir que seu disco recém-queimado acabou bem, mas como exatamente ele funciona? O super-usuário Q & Uma publicação tem a resposta para a pergunta de um leitor curioso.

Today's Question &A sessão de atendimento chega a cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento comunitário de sites Q & A.

Foto cortesia de cobalt123( Flickr).

A Pergunta

O usuário do leitor SuperUser1301428 quer saber como os discos são verificados após serem queimados:

O que verifica o disco após a gravação realmente fazer para verificar os dados? Eu imagino que é algum tipo de comparação entre os arquivos originais e os arquivos que foram gravados no disco, mas alguém sabe como é realmente feito em um nível baixo?

Quero dizer, ele cria um hash do conteúdo de origem e de destino, então os compara? Em caso afirmativo, ele armazena o hash do conteúdo gravado na RAM?Ou ele o guarda em um arquivo temporário no disco rígido? Existe um arquivo de log do que está acontecendo?

instagram viewer

Apenas curioso para saber exatamente como esse recurso funciona. E eu estou me referindo ao Windows Image Burner.

Como funciona o processo de verificação do disco?

A Resposta Os contribuidores

SuperUser Frank Thomas e Synetech têm a resposta para nós. Primeiro, Frank Thomas:

Confira estas páginas MSDN na API do Windows para a interface IBurnVerification e o IMAPI_BURN_VERIFICATION_LEVEL enum.

Para discos de dados, parece que, no modo rápido, não compensa o disco inteiro, apenas uma seleção de setores. Em seguida, garante que a API chama READ_DISC_INFO e READ_TRACK_INFO ter sucesso contra o novo disco.

Para verificação completa, ele executa as verificações acima, então faz uma soma de verificação completa na última sessão no novo disco contra uma soma de verificação calculada no fluxo de memória queimado. Os checksums devem ser armazenados em ram, mas provavelmente são valores de curta duração. Observe que a comparação é contra a imagem do disco na RAM, e não a mídia fonte, então, se os dados fonte não tiverem sido lidos corretamente, ele será escrito incorretamente. A verificação não detectará isso.

Para discos de música, ele se concentra em verificar READ_TRACK_INFO e na tabela de conteúdos do disco, mas não executa um cálculo de soma de verificação. Não existe um modo de verificação total para música.

Seguido pela resposta da Synetech:

Frank explicou bem a verificação específica do Windows. Vou dar uma resposta mais geral.

  • O que verifica o disco após a gravação realmente faz para verificar os dados?
  • Quero dizer, ele cria um hash do conteúdo de origem e de destino, então os compara? Em caso afirmativo, ele armazena o hash do conteúdo gravado na RAM?Ou ele o guarda em um arquivo temporário no disco rígido? Existe um arquivo de log do que está acontecendo?

É certamente uma forma de uma comparação poder ser implementada: hash one file( espero que com uma chance suficientemente grande de leitura de chance de algoritmo de colisão), repita para o outro e compare hashes. Se for assim que uma verificação for implementada, você poderá ver o flash do drive-flash por um tempo, então o CD / DVD-LED pisca por um tempo.

Outra maneira de implementar a verificação é ler um bloco de um arquivo, então o mesmo bloco do outro arquivo, compará-los e, em seguida, repetir até o final do arquivo ser alcançado. Neste caso, você verá os LEDs das duas unidades alternando para frente e para trás.

Claro, se o disco rígido e a unidade óptica não tiver LEDs, então não será tão óbvio. Mas você ainda pode vê-lo com algo como o ProcessMonitor porque ele registrará uma série de leituras de um, e o outro, em um único, grande estouro ou em alternância, pequenas explosões.

  • Eu imagino que é algum tipo de comparação entre os arquivos originais e os arquivos gravados no disco, mas alguém sabe como é realmente feito em um nível baixo?

Na verdade, tudo o que realmente faz é liberar o cache da unidade, de modo que a função de comparação esteja lendo os dados do disco real em vez do cache de memória. Obviamente, este é um passo crítico porque, se a verificação for feita a partir do cache, não representa o que é realmente no disco, de modo que a corrupção pode passar facilmente.

Você pode ver se uma comparação é feita a partir da unidade ou do cache na RAM pela rapidez com que ocorre. Se você faz manualmente uma comparação simples( ou seja, com o WinDiff, o WinMerge, ou por hashing com uma ferramenta de hashing), você notará que a comparação ocorre muito mais rápido do que o esperado porque está lendo os arquivos do cache de memória. Você deve liberar o cache para forçá-lo a ler do disco real. Para unidades ópticas( e outras mídias removíveis como flash drives e cartões de memória), simplesmente a expulsão da unidade é suficiente para descarregar o cache, mas para discos rígidos, não é tão simples( embora geralmente não importa porque onova cópia é a que você deseja testar).

Tem alguma coisa a adicionar à explicação? Som desligado nos comentários. Deseja ler mais respostas de outros usuários Tech-savvy Stack Exchange? Confira o tópico de discussão completo aqui.