Что именно делает chkdsk?

23

Я попытался прочитать немного о chkdsk, но до сих пор не понимаю, что он делает.

От Microsoft : «Создает и отображает отчет о состоянии диска на основе файловой системы. Chkdsk также перечисляет и исправляет ошибки на диске. При использовании без параметров chkdsk отображает состояние диска в текущем диске».

Из Википедии : «Отображает состояние целостности файловой системы жестких дисков и дискет и может исправлять логические ошибки файловой системы».

Но это все очень расплывчато, и я не видел хорошего, краткого и ясного описания того, что на самом деле происходит.

Я просто запустил chkdsk и получил некоторые из следующих сообщений:

Удаление поврежденной записи атрибута (128, "") из сегмента файловой записи 120759.

Значение проверки США, 0x0, в блоке 0x3 является неправильным. Ожидаемое значение 0x63.

Подпись многосекторного заголовка в файле 0x3d5b6 неверна.

Удаление поврежденного файла записи сегмента 251333.

Удаление сегмента записи потерянного файла 251321.

Удаление записи индекса из индекса $ O файла 25.

Удаление записи индекса P1040158123.JPG в индексе $ I30 файла 118566.

Могу ли я пойти куда-нибудь, чтобы понять смысл любого из этих сообщений? Имеет ли это какое-либо значение для конечного пользователя? Удаляет ли он когда-либо файлы или только индексы? Из журнала / вывода кажется, что у меня было много ошибок на моем диске, но я не знаю, должно ли это быть чем-то, о чем я должен беспокоиться или нет.

Cory
источник

Ответы:

9

Я думаю, что определение Microsoft довольно хорошо, из вашего вопроса

«Создает и отображает отчет о состоянии диска на основе файловой системы. Chkdsk также перечисляет и исправляет ошибки на диске. При использовании без параметров chkdsk отображает состояние диска на текущем диске».

Судя по тому, что вы показали, на вашем жестком диске была небольшая поломка, но похоже, что chkdsk смог это исправить.

К сожалению, такого рода вещи случаются со временем (плохое отключение / сбой питания во время записи и т. Д.), И это не обязательно беспокоит.

Уильям Хилсум
источник
Значит ли это, что chkdsk никогда не удаляет файлы? Это был главный вопрос, который у меня был.
Кори
5
chkdsk не удаляет файлы, однако он может (частично) восстановить уже поврежденный файл в файл .chk. А в случае серьезного сбоя жесткого диска чтение / запись могут ухудшить ситуацию, поэтому первое, что нужно сделать, это сохранить важные файлы ...
fluxtendu
1
Спасибо. Я все еще не полностью удовлетворен этим объяснением, все же. «исправляет ошибки» так расплывчато. Может быть, я должен просто RTFM.
Кори
1
@Cory: чтобы действительно знать, какие ошибки он может исправить, потребуется тщательное объяснение всех возможностей NTFS, структур данных и внутренней работы, что, конечно, возможно, но не осмысленно, кратко. По сути, все, что файловая система считает само собой разумеющимся, может пойти не так, и даже с журналом (хотя это обеспечивает довольно хорошие возможности самовосстановления); если что-то не так, вы можете попробовать исправить это. Прочитайте немного о том, как работает файловая система, и тогда вы, вероятно, сможете вспомнить достаточно случаев, когда что-то может пойти не так и нуждается в исправлении.
Джои
Он не удаляет файлы как таковые, но может принести больше вреда, чем пользы, если на диске, который вы собираетесь восстановить, удаляются / теряются данные, поскольку он может перезаписывать кластеры, которые он считает свободными. Однажды я уничтожил удаленные файлы на диске FAT, запустив поверх него CHKDSK, что сделало некоторые файлы, которые до сканирования не удалось восстановить, до того, как программа восстановления восстановила их. По сути, не запускайте его на диске, с которым у вас уже есть проблемы.
Даниэль Санер
10

Мои 2 цента, в основном для будущих читателей, учитывая возраст этой ветки.

Некоторые пользователи, несомненно, не знают, что на самом деле существует два уровня работы chkdsk, выбираемые с помощью переключателя командной строки: косая черта F (chkdsk / f) и косая черта R (chkdsk / r). Оба инструктируют chkdsk исправить найденные ошибки, но разница в том, что косая черта F НЕ проверяет диск на наличие поврежденных секторов, а косая черта R делает.

Один из способов думать об этом: /Fустраняет проблемы с /Rпрограммным обеспечением, программным обеспечением и оборудованием, поскольку поврежденные сектора представляют собой физическое повреждение поверхности диска. /Rвыполняет, в основном, то, что использовала старая программа SpinRite («используется», потому что современные накопители большой емкости по большей части выходят за пределы возможностей); анализ каждого отдельного сектора на диске, содержит ли он данные или он полностью пуст, и пытается прочитать и переместить найденные данные в хорошие сектора. Затем он отмечает плохие сектора как плохие, так что Windows НЕ использует их снова, эффективно «удаляя» плохие сектора из системы.

Как и следовало ожидать, этот /Rвариант занимает несколько часов, поэтому не сидите и не смотрите на него, ожидая его завершения. :)

Я вообще большой критик Microsoft, но даже должен признать, что они правильно поняли этот инструмент; При правильном использовании он стоит того же, что и отдельные программы, которые продаются по цене от 40 до 100 долларов (на отдельном примечании: то же самое можно сказать и о «дефрагментации», также входящей в состав Windows; она делает то же самое и, возможно, лучше, чем коммерческие дефрагментаторы.)

Майк Мунье
источник
2

Согласитесь с ответом Уила с точки зрения того, что представляет собой большая картина. Вам, вероятно, не нужно беспокоиться о том, что означают сообщения об ошибках.

Тем не менее, если вы понимаете, что означают сообщения об ошибках, вам необходимо понять, как NTFS / FAT / файловая система по вашему выбору форматирует диск. Я думаю, что книги Руссиновича из Microsoft Press обсуждают NTFS, и я уверен, что есть и другие бесплатные веб-ресурсы, например, этот сайт на первый взгляд кажется достойным обсуждением NTFS. Но, скорее всего, это более подробно, чем вам нужно беспокоиться.

dsolimano
источник