Оптимизация операционных систем

Windows автоматически дефрагментирует разделы жесткого диска в фоновом режиме, т.е. от вас не требуется никаких дополнительных действий. Дефрагментация выполняется с помощью планировщика заданий, при этом анализ диска, запуск дефрагментации, а также настройка ее расписания выполняются в одном окне. Кроме того, дефрагментацию можно выполнять в командной строке с помощью утилиты defrag.exe, у которой в Windows 7 появились новые параметры. В статье также приводятся параметры командной строки для более новых ОС Windows.

На этой странице

Как и в предыдущих ОС 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Объединяет свободное пространство на указанных томах.
:/>  CHKDSK — проверка жесткого диска на ошибки

Примеры команд

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

ПараметрОписание
defrag  /A /C /U /VАнализирует фрагментированность всех разделов, отображая ход операции, и выводит подробный отчет.
defrag C: D: /O /VВ Windows 8 и новее выполняет оптимизацию дисков C и D в соответствии с типом накопителя, а затем выводит подробный отчет.

Если C — SSD, а D — HDD, то первому отправляется только набор команд TRIM, а на втором выполняется традиционный дефраг.

defrag C: /E /H /FВыполняет дефрагментацию всех разделов кроме C с обычным приоритетом вне зависимости от количества свободного пространства на них.
defrag %systemdrive% /B /UТолько для HDD. Выполняет дефрагментацию файлов, участвующих в загрузке системы, отображая ход операции. Это позволяет оптимизировать скорость загрузки системы.

Решения проблем при дефрагментации загрузочных файлов

Попытка выполнить дефрагментацию загрузочных файлов (параметр /B) может завершиться ошибкой. Ниже приводятся распространенные ошибки и решения.

В разделе оптимизации загрузочного сектора реестра отсутствуют некоторые записи (0x89000017)

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

Нужно либо оставить систему в покое и дать ей выполнить задания, срабатывающие только при бездействии, либо форсировать их выполнение командой

Rundll32.exe advapi32.dll,ProcessIdleTasks

Оптимизация загрузочного сектора отключена в реестре (0x89000018)

Причиной ошибки может являться:

  • наличие стороннего дефрагментатора или параметров, оставшихся после его удаления
  • неграмотный твик реестра

Чтобы устранить проблему в автоматическом режиме, исправьте ошибки с помощью моего диагностического пакета.

Если вы хотите исправить ситуацию вручную, в разделе реестра

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction

для параметра Enable установите значение Y.

Для вступления изменений в силу требуется перезагрузка.

Не удалось выполнить оптимизацию загрузочного сектора… (0x8900001B)

Ошибка связана с отсутствием файла Layout.ini в папке %windir%\prefetch. Причиной отсутствия, скорее всего, является неправильная работа службы Superfetch.

Если компьютер работает медленно, причин тому может быть множество. Есть разные варианты того, как заставить Windows функционировать быстрее. Можно проверить наличие утечек памяти на компьютере, удалить ненужные программы для освобождения места в хранилище, запустить антивирус в поисках вредоносных программ. Также дефрагментация жёсткого диска или использование команды TRIM для твердотельного накопителя могут заставить их работать эффективнее.

Системы Windows способны делать это автоматически, так что от вас наверняка ничего не потребуется. И всё же, если вы чувствуете, что нужно попытаться сделать компьютер быстрее или заметили, что оптимизация давно не запускалась, можно выполнить нужные действия вручную.

Зачем хранилищу нужна дефрагментация или TRIM

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

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

:/>  Как сбросить windows 7 до заводских настроек на ноутбуке и переустановить windows это прошлый век. Как восстановить заводские настройки компьютера

Продолжение после рекламы

Продолжение после рекламы

В твердотельных накопителях движущихся частей нет, поэтому они функционируют быстрее по сравнению с жёсткими дисками. SSD всё равно, из какой части памяти считывать данные. Однако, даже твердотельным накопителям нужно обслуживание. Когда на SSD происходит удаление данных, они помечаются недействительными, но физически не удаляются. Команда TRIM говорит накопителю, что можно реально удалить данные. В противном случае накопитель будет хранить их до тех пор, пока не запишет что-то сверху, что замедляет его работу. Регулярно применяя TRIM, можно поддерживать быстродействие накопителя на максимальном уровне.

