Windows автоматически дефрагментирует разделы жесткого диска в фоновом режиме, т.е. от вас не требуется никаких дополнительных действий. Дефрагментация выполняется с помощью планировщика заданий, при этом анализ диска, запуск дефрагментации, а также настройка ее расписания выполняются в одном окне. Кроме того, дефрагментацию можно выполнять в командной строке с помощью утилиты defrag.exe, у которой в Windows 7 появились новые параметры. В статье также приводятся параметры командной строки для более новых ОС Windows.
На этой странице
- Графический интерфейс дефрагментатора Windows 7
- Графический интерфейс оптимизатора дисков в Windows 8 и новее
- Параметры командной строки утилиты defrag.exe
- Примеры команд
- Решения проблем при дефрагментации загрузочных файлов
Графический интерфейс дефрагментатора Windows 7
Как и в предыдущих ОС Windows, открыть дефрагментатор можно из свойств диска на вкладке Сервис. Но быстрее будет ввести дефраг в поиск меню Пуск. В отличие от Windows XP, где для дефрагментации использовалась урезанная версия Diskeeper, в Windows Vista и 7 применяется собственная утилита командной строки defrag.exe, запускаемая по расписанию.
Система сразу показывает расписание, время прошлого запуска и уровень фрагментированности дисков. Он будет на нуле, если вы не отключали планировщик заданий (на который помимо запуска дефрагментации возложено множество других системных задач). В этом случае анализ не сообщит ничего нового — уровень фрагментированности в 10% и менее система считает нормальным. Но при желании дефрагментацию всегда можно запустить вручную кнопкой Дефрагментация диска.
Вы также можете настроить расписание, чтобы дефрагментация начиналась в то время, когда вы не ведете активной работы за компьютером.
За кнопкой Выбрать диски скрывается также настройка автоматической дефрагментации всех новых дисков (она включена по умолчанию).
Графический интерфейс оптимизатора дисков в Windows 8 и новее
Начиная с Windows 8, программа различает жесткие и твердотельные диски.
Подробнее об оптимизаторе дисков читайте здесь.
Графический интерфейс дефрагментатора не балует подробностями о состоянии дисков, однако их можно узнать с помощью командной строки.
Параметры командной строки утилиты defrag.exe
В Windows 7 утилита defrag.exe приобрела новые параметры командной строки: /E, /H, /M, /T, /U и /X. В Windows 8 появились параметры /O и /L. Не все параметры отображаются во встроенной справке утилиты. Полный список параметров утилиты приводится в таблице.
Параметр | Описание |
---|---|
/A | Анализирует указанный том.
Логично выполнить анализ перед ручной дефрагментацией. В результатах будет сказано, каким разделам она нужна. |
/B | Дефрагментирует только загрузочные файлы на указанном разделе. Параметр применим только к HDD. |
/C | Выполняет операцию на всех томах.
Этот параметр избавляет от необходимости перечислять все буквы разделов при анализе или дефрагментации. |
/D | Начиная с Windows 8 или 10, выполняет традиционную дефрагментацию вне зависимости от типа носителя. Это — обычный дефраг для HDD, который можно применять к SSD.
В Windows 10 параметр необязательный, т.е. традиционный дефраг SSD выполняется и без него, если только не указан параметр /O. Даже при указании параметра дефраг SSD может не выполняться, если том не фрагментирован (в этом случае выполняется только ретрим). |
/E | Выполняет операцию на всех томах, кроме указанных.
Еще один параметр, экономящий время. |
/F | Выполняет принудительную дефрагментацию, даже если на диске недостаточно свободного пространства. |
/G | Выполняет операцию на указанном томе многоуровнего хранилища (tiered storage). |
/H | Выполняет операцию с обычным приоритетом (по умолчанию используется низкий).
Ускоряет процесс дефрагментации, но может замедлить работу других приложений, обращающихся к диску в это время. |
/K | Консолидация слоев на дискe с тонкой подготовкой (thin provisioned disk).
На клиентских ПК вы такое можете увидеть разве что на диске виртуальной машины Hyper-V. В серверной среде — см. посты в блогах Microsoft: 1, 2. |
/L | Начиная с Windows 8, повторно отправляет набор команд TRIM твердотельному накопителю (в первый раз они отправляются в момент удаления файлов). Параметр применим только к SSD. |
/M | Выполняет операцию на всех томах одновременно в фоновом режиме.
Стандартное поведение дефрагментатора – последовательная работа над томами. |
/O | Начиная с Windows 8, выполняет оптимизацию в зависимости от типа накопителя: жесткие диски дефрагментирует, а твердотельным повторно отправляет набор команд TRIM. |
/R | Упразднен после Windows 7. Выполняет частичную дефрагментацию (поведение по умолчанию), пытаясь объединять только фрагменты размером менее 64 Мб. |
/T | Отслеживает текущую операцию на указанном томе. |
/U | Выводит прогресс текущей операции на указанном томе в процентном отношении. |
/V | Выводит подробный отчет о томах, их фрагментированности, файлах и папках, а также о свободном пространстве и MFT. |
/W | Упразднен после Windows 7. Выполняет полную дефрагментацию, пытаясь объединять все фрагменты вне зависимости от их размера. |
/X | Объединяет свободное пространство на указанных томах. |
Примеры команд
В таблице приводятся несколько примеров команд, которые вы можете использовать для дефрагментации разделов. Выполнять анализ и дефрагментацию нужно в командной строке, запущенной от имени администратора.
Решения проблем при дефрагментации загрузочных файлов
Попытка выполнить дефрагментацию загрузочных файлов (параметр /B) может завершиться ошибкой. Ниже приводятся распространенные ошибки и решения.
В разделе оптимизации загрузочного сектора реестра отсутствуют некоторые записи (0x89000017)
Ошибка означает, что задача по дефрагментации загрузочных файлов, назначеная в планировщике, готова к выполнению. Однако она может быть выполнена только при бездействии системы.
Нужно либо оставить систему в покое и дать ей выполнить задания, срабатывающие только при бездействии, либо форсировать их выполнение командой
Rundll32.exe advapi32.dll,ProcessIdleTasks
Оптимизация загрузочного сектора отключена в реестре (0x89000018)
Причиной ошибки может являться:
- наличие стороннего дефрагментатора или параметров, оставшихся после его удаления
- неграмотный твик реестра
Чтобы устранить проблему в автоматическом режиме, исправьте ошибки с помощью моего диагностического пакета.
Если вы хотите исправить ситуацию вручную, в разделе реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction
для параметра Enable установите значение Y.
Для вступления изменений в силу требуется перезагрузка.
Не удалось выполнить оптимизацию загрузочного сектора… (0x8900001B)
Ошибка связана с отсутствием файла Layout.ini в папке %windir%\prefetch. Причиной отсутствия, скорее всего, является неправильная работа службы Superfetch.
Шаги по устранению проблемы изложены в комментарии.
Алик
После запуска команды defrag C: /B /U система провела анализ и выдала ответ: Оптимизация загрузочного сектора отключена в реестре. (0х89000018)
Подскажите, где искать проблему или как влючить в реестре?
P.S. обычная дефрагментация проводится нормально.
Morpheus
Обновленный ответ дан в конце статьи. Вадим
Victor
Вадим, а можно как-то сделать чтобы диски С и D проводили дефрагментацию по-разному? Каждый свою и в разное время.
Vadim Sterkin
Victor, можно, но зачем? Они и так дефрагментируются в разное время, причем когда компьютер простаивает.
Посмотрите в журнале приложений события от defrag и вы даже увидите, что дефраг загрузочных файлов выполняется отдельно от остальной области диска.
Игорь
Вот такой вопрос — в таблице есть такая команда:
/W — Выполняет полную дефрагментацию, пытаясь объединять любые фрагменты вне зависимости от их размера.
Я ввожу в ком. строку (запущенную от имени администратора) —
defrag C: /W /V — Выполняет полную дефрагментацию раздела C, а затем выводит подробный отчет.
Пишет: «Примечание. В статистику фрагментации не включаются фрагменты файлов, размер которых превышает 64 МБ»
Я, так понимаю, что по команде /W эти файлы (размер которых превышает 64 МБ) должны тоже дефрагментироваться, или нет?
Vadim Sterkin
Игорь, с параметром /w выполняется попытка объединять любые фрагменты. Она может быть успешной для всех (маловероятно) или не для всех фрагментов.
Речь о статистике, которая выводится, а не о результатах дефрагментации фрагментов свыше 64 мб.
Наконец, дефрагментируются не файлы размером > 64 мб, а фрагменты файлов размером > 64 мб. Файл совсем необязательно записывается на диск единым блоком.
Игорь
В результатах дефрагментации пишет то же самое.
Ясно. Спасибо за внимание и ответ.
Vadim Sterkin
Угу. Я, наверное, неудачно выразился. Попробую переформулировать.
Ключ /w изначально не гарантирует, что дефраг сможет справиться со всеми фрагментами > 64 мб. Поэтому и отчет по таким фрагментам в статистику [результатов дефрага] не включается, о чем вам и сообщают.
Игорь
Да, я понял, еще раз большое спасибо!
Кирилл
Вадим, спасибо за такой познавательный блог. При выполнении defrag C: /B /U пишет ошибку Оптимизация загрузочного сектора отключена в реестре. (0х89000018)
удаление параметра Enable в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction\ после перезагрузки — не помогает. Но достаточно сменить параметр Enable — N — на Y, как все работает, даже ребут не нужен. =)
win7 x64
Виталий
В разделе оптимизации загрузочного сектора реестра отсутствуют некоторые записи.
(0x89000017)
Vadim Sterkin
Не понял, к чему были два последних комментария, если честно…
Виталий
ну что это за запись? чего не хватает? После запуска команды defrag C: /B /U — никаких действий, сразу результат 100% и запись: «В разделе оптимизации загрузочного сектора реестра отсутствуют некоторые записи.(0×89000017)»
а сейчас повторно запустил команду defrag C: /B /U все прошло успешно
что бы это значило?
Vadim Sterkin
Виталий, я дополнил статью ответом на ваш вопрос.
Виталий
спасибо теперь все ясно
Алекс
0_o
Что бы это значило…?
P.S. Win7 SP1 x64; установлен Diskeeper
Алекс
Хм… Странно. Перезагрузка — и все нормально…
Андрей
Большое спасибо за Вашу ИНФОРМАЦИЮ. Она всегда очень полезна. Давно использую дефрагментатор Vopt 9.20. с его дополнительными полезными функциями. Советую всем. Как Вы к нему относитесь? Ценю Ваше мнение. С уважением, Андрей.
Cергей
Вадим добрый вечер,подскажите как пользоваться Rundll32.exe advapi32.dll,ProcessIdleTasks, Какая последовательность.
Vadim Sterkin
Сергей, какая там может быть последовательность? Введите команду в консоли и ждите, пока она завершится :)
Сергей
Вадим спасибо,открыл выполнить,скопировал,вставил,нажал enter, Дальше через командную строку запустил дефрагментацию. Ошибку больше не показывало. Спасибо за статью.
Vadim Sterkin
Сергей, я рад, что у вас все получилось.
Илья
Есть Win7 SP1 x64.
Стоит значение Y
Был установлен сторонний дефрагментатор Deskiper/
Подскажите как удалить ошибку.
Заранее благодарен.
Vadim Sterkin
Илья, удалите сторонний дефраг, если есть. Перезагрузитесь, потом CheckBootSpeed устраните проблемы. Перезагрузка и вперед!
Илья
Vadim Sterkin,
Дефрагментатор удалил
Средство пишет:
Ошибка остается та-же… Может кроме CheckBootSpeed нужно еще, что нибудь устанавливать?
Vadim Sterkin
Илья, английская версия сообщения об ошибке звучит понятнее:
Надо полагать, что речь идет об отсутствующем файле layout.ini в папке %windir%\prefetch.
Oткройте командную строку от имени администратора и выполните в ней:
После чего пробуйте запуск дефрага снова.
Однако отсутствие файла наводит на мысль о неправильной работе ReadyBoot, а точнее — SuperFetch. То, что вы здесь привели в качестве отчета, никуда не годится. CheckBootSpeed ведь специально создает и показывает вам отчет в Блокноте, чтобы вы могли его легко опубликовать…
1. Опубликуйте отчет в этой теме форума. И если вы нем увидите, что SuperFetch не запущена, можете сразу ->
2. В той же консоли выполнять
и готовить \Windows\Logs\CBS\CBS.log
3. Приводить службы к стандартной конфигурации.
Рассказ о своих действиях и все отчеты д.б. в одном посте.
Илья
Спасибо.
Сделал:
Теперь все работает.
Андрей
Спасибо! Разъяснили, что за ошибка, 0х89000017.До свиданья.С уважением Андрей К.
Артём
Вадим, добрый день!
Для чего нужен ключ /X?
/X Объединяет свободное пространство на указанных томах.
Что в данном случае подразумевается под томом? Логический диск? Например, C или D? Ключ /X позволит объединить свободное место на C и D?
Или все-таки под томом понимается нечто другое?
Vadim Sterkin
Артем, читайте тут.
Артём
Vadim Sterkin,
ОК, с томами разобрался.
Получается, что если у меня два основных (базовых) раздела, то, использовав ключ /X при дефрагментации, я смогу объединить свободное пространство в указанных томах, не объединяя при этом сами тома?
Например:
C — система (свободно 10ГБ)
D — фильмы, муз и прочее (свободно 100 ГБ)
Значит системе будет доступно для использования 110 ГБ?
Vadim Sterkin
Артем, нет, тут речь о пространстве на каждом томе по отдельности.
Артём
Vadim Sterkin,
кхм…но тогда не ясна суть объединения.
В мою первую гипотезу верилось мало, но теперь даже и её нет.
Владимир
Почему «криво» запускается defrag.exe, поясню: после запуска окно открывается на столь малое время, что даже не возможно прочитать что там написано и закрывается?
Vadim Sterkin
Владимир, потому что его надо запускать в командной строке, запущенной с правами администратора, как и все прочие консольные утилиты.
Владимир из Ульяновска
Здравствуйте Вадим!
У меня к Вам консультация. Дело в том, что в планировщике заданий при создании простой задачи на дефрагментацию диска в разделе Триггеры надо выбрать нужную строчку в меню: Начать задачу. 1- При входе в систему 2- При запуске 3- При подключении к пользовательскому сеансу 4- При отключении от пользовательского сеанса. Я взял только эти, так как у остальных я понимаю смысл предложений. Правильно ли я понимаю эти предложения? 1- Когда я ввёл пароль при загрузке всей системы. 2- При включении ноутбука( не при выходе из Гибернации и Сна) . 3- Когда я запустил браузер Google Chrome. 4- Когда я вышел из браузера Google Chrome. Если я не правильно понимаю эти предложения, то пожалуйста расскажите их смысл. Всего хорошего!
Vadim Sterkin
Владимир, делайте раз в месяц.
Владимир из Ульяновска
Если вы хотите исправить ситуацию вручную, в разделе реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction
для параметра Enable установите значение Y.
Для вступления изменений в силу требуется перезагрузка.
———————————————————————————
Зашёл у себя в реестр, а там слова Enable нет!
http://pixs.ru/showimage/reestrjpg_2376851_8044974.jpg
Есть слово-OptimizeComplete и там стояло слово No, я поставил Yes.
В планировщике событий всё облазил и нигде не нашёл запись по выполнению дефрагментации загрузочных файлов. А когда сделал в ручную эту операцию, то запись появилась в журнале- Просмотр событий-> Журналы Windows-> Система. Как же узнать, что была сделана дефрагментация загрузочных файлов без вмешательства извне? Объясните пожалуйста пенсионеру!
Всего хорошего!
Михаил
Увжаемый Вадим.
Хочу поделиться наблюдением.
Sorry, если оффтоп.
На XP после зпуска оптимизации (есть там такой пунктик в меню) BootVis,
заметил что утилита, после перезагрузки,
запускает дефрагментацию с такой командной строкой:
,
т.е. присутствуют параметры S и P.
В вашей таблице их нет.
Может пригодится?
Спасибо за пекрасный блог, сегодня подписался.
Vadim Sterkin
Михаил, это старые параметры дефрага, сейчас они не поддерживаются, я думаю. Статья не об XP.
Владимир из Ульяновска
Здравствуйте Вадим!
Я сейчас почти всё время ноутбук перевожу в Гибернацию. А во вторник и в пятницу после обновления баз в Защитнике Windows и после создания им точки восстановления делаю дефрагментацию загрузочных файлов и Перезагрузку всей системы. И что заметил! Бывает процесс дефрагментации проходит за 5 проходов, а бывает что и за 3 прохода. Почему такое происходит? Дефрагментатор системы у меня отключен! Но, что интересно? Он после перезагрузки включается со своими параметрами! Отключил задание в планировщике- само включается! Как вырубить этот процесс включения? Делал анализ всех дисков, у меня всего 2%! Поэтому дефрагментатор мне не нужен, а он паразит Включается! Что мне делать? Как мне быть? Посоветуйте пожалуйста! Всего хорошего!
Владимир
Хорошая статься ! ну и полезная…
Владимир из Ульяновска
Здравствуйте Вадим!
При анализе дефрагментатором от Windows в разделе SYSTEM показывается результат 5% !
При попытке сделать дефрагментацию этого раздела, процесс быстро проходит и появляется опять строчка с этим показателем.
Можно ли этот раздел дефрагментировать или нет ?
Если можно, то как ?
С уважением к Вам Владимир.
Всего хорошего!
Vadim Sterkin
Владимир, System что? Служебный раздел? Там же нет движения файлов -> нечего дефрагментировать.
Владимир из Ульяновска
Vadim Sterkin,
Вот ссылка на скрин-
http://pixs.ru/showimage/diskjpg_4157044_10206844.jpg
А когда запускаю Пуск- Администрирование- Управление компьютером- Запоминающие устройства- Управление дисками, то в меню Том выбираю слово SYSTEM, а ниже в квадратиках рихтуется этот раздел. Там написано
SYSTEM 100 МБ NTFS Исправен( Система, Активен, Основной раздел).
Для чего этот маленький раздел нужен я не знаю. Если можно объясните пожалуйста. Всего хорошего!
Vadim Sterkin
Ответ выше.
Андрей
При попытке дефрагментировать загрузочные файлы
Выполнение прохода 1:
Удаление данных: 12% выполнено…
Параметр задан неверно. (0x80070057)
В реестре стоит Y, в планировщике тоже включил уже, перезагрузки сделал. Че еще ему не нравится?!
Vadim Sterkin
https://www.outsidethebox.ms/11296/comment-page-2/#comment-19695
Андрей
Ничего не понял. Какой информации не хватает? Команду выполнил выдавала в процессе много текста. Вот концовка.
Или это был совет обратиться на форум?
Vadim Sterkin
Теперь в форум, где правила предписывает приводить нбх инфо. Удивительно, что второй человек подряд ее догадывается хотя бы ОС указать…
Владимир из Ульяновска
Здравствуйте Вадим!
У меня к вам один вопрос.
Часто ли надо делать Дефрагментацию загрузочного сектора в течении недели ?
У меня ноутбук всё время работает в режиме: Работа- Гибернация- Работа.
При обновлении базы сигнатур у Защитника Windows происходит создание точки восстановления(отката системы). Обновление сигнатур происходит по вторникам и пятницам, а вот создание точки восстановления бывает чаще по вторникам, реже по пятницам. В такие дни я делаю: Перезагрузка- Дефрагментация загрузочного сектора- Перезагрузка- Перезагрузка.
Всего хорошего !
Vadim Sterkin
Владимир, дефрагментация файлов загрузки выполняется автоматически в рамках задания ScheduledDefrag.
Владимир из Ульяновска
Здравствуйте Вадим!
1 апреля сего года дефрагментатор диска в состоянии простоя сделал по расписанию дефрагментацию всех разделов,включая и загрузочный сектор жёсткого диска. А сегодня сделал только дефрагментацию всех разделов, минуя загрузочный сектор. В реестре в папке Defrag, в папке BootOptimizeFunction, в Enable стоит Yes и в OptimizeComplete стоит Yes. Напрашивается вывод, что дефрагментатор диска сам решает- делать или нет дефрагментацию загрузочных файлов?Подскажите пожалуйста про это явление. Всего хорошего!
Vadim Sterkin
Владимир, ничего личного, но создается ощущение, что вы спите в обнимку с дефрагментатором и журналом событий :) Да, он сам решает.
Владимир из Ульяновска
Извините меня!
Я вам написал- Напрашивается вывод, что дефрагментатор диска сам решает- делать или нет дефрагментацию загрузочных файлов?Подскажите пожалуйста про это явление.
А вы мне ответили- но создается ощущение, что вы спите в обнимку с дефрагментатором и журналом событий
Я вам сейчас отвечаю- Я не сплю с ними. Просто думал, что спрошу у вас про это явление, а вы мне разъясните, а получил от вас совсем другое.
Что ж, всего вам хорошего!
Не буду вас беспокоить.
Vadim Sterkin
Владимир, я пошутил. И я вам ответил на вопрос, вы просто не заметили — перечитайте.
sergiokold
Возник вопрос об отсутствии файлика ReadyBoot.etl по пути C:\Windows\Prefetch\ReadyBoot\
Сис-ма Win7Ult x32, при наличии стороннего дефрага (O&O Defrag), не понятно каким образом ReadyBoot.etl, то появляется, то исчезает из папки… В «чистильщиках» файл внесён в исключения, дабы пресечь его удаление.
Заинтересовал механизм «возникновения» файла и причина исчезновения. Заранее благодарен за ответ.
P.S. За CheckBootSpeed.diagcab — отдельное спасибо!
Vadim Sterkin
Механизм возникновения описан тут. Причину исчезновения точно не знаю, но видимо он удаляется, когда необходимые отчеты сформированы на основе полученных из него данных.
sergiokold
Спасибо Вадим!
Разбирая журнал Microsoft-Windows-Kernel-EventTracing/Admin, я похоже, нашёл причину (или следствие) исчезновения ReadyBoot.etl:
«Описание: Достигнут максимальный размер файла для сеанса «EventLog-Microsoft-Windows-ReadyBoostDriver-Analytic». По этой причине события в файле «C:\Windows\System32\Winevt\Logs\Microsoft-Windows-ReadyBoostDriver0x81Analytic.etl» могут быть утеряны (не зарегистрированы). На данный момент максимальный размер файла составляет 1048576 (в байтах).»
Поиски+размышления привели меня к такому решению — «Отключить в службах superfetch, потом найти HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\ReadyBoot — параметр start поставить на «0» или увеличить размер файла ReadyBoot.etl в той же ветке реестра MaxFileSize.»
Завтра, вернее уже сегодня, воспользуюсь средством проверки системных файлов (SFC.exe) в среде Windows RE (ст. на oszone.net) и командой sfc /scannow /OFFBOOTDIR=E:\ /OFFWINDIR=E:\windows, думаю это восстановит «потерю», затем увеличу размер файла раза в два. Посмотрю, что получиться.
Как Вы считаете, выйдет ли толк из этой затеи?