Как мне пометить кластеры как плохие в NTFS?
Фон
Я ошибочно побежал
>chkdsk /R
на моем SSD, где
/ R : обнаруживает поврежденные сектора и восстанавливает читаемую информацию (подразумевается / F)
/ F : исправляет ошибки на диске
И теперь у меня есть кластер, помеченный как плохой на моем диске. Мне нужно отменить пометку этого кластера как плохую.
Примечание : chkdsk
имеет возможность переоценивать кластер и возвращать его для использования:
/ B : только NTFS: переоценка поврежденных кластеров на томе (подразумевается / R)
К сожалению, эта опция снимет пометку только в том случае, если она больше не плохая. Мне нужно, чтобы кластер был неотмечен независимо.
Как мне пометить кластер NTFS как плохой?
Зачем ты это делаешь?
Неважно, почему я и сотни других задаем вопрос. Но проблема в том, что на моем диске плохой сектор. Пришло время заменить диск на новый. Способ сделать это состоит в том, чтобы зеркалировать SSD на другой SSD с помощью программного зеркалирования Windows .
К сожалению, известная ошибка в зеркалировании Windows NTFS не позволяет завершить зеркалирование, как описано в KB325615 :
Невозможно создать программное зеркало, если диск содержит поврежденные блоки
DMIO работает ниже файловой системы, и если он обнаруживает ошибки ввода-вывода при чтении из сектора на исходном диске или при попытке записать данные на целевой диск, он прерывает операцию зеркалирования.
Очевидный обходной путь заключался в том, чтобы уменьшить объем ОС, чтобы плохой сектор прошел конец тома. В Windows 7, когда вы пытаетесь уменьшить объем, он автоматически удаляет файлы.
Это хорошая вещь. В старые времена, если вы хотели уменьшить объем, вы должны были использовать инструмент дефрагментации, который выдвигал все файлы к передней части диска; оставляя свободное пространство в конце.
К сожалению, в настоящее время неперемещаемого файл в виде: $BadClus
. Операция Shrink defrag отмечает неизменяемый файл в журнале событий:
Анализ объема сжатия был начат на томе ОС (C :). Эта запись в журнале событий содержит подробную информацию о последнем неподвижном файле, который может ограничивать максимальное количество восстанавливаемых байтов.
Диагностические детали:
- Последний неподвижный файл выглядит так: \ $ BadClus: $ Bad: $ DATA
- Последний кластер файла: 0xdc1ded
- Цель сокращения потенциала (адрес LCN): 0xa91bd9
- Флаги файлов NTFS: -S - D
- Фаза усадки: <анализ>
Так:
- я не могу отразить громкость до тех пор, пока плохие сектора не будут удалены
- уменьшение громкости удалит плохие сектора
- я не могу уменьшить громкость, пока разреженный
$BadClus
файл не будет перемещен - я не могу двигаться,
$BadClus
пока он физически занимает плохие скопления $BadClus
будет физически занимать плохие кластеры, в то время как NTFS считает кластер плохим
Как мне пометить кластер как плохой?
Для людей, забивающих диски тоже
Решение моей проблемы также подойдет для наиболее распространенного случая:
Кто-то добавляет диск с плохими секторами на новый диск, и тогда на хорошем диске эти кластеры помечаются как плохие, даже если они хорошие. Так получилось, что у них есть обходной путь:
>chkdsk /B
За исключением того, что не работает в моем случае. (И даже если это сработало в моем случае, это не тот вопрос, который я задаю.)
Бонус Болтовня
Конечно, Кингсон SSD не поддерживает запасные секторы. Если бы он это сделал, он мог бы прозрачно переназначить запасной сектор для меня, и у меня не было бы NTFS, пытающегося переосмыслить мысли.
SpinRite
я попробовал SpinRite на дисководе SS. Он сталкивается с дефектным сектором, но не может получить какие-либо значения с диска:
══════════════════╤═══════════════════════════╤═════════════════════════════════
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 : · · · · ·
Число выборок данных насчитывает до 2000, затем возвращается к нулю и продолжает работать.
После примерно 20 циклов (то есть 40000 выборок данных) я сдался.
клонирование
Опять таки; Давайте не будем путать вопрос с примером. Вопрос в том, как отменить пометку кластеров как плохих в NTFS. После того, как я сдамся и выкину SSD, вопрос все равно останется. Не путай мою проблему с вопросом. Это не значит, что я могу попытаться решить мою проблему:
DriveImageXML достигает плохого сектора и прерывает работу.
GParted не загружается. Появляется графический загрузочный экран, затем окно консоли прокручивает текст, а затем черный экран - ничего
Clonezilla отказывается клонировать мой SSD:
Этот диск содержит несовпадающие разделы GPT и MGR: / dev / sdb
Это приведет к путанице в Clonezill и может сделать сохраненный образ бесполезным или не сможет клонировать диск.Пожалуйста, исправьте проблему, затем перезапустите Clonezilla снова.
Программа прекращена.
Как мне пометить кластер как плохой в NTFS?
CreateFile
для непосредственного открытия тома; но понял, что мне придется начинать с нуля, анализируя все недокументированные структуры данных. я открыл том непосредственно для редактирования в моем любимом шестнадцатеричном редакторе, но у меня была та же самая нижняя сторона, когда пришлось вручную анализировать шестнадцатеричные структуры.