Как выполнить оптимизацию работы хранилища

Оптимизация жёстких дисков и твердотельных накопителей в системах Windows 10 и Windows 11 выполняется автоматически. Компьютер сам запускает дефрагментацию или TRIM. Если вы хотите убедиться, что всё сделано как положено, можно запустить процесс вручную или поменять расписание автоматического запуска. Нажмите на кнопку «Пуск» и введите в поиск «дефрагментация». Нажмите на результат «Дефрагментация и оптимизация ваших дисков».

Поиск

Появится окно «Оптимизации дисков», где вы увидите список всех разделов ваших жёстких дисков или твердотельных накопителей. В одном столбце указано время последнего анализа или оптимизации. Следующий столбец показывает текущее состояние дисков.

Оптимизация дисков

Если всё нормально, в этом столбце написано ОK. У жёстких дисков написано также «Фрагментировано: 0%». У твердотельных накопителей указана дата, когда в последний раз запускалась команда TRIM. По умолчанию оптимизация производится еженедельно, но если окажется, что процесс не запускался уже давно, выберите диск и нажмите на кнопку «Оптимизировать».

Расписание оптимизации

Чтобы изменить частоту запуска процедуры оптимизации, под заголовком «Оптимизация по расписанию» нажмите на кнопку «Изменить параметры». Можно заставлять проверку запускаться ежедневно, еженедельно и ежемесячно.

Оптимизация операционных систем

Евгений Тарасов

Автор, новостной редактор.

Файл Windows.edb (Windows.db в Windows 11) хранит индексную базу данных службы поиска Windows (Windows Search). Поисковый индекс позволяет пользователям выполнять быстрый поиск файлов, электронных писем в pst файлах и другого контента на диске. Индексирование файлов выполняется в фоновом режиме процессом
SearchIndexer.exe
. При большом количестве файлов на диске размер файла Windows.edb может вырастать до десятков и даже сотен Гб, занимая все свободное место на системном диске.

Файл Windows.edb является скрытым и по-умолчанию хранится в каталоге C:\ProgramData\Microsoft\Search\Data\Applications\Windows\.

В Windows 11 вместо файла Windows.edb для хранения индекса службы поиска используется файл Windows.db.

Чтобы быстро узнать текущий размер файла Windows.edb можно воспользоваться PoweShell командой:

powershell команда чтобы узнать размер файла windows.edb в windows 10

В моем примере при поиске больших файлов на диске, я обнаружил что размер файла Windows.edb вырос до 15,5 Гб (а это почти 15% на моем 100 Гб SSD диске).

Большой размер файла Windows.edb на диске

Далее рассмотрим, как уменьшить размер индексного файла Windows.edb службы поиска Windows.

Сбросить поисковый индекса службы Windows Search

Для уменьшения размера файла Windows.edb можно использовать встроенную функцию Windows Search, которая выполняет полную переиндексации содержимого диска.

  1. Откройте панель Settings -> Search -> Searching Windows -> Advanced Search Indexer Settings (в классической Control Panel перейдите в Indexing Options, или выполните команду
    сontrol srchadmin.dll
    ); Панель параметров поиска и индексирования windows
  2. Нажмите кнопку Advanced -> Rebuild; Переиндексация базы Windows Search
  3. Windows Search удалит старый файл Windows.edb, выполнит сканирование диск, переоздаст и перестроит индексный файл. Этот процесс может занять длительное время в зависимости от количества файлов на диске.

Уменьшаем размер файла Windows.edb с помощью дефрагментации

Индексный файл службы поиска Windows представляет собой базу в формате EDB. Можно выполнить офлайн дефрагментацию EDB базы с помощью встроенной утилиты esentutl.exe (Extensible Storage Engine Utility), хорошо знакомой администраторам Exchange. Воспользуйтесь готовым BAT скриптом для остановки службы Windows Search и офлайн дефрагментации файла Windows.edb:

