Изначально, утилита CheckBootSpeed была рассчитана исключительно на исправление различных недостатков, которые могли в определенной мере замедлять загрузку ОС Windows. В процессе произведения работ над программой, функциональная ее часть была существенно расширена, что автоматически добавило софту универсальности. В частности, новой приоритетной основой — базисом стало редактирование задач для дальнейшей диагностики системы, а также сбора требующейся статистики.
— PowerShell — SuperFetch — ReadyBoot — Prefetch
Скачать CheckBootSpeed — значит обрести многофункционального помощника, работающего как в Windows XP, так и в 7 или же 8 части этой операционной системы. Процесс диагностики происходит при помощи PowerShell — функции, которая может оценивать производительность системы, а также осуществлять оптимизацию дисков. Во время работы CheckBootSpeed система сканирует диск и весьма своеобразно интерпретирует результат в согласии таблицей, которая публикуется на MSDN.
Саму оценку производительности диска можно получить при помощи командлета Get-WmiObject, находящегося в объекте Win32_WinSat. В отчете PowerShell предоставляются данные об окончании процесса — в случае успешного завершения команды, пользователь видит на экране число 0. В случае негативного окончания заданного действия, на экране демонстрируется другое числовое значение — 8.
Суть применения SuperFetch состоит в произведении анализа рабочих сценариев и своевременной синхронизации нужных Вам программ. SuperFetch — опция, существенно улучшающая процессы сна, гибернации и переключения пользовательских учетных записей.
Служба Prefetch нужна для работы с реестром. «Продвинутые» пользователи могли понять из названия то, что в основе функционирования функции находится префетчинг — компонент, позволяющий ускорить загрузку программ и начальный запуск операционной системы.
Функция ReadyBoot предназначена для оптимизации производимых системой действий. Очень важным моментом для правильного функционирования ReadyBoot является ведение журнала — эта операция, к слову, никоим образом не влияет на работу персонального компьютера.
CheckBootSpeed — диагностический пакет созданный на основе скриптов PowerShell, предоставляющий пользователю подробный отчет о скорости загрузки операционной системы Windows 7, а также позволяющий исправить основные системные проблемы, негативно влияющие на длительность загрузки. Входящий в пакет скрипт собирает информацию, а затем выводит в текстовом файле основные сведения о последней загрузке, состояние службы SuperFetch и ее функции ReadyBoot, данные о работе дефрагментатора диска, процент свободного места на системном разделе и сведения об операционной системе, процессоре и памяти.
Статус программы
Бесплатная
Операционка
Windows 7
Интерфейс
Русский
Закачек (сегодня/всего)
2 / 12 955
Разработчик
Вадим Стеркин
Последнее обновление
14.02.2014 (Сообщить о новой версии)
Категории программы
Настройка, оптимизация
Process Hacker 2.39.124
Process Hacker — мощное приложение для полного контроля над задачами, процессами и службами, с возможностью просмотра их подробной статистики, графиков
CCleaner 5.72.7994
CCleaner — популярное приложение для оптимизации ПК, чистки реестра и удаления различного мусора из системы. Освобождает пространство на жестких дисках, благодаря
Win 10 Tweaker 16.1
Простой в использовании твикер для Windows, с помощью которого можно быстро и легко оптимизировать систему и улучшить ее производительность. Все пункты содержат
MSI Afterburner 4.6.2
MSI Afterburner — настоящая находка для истинного оверклокера, с помощью которой можно осуществлять разгон видеокарт NVIDIA и AMD. Утилита включает в себя
Mem Reduct 3.3.5
Mem Reduct — небольшая портативная утилита, которая позволяет высвободить до 25% используемой памяти, улучшив тем самым быстродействие и отклик системы. Дает
Destroy Windows 10 Spying 2.2.2.2
Destroy Windows 10 Spying — небольшая портативная утилита, с помощью которой можно быстро и легко отключить в Windows 7/8/10 параметры телеметрии, отвечающие за
Отзывы о программе CheckBootSpeed
Admin
Отзывов о программе CheckBootSpeed 3.0 пока нет, можете добавить.
Корзина закачек ( 0 )
Избранные ()
Категории
Windows
Android
macOS
iOS
Советуем обратить внимание
Встроенный поиск поможет вам найти любой файл. Встроенный проигрыватель покажет вам видео не дожидаясь загрузки. Каталог поможет выбрать из миллона программ, игр, фильмов именно то, что вам необходимо.
Новая версия моего диагностического пакета почти готова к свободному плаванию. Сегодня я расскажу об изменениях и покажу скрипты PowerShell, лежащие в основе утилиты.
Утилита CheckBootSpeed изначально была рассчитана на исправление проблем, замедляющих загрузку Windows с жесткого диска. Когда утилита создавалась, владельцев SSD было очень мало, к тому же они и без нее довольны скоростью запуска системы. Однако я вижу ценность пакета не только в исправлении проблем, но и сборе данных для дальнейшей диагностики или статистики.
Поэтому я решил не бросать утилиту, а обновить ее в духе времени. Предлагаю вашему вниманию обзор изменений и практические примеры сбора сведений о системе с помощью PowerShell.
[+] Сегодня в программе
Более подробные описания диагностируемых проблем
Букв стало больше, но для меня это еще один способ донести до владельцев SSD назначение функций Windows.
Определение типа диска (SSD или HDD)
В отличие от Windows 7, Windows 8 определяет тип диска еще до проведения оценки производительности, которая теперь выведена за рамки программы установки. Это можно проверить, открыв оптимизатор дисков сразу после первого входа в систему.
Windows определяет тип накопителя на основе спецификаций ACS-2. Система опрашивает диск и интерпретирует полученный результат в соответствии с таблицей, опубликованной на MSDN. Накопитель считается твердотельным, если диск определяется как «не вращающийся» (non-rotational). Однако скриптом извлечь эту информацию невозможно.
Из блога разработчиков Windows 7 я почерпнул, что они отключают дефраг для дисков, на которых скорость случайного чтения выше 8MB/s.
Из 182 протестированных жестких дисков лишь шесть кое-как перевалили через 2MB/s. Я решил использовать этот же прием.
В принципе, оценку производительности диска можно извлечь командлетом Get-WmiObject из объекта Win32_WinSat:
Поскольку она учитывает также и другие скорости, было трудно сопоставить ее с порогом в 8MB/s. Поэтому я решил измерить скорость случайного чтения самостоятельно с помощью утилиты winsat. Любые выражения, в том числе командной строки, можно выполнять с помощью командлета Invoke-Expression.
Старожилы блога помнят дело об оценке производительности, раскрытое Холмсом, откуда и взята команда. Суть в том, что утилита winsat не запускается, если не может переключиться на самый производительный план электропитания. Кстати, попутно обнаружилось, что winsat отказывается работать на виртуальной машине Hyper-V.
По иронии судьбы, диагностический пакет это дело не решает автоматически, но по крайней мере учитывает проблему и отражает ее в отчете. В PowerShell есть удобная переменная $LastExitCode, принимающая значение 0 в случае успешного завершения команды. В противном случае скорости диска присваивается значение 8, что ведет к более консервативной оценке требуемых исправлений (как для SSD).
Если же измерение завершилось успешно, из временной папки считывается XML-файл с полученным отчетом WinSat. Здесь содержимое файла считывается с помощью командлета Get-Content.
Экспорт результатов в XML позволяет задействовать их в прочих скриптах пакета. А в PowerShell работать с XML – одно удовольствие. Пункты команды просто соответствуют узлам XML-файла, которые надо последовательно раскрыть, чтобы добраться до значения элемента.
Остается лишь сравнить его с порогом. Если скорость не меньше 8, диск считается твердотельным.
Я не интересовался, может ли скорость превышать этот порог на RAID из жестких дисков, но это не имеет значения для пакета, как вы увидите ниже.
Диагностика SuperFetch, ReadyBoot и Prefetch с учетом типа диска
Определившись с типом диска, пакет дифференцированно подходит к диагностике параметров кэширования запуска Windows и программ. Давайте немного остановимся на этих параметрах, потому что здесь все очень запутано.
SuperFetch
Вкратце, смысл технологии SuperFetch в том, чтобы анализировать ваши сценарии работы и вовремя подгружать в память наиболее востребованные вами программы. Кроме того, SuperFetch оптимизирует сон, гибернацию и быстрое переключение между пользователями.
Представьте, что после нескольких часов напряженной работы в системе вы пошли пообедать. ПК вошел в режим бездействия, что повлекло за собой выполнение задач обслуживания (например, антивирусную проверку). Диспетчер памяти освободил для них место, выкинув ваши приложения (то же самое происходит при работе с любыми приложениями, потребляющими много памяти).
Однако SuperFetch сохранила их в кэш на диске. Когда задачи обслуживания отработали, диспетчер памяти вернул в память ваши программы из кэша SuperFetch. Подкрепившись, вы приступили к работе с приложениями без задержки.
Проверить тип запуска службы можно одной командой PowerShell. В данном случае уже знакомый вам командлет Get-WmiObject извлекает информацию из класса Win32_Service.
Когда технология SuperFetch отключена, данные и код потребуется подгружать с диска без всякого кэша, что выражается в более медленном отклике приложений. Однако на быстрых дисках (например, SSD) технология не дает преимуществ, поэтому Windows отключает ее, но не службу, как вы увидите ниже.
ReadyBoot
Функция ReadyBoot формально возложена на службу ReadyBoost, имеющую свой драйвер rdyboost.sys, который ядро загружает на раннем этапе запуска Windows. Однако по сути ReadyBoost является частью службы SuperFetch (sysmain), как видно на рисунке ниже.
Служба ReadyBoost отслеживает, какие файлы и в каком порядке запускаются при загрузке Windows, сохраняя пять последних отчетов в папке %WinDir%\Prefetch\ReadyBoot. На основе этой информации формируется план следующей загрузки, хранящийся в реестре.
Так или иначе, ReadyBoot призвана ускорять запуск Windows и автозагрузку программ в первую очередь с жесткого диска.
Если по оценке производительности система установлена на достаточно быстрый диск (например, хороший SSD), из реестра удаляется параметр EnableSuperFetch, отвечающий за ее работу.
На моем планшете сразу после установки параметр присутствовал, но после измерения оценки производительности он исчез. Я точно не знаю, на какой параметр опирается Windows, принимая решение, но он должен быть как-то связан с последовательным или случайным чтением. Ведь только эти скорости измеряются во время формальной оценки WinSat.
Prefetch
Но даже когда система установлена на быстром SSD, служба SuperFetch не отключается, вопреки распространенному мнению. Она остается работать для логического префетчинга, появившегося еще в Windows XP. По той же причине в реестре остается параметр EnablePrefetcher.
Вряд ли префетчинг способен улучшить скорость запуска Windows с SSD, но, видимо, в Microsoft сочли, что наряду с твердотельными накопителями в системе могут быть и жесткие диски. Если с них запускаются программы, кэширование может улучшить отлкик.
Алгоритм работы CheckBootSpeed
На жестких дисках утилита проверяет тип запуска службы SuperFetch (см. выше), а также значение параметров реестра EnablePrefetcher и EnableSuperFetch. Сначала раздел реестра закладываются в переменную, а затем отдельные параметры и значения извлекаются с помощью командлета Get-ItemProperty.
Затем используется условие Switch с регулярным выражением, определяющим, равен ли каждый параметр 2 или 3, либо чему-то другому. Иначе говоря, утилита проверяет, оптимизируется ли запуск системы и/или приложений. .
Если на жестком диске служба не стартует автоматически или в реестре указаны неверные значения, утилита восстанавливает стандартные параметры.
С твердотельными дисками я не стал городить огород. Когда пакет определяет, что система установлена на SSD, он даже не проверяет параметры SuperFetch, ReadyBoot и Prefetch. В конце концов, если владельцы SSD сами отключают их, «они лучше знают».
Пакет также не проверяет на SSD параметры реестра в разделе BootOptimizeFunction, поскольку дефрагментация загрузочных файлов не выполняется, когда ОС установлена на твердотельный накопитель.
Сбор дополнительной диагностической информации
Утилита построена на платформе диагностики Windows, а с помощью PowerShell можно извлечь самые разнообразные сведения. Это одна из основных причин, по которой я не бросаю развитие пакета.
В частности, в бета-версии осуществляется сбор информации о:
моделях дисков и раскладе по разделам
оценке диска на основе формальной оценки WinSat, хранящейся в системе
последних действиях функций Prefetch и ReadyBoot
параметрах задания дефрагментации
событиях дефрагментации и оптимизации дисков в журнале
В следующей записи я подробнее расскажу о том, как PowerShell помогает собирать эти сведения
Сводная таблица диагностики CheckBootSpeed
В таблицу я собрал информацию о том, что конкретно проверяется и исправляется во время работы пакета.
Бета-тестирование CheckBootSpeed
Upd. Ровно 150 человек прислали запросы, и каждому я ответил ссылкой. Далеко не все прислали отчеты, но полученной информации более чем достаточно. Прием заявок прекращен.
Как и что тестировать
Прежде чем приступать к проверке, создайте точку восстановления системы.
Запустите утилиту.
Снимите на первом экране флажок автоматического исправления и нажмите «Далее».
Если вы не изменяли системные параметры, которые анализирует утилита, она предложит лишь сбор данных. Все остальные обнаруженные проблемы нужно изучить.
Пакет работает по принципу «найти проблему –> исправить ее –> проверить исправление», причем в большинстве случаев обнаружение и проверку выполняет один и тот же скрипт.
Поэтому нужно обращать внимание на такие моменты:
Соответствует ли обнаруженная проблема алгоритму в таблице выше.
Исправлена ли обнаруженная проблема на практике.
Соответствует ли статус «Исправлено» или «Не исправлено» в результатах работы пакета реальному положению дел в итоге.
Если вы решили исправить проблему, повторите запуск утилиты и посмотрите, обнаружит ли она ее в этот раз.
Что делать с результатами
Здесь все просто! Вставьте отчет в комментарий и поделитесь впечатлениями от работы утилиты. Я буду рад услышать ваши наблюдения и замечания! Если вы не хотите публиковать отчет в комментариях, пришлите мне его на почту ответным письмом.
Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.
Об авторе
Вадим является владельцем этого блога, и большинство записей здесь вышло из-под его пера. Подробности о блоге и авторе здесь.
Вас также может заинтересовать:
Подпишитесь на бесплатные уведомления о новых записях и получите в подарок мою книгу об ускорении загрузки Windows!