Categories: Windows

Новая программа chkdsk в Windows 8

На днях мне пришло сообщение от Майкрософт с очередными новостями о новейших их разработках. Одна из ссылок вела на блог разработчиков Windows, где было рассказано о новой утилите chkdsk, которая используется в Windows 8 и упоминалась новая файловая система ReFS, которая должна прийти на смену NTFS. Предлагаю вашему вниманию вольный перевод того, что там описано.

Все пользователи Windows испытывали разочарование, когда после очередной перезагрузки неожиданно начиналась проверка жесткого диска утилитой chkdsk, которую невозможно завершить и приходится ждать какое-то время, чтобы операционная система стала доступна. В Windows 8 появилось решение этой проблемы, позволяющее пользователю контролировать процесс и сделать систему более доступной и масштабируемой.

Задача программы chkdsk – изолировать и исправлять ошибки, возникающие в файловой системе. В прошлых версиях NTFS использовалась простая модель здоровья, где том файловой системы мог быть либо здоров либо нет. При этом находился в состоянии офлайн настолько долго, насколько это было необходимо для исправления повреждений файловой системы и возвращения тома в здоровое состояние. Время простоя было прямо пропорционально количеству файлов, хранящихся на томе.

Для Windows Vista и Windows 7 скорость работы программы chkdsk была значительно оптимизирована, но быстрый рост объёмов жестких дисков (удвоение объема каждые 18 месяцев) приводит к тому, что на томе может храниться больше файлов и соответственно растёт время выполнения проверки программой chkdsk. Так что разработчикам chkdsk пришлось изменить подход к модели здоровья NTFS и изменить методы исправления повреждений для уменьшения времени простоев из-за chkdsk. Также была представлена новая файлова система ReFS, которая не требует отключения тома для исправления повреждений.

Резкий рост объёмов хранилищ и, соответственно, файлов привело к необходимости создания новой модели здоровья NTFS. При создании новой модели здоровья файловой системы были внесен изменения как в файловую систему так и в программу chkdsk. Новая модель делит процесс на следующие фазы.

Схема работы chkdsk в Windows 8

Все повреждения файловой системы классифицируются как нуждающиеся в одном из 18 различных “глаголов” (читай действий), которые определены в Windows 8. Кроме того оставлено пространство для определения новых “глаголов”, для улучшения диагностирования проблем в будущем. Ключевые улучшения:

A. Онлайн самозаживление. Самозаживление NTFS было представлено в Windows Vista и Windows Server 2008 для уменьшения частоты запуска chkdsk. Возможность самозаживления встроена в NTFS и исправление некоторых повреждений, возникающих во время стандартных операций, выполняется пока том находится онлайн. В Windows 8 было увеличено число проблем, которые могут быть решены без отключения тома.

B. Онлайн проверка. Некоторые повреждения могут быть вызваны проблемами с памятью, а не реальным повреждением на диске. Поэтому в Windows 8 была добавлена служба, названная службой проверки места (спота). Эта служба запускается драйвером файловой системы и проверяет, действительно ли присутствует повреждение на диске перед изменением состояния модели здоровья файловой системы. Служба запускается в фоновом режиме и не влияет на работу системы.

C. Онлайн идентификация и авторизация. Если обнаружена проблема, запускается онлайн сканирование файловой системы. Windows 8 планирует задание, которое запускается только во время простоя. Это задание может запускаться в фоновом режиме, во время работы других программ. После завершения сканирования все найденные ошибки записываются для последующего исправления.

D. Уточнение и быстрое исправление. Для удобства пользователя или администратора том может быть переведен в состояние офлайн и обнаруженные ошибки исправлены. Время простоя, вызванное этой операцией называется “Spotfix” и длится считанные секунды.При такой новой модели длительность нахождения диска в состоянии офлайн напрямую зависит от количества ошибок, а не от количество файлов, как в старой модели.

В новой модели здоровья статус файловой системы проходит через четыре состояния, некоторые из которых являются просто информационными, другие требуют выполнения некоторых действий.

Онлайн и здоров. В этом состоянии нет обнаруженных повреждений и нет необходимости предпринимать какие-либо действия.

Необходима онлайн проверка места (спота). Файловая система переходит в это состояние после того, как была обнаружена ошибка, которая не может быть самозаживлена. Том переходит в это состояние до тех пор, пока служба проверки места (spot verification service) ищет ошибки. При этом не требуется действий от пользователя.

Необходимо онлайн сканирование. После того как служба проверки места подтвердила наличие повреждения, файловая система переходит в состояние “необходимо онлайн сканирование”. По идее, это состояние не требует от пользователя каких-либо действий, однако Action Center сообщает о необходимости сканирования, щелкнув по сообщению, сканирование можно запустить вручную. Сканирование проходит в фоновом режиме и не мешает работе.

Необходимо исправление. Том переходит в это состояние после онлайн сканирования, если требуется, и соответствующее сообщение отображается в Action Center (флажок в трее). В этом случае необходимо перезагрузить компьютер, после чего будет произведено исправление ошибок и файловая система перейдёт в состояние здорова. При этом во время загрузки не будет привычного экрана с отображаемым процессом, так как происходит только исправление без сканирования, к тому же, исправление занимает очень мало времени. Таким образом время простоя компьютера сводится к минимуму.

Ну и в конце концов нельзя не упомянуть о возможности вручную запустить проверку диска на ошибки. Для этого необходимо открыть свойства тома, на вкладке Tools (Инструменты) нажать кнопку Check (Проверка). Ошибки, обнаруженные на неиспользуемом в данный момент томе могут быть исправлены без полной перезагрузки компьютера.

Saqwel

Share
Published by
Saqwel

Recent Posts

Azure App Configuration and access to Key Vault references

We decided to use an Azure App Configuration to store configs of backend. App Configuration…

2023-08-24

Azure cli az acr login hangs

I have encountered an issue with az acr login --name <acr_name> command. It hanged and…

2023-08-23

Error: Unable to read Docker image into resource: unable to find or pull image nginx:latest

I have tried to learn terraform from scratch and found pretty simple tutorial for beginners.…

2022-09-09

Скрыть поле модели от Swagger (Hide field of model from Swagger)

При внедрении Swagger в проекте .Net Core Web API потребовалось скрыть одно поле из примера,…

2020-04-24

Прогноз цен на акции

Около года назад я решил попробовать заработать на фондовой бирже, покупая и продавая акции. Изучая…

2019-07-20

Installation failed with error code: (0x00000490), “Element not found. “

Во время установки .NET Framework столкнулся с ошибкой Installation failed with error code: (0x00000490), "Element…

2018-12-20