Como desmarcar um cluster NTFS como ruim?

14

Como desmarcar clusters como ruins no NTFS?

Antecedentes

eu corri erroneamente

>chkdsk /R

no meu SSD, onde

/R: Locates bad sectors and recovers readable information (implies /F)
/F: Fixes errors on the disk

E agora eu tenho um cluster marcado como ruim no meu disco. Eu preciso desmarcar esse cluster como ruim.

Observação : chkdsk tem uma opção para reavaliar um cluster e retorná-lo para uso:

/B: NTFS only: Re-evaluates bad clusters on the volume (implies /R)

Infelizmente, essa opção apenas desmarcará o cluster se não for mais ruim. Eu preciso que o cluster não seja marcado, independentemente disso.

Como desmarcar um cluster NTFS como ruim?

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 software Windows espelhamento .

Infelizmente, um bug conhecido no espelhamento do Windows NTFS impede que o espelhamento seja concluído, conforme documentado em KB325615 :

Cannot Create Software Mirror If Disk Contains Bad Blocks

DMIO operates below the file system, and if it finds I/O errors while reading from a sector on the source disk or while trying to write the data to the destination disk, it aborts the mirroring operation.

A solução óbvia era diminuir o volume do SO, para que o setor defeituoso passasse do final do volume. No Windows 7, quando você tenta diminuir um volume, ele move automaticamente os arquivos para fora do caminho.

Issoébom.Antigamente,sevocêquisesseencolherumvolume,teriaqueusarumaferramentadedesfragmentaçãoqueempurrassetodososarquivosparaafrentedaunidade;deixandoespaçodefolganofinal.

Infelizmente,háagoraumarquivoinmovívelnocaminho:$BadClus.AoperaçãoDelinkdefragobservaoarquivoquenãopodesermovidonoLogdeEventos:

AvolumeshrinkanalysiswasinitiatedonvolumeOS(C:).Thiseventlogentrydetailsinformationaboutthelastunmovablefilethatcouldlimitthemaximumnumberofreclaimablebytes.

Diagnosticdetails:

  • Thelastunmovablefileappearstobe:\$BadClus:$Bad:$DATA
  • Thelastclusterofthefileis:0xdc1ded
  • Shrinkpotentialtarget(LCNaddress):0xa91bd9
  • TheNTFSfileflagsare:-S--D
  • Shrinkphase:<analysis>

Então:

  • nãoconsigoespelharovolumeatéqueossetoresdefeituosossejamremovidos
  • reduzindoovolumeremoveráossetoresdefeituosos
  • nãoconsigoreduzirovolumeatéqueoarquivo$BadClusesparsosejamovido
  • nãoconsigomover$BadClusenquantoeleocupafisicamenteosclustersruins
  • $BadClusocuparáfisicamenteosclustersdefeituosos,enquantooNTFSacharqueoclusterestácomproblemas

Comodesmarcarumclustercomoruim?

Parapessoasdirigindofantasmas,também

Asoluçãoparaomeuproblematambémfuncionariaparaocasomaiscomum:

Alguémfantasmasumaunidadecontendosetoresdefeituososparaumanovaunidadee,emseguida,aboaunidadeaindatemessesclustersmarcadoscomoruins,mesmoquesejambons.Acontecequeelestêmumasoluçãoalternativadisponívelparaeles:

>chkdsk/B

Sóqueissonãofuncionanomeucaso.(Emesmoquetenhafuncionadonomeucaso,nãoéaperguntaqueestoufazendo.)

BónusChatter

ÉclaroqueoSSDdaKingsonnãomantémsetoressobressalentes.Seissoacontecesse,elepoderiaremapeardeformatransparenteosetordereposiçãoparamim,eeunãoteriaoNTFStentandopensardemaisnothinkgs.

SpinRite

eutenteiSpinRite'ingaunidadeSS.Elesedeparacomosetordefeituoso,masnãoconsegueobternenhumvalordaunidade:

══════════════════╤═══════════════════════════╤═════════════════════════════════cylinder:7,183│datasamples:1,999│firstuncertainbit:·····sector:17│uniquesamples:0│lastuncertainbit:·····head:187│discardedsples:0│uncertainbitspan:·····

Onúmerodeamostrasdedadoscontaaté2.000,depoisvoltaparazeroecontinua.

Após cerca de 20 loops (ou seja, 40.000 amostras de dados) desisti.

Clonagem

novamente; Não confunda a pergunta com o exemplo. A questão é como desmarcar os clusters como ruins no NTFS. Muito tempo depois de eu desistir e jogar fora o SSD, a questão ainda permanecerá. Não confunda meu problema com a questão. Isso não significa que eu possa tentar realmente resolver o meu problema:

DriveImageXML atinge o setor inválido e é anulado.

O

GParted falha ao carregar. Uma tela de boot gráfica aparece, então uma janela do console rola o texto por, seguido por tela preta, nada

Clonezilla se recusa a clonar meu SSD:

