Come posso contrassegnare i cluster come non validi in NTFS?
sfondo
Ho corso per errore
>chkdsk /R
sul mio SSD, dove
/ R : individua i settori danneggiati e recupera le informazioni leggibili (implica / F)
/ F : corregge gli errori sul disco
E ora ho un cluster contrassegnato come cattivo sul mio disco. Devo deselezionare quel cluster come cattivo.
Nota : chkdsk
ha un'opzione per rivalutare un cluster e restituirlo per usare:
/ B : solo NTFS: rivaluta i cluster danneggiati sul volume (implica / R)
Sfortunatamente questa opzione annulla la marcatura del cluster solo se non è più dannosa. Ho bisogno che il cluster non sia marcato a prescindere.
Come si deseleziona un cluster NTFS come non valido?
Perché stai facendo questo?
Non importa perché io, e centinaia di altri, stiamo ponendo la domanda. Ma il problema è che c'è un settore danneggiato sul mio disco. È tempo di sostituire l'unità con una nuova. Il modo per farlo è di eseguire il mirroring dell'SSD su un altro SSD utilizzando il mirroring del software Windows .
Sfortunatamente, un bug noto nel mirroring di Windows NTFS impedisce il completamento del mirror, come documentato in KB325615 :
Impossibile creare il mirroring del software se il disco contiene blocchi danneggiati
DMIO opera al di sotto del file system e, se rileva errori I / O durante la lettura da un settore sul disco di origine o durante il tentativo di scrivere i dati sul disco di destinazione, interrompe l'operazione di mirroring.
L'ovvia soluzione alternativa consisteva nel ridurre il volume del sistema operativo, in modo che il settore danneggiato avesse superato la fine del volume. In Windows 7, quando si tenta di ridurre un volume, i file si sposteranno automaticamente.
Questa è una buona cosa. Ai vecchi tempi, se si voleva ridurre un volume, era necessario utilizzare uno strumento di deframmentazione che spingesse tutti i file verso la parte anteriore dell'unità; lasciando spazio alla fine.
Purtroppo non v'è ormai un inamovibile file nel modo: $BadClus
. L' operazione di deframmentazione Riduci rileva il file immobile nel registro eventi:
È stata avviata un'analisi di riduzione del volume sul sistema operativo del volume (C :). Questa voce del registro eventi fornisce informazioni dettagliate sull'ultimo file immobile che potrebbe limitare il numero massimo di byte recuperabili.
Dettagli diagnostici:
- L'ultimo file immobile sembra essere: \ $ BadClus: $ Bad: $ DATA
- L'ultimo cluster del file è: 0xdc1ded
- Riduci target potenziale (indirizzo LCN): 0xa91bd9
- I flag dei file NTFS sono: -S - D
- Fase di restringimento: <analisi>
Così:
- non riesco a rispecchiare il volume finché non vengono rimossi i settori danneggiati
- ridurre il volume rimuoverà i settori danneggiati
- non riesco a ridurre il volume finché non
$BadClus
viene spostato il file sparse - non riesco a muovermi
$BadClus
mentre occupa fisicamente ammassi difettosi $BadClus
occuperà fisicamente i cluster danneggiati mentre NTFS ritiene che il cluster sia danneggiato
Come si deseleziona un cluster come non valido?
Anche per le persone che creano fantasmi
La soluzione al mio problema funzionerebbe anche per il caso più comune:
Qualcuno crea un fantasma di un'unità contenente settori danneggiati su una nuova unità, quindi l'unità buona ha ancora quei cluster contrassegnati come danneggiati, anche se sono buoni. Accade così che abbiano una soluzione alternativa a loro:
>chkdsk /B
Solo che non funziona nel mio caso. (E anche se ha funzionato nel mio caso, non è la domanda che sto ponendo.)
Bonus Chatter
Naturalmente l'SSD Kingson non mantiene settori di riserva. Se lo facesse, potrebbe rimappare in modo trasparente il settore di riserva per me e non avrei NTFS che prova a pensare in modo eccessivo.
SpinRite
ho provato SpinRite sull'unità SS. Si imbatte nel settore difettoso, ma non è in grado di ottenere alcun valore dall'unità:
══════════════════╤═══════════════════════════╤═════════════════════════════════
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 : · · · · ·
Il numero di campioni di dati conta fino a 2.000, quindi torna a zero e continua.
Dopo circa 20 loop (ovvero 40.000 campioni di dati) ho rinunciato.
clonazione
Ancora; non confondere la domanda con l'esempio. La domanda è come deselezionare i cluster come non validi in NTFS. Molto tempo dopo che mi arrendo e butto via l'SSD, la domanda rimarrà comunque. Non confondere il mio problema con la domanda. Ciò non significa che potrei provare a risolvere effettivamente il mio problema:
DriveImageXML raggiunge il settore danneggiato e si interrompe.
Impossibile caricare GParted . Viene visualizzata una schermata di avvio grafica, quindi una finestra della console scorre il testo, seguito da una schermata nera nulla
Clonezilla si rifiuta di clonare il mio SSD:
Questo disco contiene partizioni GPT e MGR non corrispondenti: / dev / sdb
Confonderà Clonezill e potrebbe rendere inutile l'immagine salvata o non riuscire a clonare il disco.Per favore, risolvi il problema, quindi riavvia nuovamente Clonezilla.
Programma terminato.
Come si deseleziona un cluster come non valido in NTFS?
CreateFile
di aprire direttamente il volume; ma ho capito che avrei dovuto ricominciare da capo, analizzando tutte le strutture dati prive di documenti. ho aperto il volume direttamente per la modifica nel mio editor esadecimale preferito ma avevo lo stesso lato negativo, dovendo analizzare manualmente le strutture esadecimali.