:/>  Утилита ftp.exe как инструмент для работы с FTP-серверами | Настройка серверов windows и linux

sc config wsearch start=disabled
sc stop wsearch
esentutl.exe /d %ProgramData%\Microsoft\Search\Data\Applications\Windows\Windows.edb
sc config wsearch start=delayed-auto
sc start wsearch

Совет. Для выполнения дефрагментации EDB базы на диске должно быть достаточно свободного места, т.к. будет создана копия edb файла.

дефрагментация базы windows.edb с помощью esentutl.exe

Дефрагментации позволяет уменьшить размер базы поиска на 20-50 процентов

Этот способ можно применить для дефрагментации файла службы поиска на всех версиях Windows, кроме Windows 11. В Windows 11 вместо файла Windows.edb с типом базы данных JET, используется новый формат файла Windows.db. Это база данных на базе SQLite, которую нельзя индексировать с помощью esentutl.exe.

Ручное удаление и пересоздание файла Windows.edb

Если места на диске критически мало, можно вручную удалить файл Windows.edb. Это действие безопасно, т.к. вы не теряете никакие данные, сбрасывается только поисковый индекс. Для удаления файла Windows.edb остановите службу Windows Search, затем удалите файл и запустите службу.

net stop "Windows Search"
REG ADD "HKLM\SOFTWARE\Microsoft\Windows Search" /v SetupCompletedSuccessfully /t REG_DWORD /d 0 /f
del %PROGRAMDATA%\Microsoft\Search\Data\Applications\Windows\Windows.edb
net start "Windows Search"

Параметр реестра
SetupCompletedSuccessfully = 0
указывает службе Windows Search, что нужно восстановить настройки по-умолчанию.

После перезапуска, служба Windows Search начнет процесс переиндексации данных на дисках компьютера и пересоздаст файл Windows.edb (в процессе полной переиндексации производительность системы может снизится).

Перенос файла Windows.edb на другой диск

В некоторых сценариях пользователи могут активно использовать поиск на диске через Windows Search (например, пользователи терминального RDS сервера часто используют поиск в папках и личных PST файлах). В таком случае, если вы не можете кардинально уменьшить размер файла Windows.edb или постоянно сбрасывать поисковые индексы, вы можете перенести его с системного раздела на другой диск.

Для смены местоположения файла перейдите в Control Panel –> Indexing Options -> Advanced -> Index location-> New Location и укажите путь к новому местоположению файла Windows.edb и нажмите OK.
Перезапустите службу поиска:
Restart-Service wsearch

Перенос файла windows.edb на другой диск

Почему сильно растет размер файла Windows.edb

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

  1. Запустите встроенное средство исправления неполадок поиска Windows (Search and Indexing Troubleshooter). Выполните команду:
    msdt.exe -ep SystemSettings_Troubleshoot_L2 -id SearchDiagnostic
    . В списке проблем выберите, что поиск или индексация выполняется медленно (Search or indexing is slow). Далее мастер устранения неполадок попробуем вернуть службу Windows Search в нормальное состояние;windows средство исправления проблем службы поиска windows search
  2. Старайтесь индексировать только необходимые контент. Исключайте из поискового индекса элементы, поиск в которых вы не используете. Нажмите кнопку Modify в настройках индексирования и в окне Indexing Location отключите пути и приложения, которые не нужно индексировать. После изменения настроек путей индексирования перестройте индекс Advanced -> Rebuild; исключить элементы индексирования службы поиска windows
  3. Если вы используете на компьютере Outlook с PST файлами, то при их индексировании размер файла Windows.edb растет пропорционально размеру PST файлов. Это может привести к исчерпанию места на диске и проблемам с производительностью. В этом случае Microsoft рекомендует исключить Outlook из списка индексируемых элементов. отключить outlook из индексации службой windows searchЕстественно при этом в Outlook перестанет работать поиск (это не будет проблема, если вы храните своя ящик на сервере Exchange с включенным поисковым индексом);
  4. Если ничего не помогает, и размер файла постоянно растет, вы можете полностью отключить службу wsearch, или настроить логон скрипт, который сбрасывает поисковый индекс при каждой загрузке компьютера.

Оставьте комментарий