This disk contains mismatched GPT and MGR partition: /dev/sdb
It will confuse Clonezill and might make the saved image useless or fail to clone the disk.

Please fix htis issue then restart Clonezilla again.
Program terminated.

Como desmarcar um cluster como ruim no NTFS?

    
por Ian Boyd 26.12.2013 / 18:55

4 respostas

6

Eu não respondo mais nada à pergunta do título. 1

Primeiro, observe que, se o setor estiver realmente ruim, desmarcá-lo não o tornará legível. Então, o seu software de clonagem provavelmente vai se engasgar com a leitura.

No NTFS, um cluster é marcado como ruim, atribuindo-o a um fluxo especial, $BadClus:$Bad , um arquivo esparso.

O que você precisa é de

  • edite sua runlist para remover o (s) bloco (s) alocado (s) correspondente (s)
  • marque o (s) cluster (s) correspondente (s) como livre em $Bitmap .
  • Para desmarcar todos blocos defeituosos, há ntfsfix -b -d ( -b = limpar lista de bloqueios inválida, -d = limpar / não definir sinalizador "sujo") ( outro método com ntfstruncate faz exatamente o mesmo 2 ).

    • Ele pode introduzir pequenas inconsistências nos metadados (no meu caso, alguns índices aparentemente não foram classificados), não sei por que, então execute chkdsk -f manualmente ou omite -d para acioná-lo na inicialização do Windows se / no caso de você obter erros de FS.
  • Limpar um bloco específico é muito mais difícil, pois não encontrei nenhum software existente que pudesse ser feito fora da caixa 3 . NTFS Bad Sectors Resolution: O metafile $ BadClus - código de Katy descreve o caminho - basicamente, está editando a runlist e o bitmap manualmente.

1 Só porque lidar com setores defeituosos + NTFS + clonagem é um tópico muito amplo. De bom grado responderemos aos que estiverem diretamente relacionados com o assunto em questão.
2 verificou o código-fonte de ntfsfix v2015.3.14 .
3 para os insistentes, eles não podem fazer isso: ntfscat (não pode ler setores ilegíveis), ntfscp (não pode escrever para compensar), ntfstruncate , ntfsfallocate , dd (não é possível abrir $BadClus:$Bad para gravação)

    
por 31.10.2015 / 21:18
1

Eu tinha um disco rígido que desenvolveu alguns clusters ruins. Eu substituí-lo com uma boa unidade conhecida. O processo de restauração restaurou os dados ruins do cluster, bem como os outros dados. Isso foi em um computador com Windows 7 Enterprise.

Minha solução foi executar "chkdsk d: / b" (como foi sugerido anteriormente). O / b informa (somente para NTFS) para redigitalizar os clusters inválidos marcados anteriormente. Pelo menos no meu caso (e eu suspeitaria de todas as versões que suportam / b), ele limpa a lista de clusters inválida imediatamente antes de iniciar a varredura de leitura. Uma vez que você vê a mensagem "Removendo clusters X do arquivo Bad Clusters", você deve ser capaz de matar o processo chkdsk (já que é apenas leitura de dados).

Nota: Existe o potencial para o chkdsk atualizar o arquivo de clusters defeituosos no momento em que você mata o processo, caso tenha encontrado um setor defeituoso no início da unidade. Eu assumi o risco e ele redefiniu com sucesso o arquivo de clusters defeituosos sem a necessidade de baixar um monte de outros programas que exigem um chkdsk completo depois disso. YMMV.

    
por 12.02.2016 / 22:40
0

Primeiro, o melhor caminho a percorrer é clonar o disco. Em seguida, use chkdsk /B na nova unidade de trabalho.

Agora, até desmarcar um setor ruim que é complicado. Você poderia usar:

Qualquer produto deve remapear o setor defeituoso e, em seguida, o CHKDSK / B deve desmarcá-lo.

Faça o download da gparted ou da partedmagic ISO. Inicialize e encolha a partição.

Esse trabalho funcionará porque o Windows NÃO está em execução, portanto esse software reduz a partição, não importa o quê. Então, chkdsk /B cuidará do resto.

Se tudo isso falhar, você está agora em uma estrada feia de dor. Você precisa obter um editor de setor e editar manualmente o sistema de arquivos. Infelizmente, está além do escopo do meu conhecimento para NTFS. Para FAT ou FAT32, é super simples.

    
por 26.12.2013 / 19:27
0

Como você está tentando espelhar seu disco (e parece que você está usando o Windows 7), há outra abordagem:

Use a ferramenta interna para criar um backup a ser restaurado em um bom disco. Vá para Painel de Controle, Sistema e Segurança, Backup. Lá, crie uma imagem do sistema e também um disco de reparo do sistema.

Depois disso, você pode substituir o disco defeituoso antigo por um bom, depois retore o sistema para seu estado usando o disco de reparo do sistema e o backup feito.

    
por 18.12.2016 / 09:04