Como desmarcar clusters como inválidos no NTFS?
fundo
Eu corri por engano
>chkdsk /R
no meu SSD, onde
/ R : localiza setores defeituosos e recupera informações legíveis (implica / F)
/ F : corrige erros no disco
E agora eu tenho um cluster marcado como ruim na minha unidade. Eu preciso desmarcar esse cluster como ruim.
Nota : chkdsk
tem uma opção para reavaliar um cluster e retorná-lo para usar:
/ B : apenas NTFS: reavalia clusters incorretos no volume (implica / R)
Infelizmente, essa opção só desmarca o cluster se ele não estiver mais ruim. Eu preciso que o cluster seja desmarcado, independentemente.
Como desmarcar um cluster NTFS como inválido?
Por que você está fazendo isso?
Não importa por que eu e centenas de outras pessoas estamos fazendo a pergunta. Mas o problema é que há um setor ruim no meu disco. É hora de substituir a unidade por uma nova. A maneira de fazer isso é espelhar o SSD em outro SSD usando o espelhamento de software do Windows .
Infelizmente, um bug conhecido no espelhamento do Windows NTFS impede a conclusão do espelho, conforme documentado no KB325615 :
Não é possível criar espelho de software se o disco contiver blocos incorretos
O DMIO opera abaixo do sistema de arquivos e, se encontrar erros de E / S ao ler de um setor no disco de origem ou ao tentar gravar os dados no disco de destino, interrompe a operação de espelhamento.
A solução óbvia foi reduzir o volume do sistema operacional, para que o setor defeituoso tenha passado do final do volume. No Windows 7, quando você tenta reduzir um volume, ele automaticamente move os arquivos para fora do caminho.
Isto é uma coisa boa. Antigamente, se você queria reduzir um volume, era necessário usar uma ferramenta de desfragmentação que empurrava todos os arquivos em direção à frente da unidade; deixando espaço para folga no final.
Infelizmente há agora uma inabalável arquivo no caminho: $BadClus
. A operação de desfragmentação do psiquiatra observa o arquivo imóvel no log de eventos:
Uma análise de redução de volume foi iniciada no volume OS (C :). Essa entrada do log de eventos detalha informações sobre o último arquivo imóvel que pode limitar o número máximo de bytes recuperáveis.
Detalhes do diagnóstico:
- O último arquivo imóvel parece ser: \ $ BadClus: $ Bad: $ DATA
- O último cluster do arquivo é: 0xdc1ded
- Reduzir o potencial alvo (endereço LCN): 0xa91bd9
- Os sinalizadores de arquivo NTFS são: -S - D
- Fase de contração: <análise>
Então:
- não consigo espelhar o volume até que os setores defeituosos sejam removidos
- encolher o volume removerá os setores defeituosos
- não consigo reduzir o volume até que o
$BadClus
arquivo esparso seja movido - não consigo me mexer
$BadClus
enquanto ocupa fisicamente aglomerados ruins $BadClus
ocupará fisicamente clusters ruins, enquanto o NTFS acha que o cluster é ruim
Como desmarcar um cluster como ruim?
Também para as pessoas que fantasmam drives
A solução para o meu problema também funcionaria no caso mais comum:
Alguém coloca uma unidade que contém setores defeituosos em uma nova unidade e, em seguida, a unidade boa ainda tem os clusters marcados como ruins, mesmo que sejam bons. Acontece que eles têm uma solução alternativa disponível para eles:
>chkdsk /B
Exceto que isso não funciona no meu caso. (E mesmo que funcionasse no meu caso, não é a pergunta que estou fazendo.)
Bônus Chatter
É claro que o SSD Kingson não mantém setores de reposição. Se isso acontecesse, poderia remapear de forma transparente o setor de reposição para mim, e eu não teria o NTFS tentando pensar demais.
SpinRite
Eu tentei SpinRite'ing a unidade SS. Ele se depara com o setor defeituoso, mas não consegue obter nenhum valor da unidade:
══════════════════╤═══════════════════════════╤═════════════════════════════════
cylinder : 7,183 │ data samples : 1,999 │ first uncertain bit : · · · · ·
sector : 17 │ unique samples : 0 │ last uncertain bit : · · · · ·
head : 187 │ discarded sples : 0 │ uncertain bit span : · · · · ·
O número de amostras de dados conta até 2.000, volta ao zero e continua.
Após cerca de 20 loops (ou seja, 40.000 amostras de dados), desisti.
Clonagem
Novamente; não vamos confundir a pergunta com o exemplo. A questão é como desmarcar clusters como inválidos no NTFS. Muito tempo depois de eu desistir e jogar fora o SSD, a questão ainda permanece. Não confunda meu problema com a pergunta. Isso não significa que eu possa tentar resolver meu problema:
O DriveImageXML chega ao setor defeituoso e aborta.
GParted falha ao carregar. Uma tela de inicialização gráfica é exibida e, em seguida, uma janela do console rola o texto, seguida pela tela preta.
O Clonezilla se recusa a clonar meu SSD:
Este disco contém partições GPT e MGR incompatíveis: / dev / sdb
Confunde o Clonezill e pode tornar a imagem salva inútil ou falhar ao clonar o disco.Corrija o problema htis e reinicie o Clonezilla novamente.
Programa encerrado.
Como desmarcar um cluster como ruim no NTFS?
CreateFile
para abrir o volume diretamente; mas percebi que teria que começar do zero, analisando todas as estruturas de dados não documentadas. eu abri o volume diretamente para edição no meu editor hexadecimal favorito, mas tinha o mesmo lado negativo, tendo que analisar manualmente as estruturas hexadecimais.