Одной из задач, стоявших перед разработчиками Microsoft Windows XP, была оптимизация процесса загрузки системы с тем, чтобы компьютер запускался как можно быстрее. В целом, эта задача была выполнена успешно. Но, как известно, нет предела совершенству: бесплатная утилита Microsoft BootVis.exe позволяет оптимизировать процесс загрузки XP еще больше, насколько это вообще возможно.
Примечание редактора: Microsoft больше не распространяет и не поддерживает BootVis.exe, однако утилиту можно скачать с нашего сайта.
Как происходит загрузка Windows XP
Главной причиной медленного запуска Windows 2000 является характерный для этих систем метод загрузки драйверов. Предыдущие версии Windows загружают драйвера последовательно, а Windows XP загружает их одновременно и запоминает, какие приложения должны быть запущены при загрузке. Эти данные записываются в файл C:\WINDOWS\Prefetch\Layout.ini file.
При создании файла Layout.ini система осуществляет частичную дефрагментацию файлов, перечисленных в нем, чтобы поместить их в смежные участки жесткого диска и таким образом, ускорить доступ к этим файлам и загрузку соответствующих драйверов при запуске системы. В дальнейшем частичная дефрагментация этих файлов происходит примерно раз в три дня.
На процесс дефрагментации влияют четыре фактора:
• Для запуска дефрагментации система должна бездействовать. • На жестком диске должно быть достаточно свободного последовательного пространства для размещения файлов, перечисленных в файле Layout.ini. • Частичная дефрагментация, осуществляемая системой автоматически, не высвобождает необходимого последовательного пространства на диске. • Для этого следует вручную запустить полную дефрагментацию с использованием встроенной утилиты XP или приложений от сторонних производителей.
Система не может использовать приложения от сторонних производителей для автоматической дефрагментации диска — их необходимо запускать вручную. Утилита BootVis, которую Microsoft описывает как «инструмент визуализации для наблюдения за производительностью компьютеров», по сути, выполняет те же задачи, что и стандартный процесс загрузки XP. Разница заключается в том, что BootVis позволяет получить данные для оптимизации этого процесса уже после одной перезагрузки системы, избавляя от необходимости наблюдать за ней в течение нескольких дней.
Чтобы начать пользоваться этой утилитой, скачайте и распакуйте ее в соответствующую папку, дважды щелкнув на файле архива, указав размещение и нажав «OK».
Запуск BootVis и сбор данных
Чтобы запустить BootVis, просто откройте файл BootVis.exe двойным щелчком мыши. При этом на экране должно появится окно приложения, показанное на рис. A.
Рисунок A. Основное окно BootVis.
Для оптимизации процесса загрузки необходимо, прежде всего, собрать статистические данные. Для этого выберите пункт меню «Файл | Создать | Новая трассировка процесса загрузки системы и драйверов» (File | New | Next Boot + Drivers Trace). Появится диалоговое окно «Повторение трассировки» (Trace Repetitions), в котором следует указать, сколько перезагрузок потребуется для трассировки (см. рис. B). Оставьте значения, выставленные по умолчанию, и нажмите «OK».
Появится окно с обратным десятисекундным отсчетом, за время которого можно закрыть запущенные приложения или отменить перезагрузку системы. Чтобы перезагрузить систему сразу же, нажмите кнопку «Перезагрузить сейчас» (Reboot Now). Чтобы отменить перезагрузку, нажмите кнопку «Отмена» (Cancel).
Рисунок B. Укажите, сколько раз утилита должна перезагрузить систему для сбора данных.
После перезагрузки системы BootVis запускается автоматически и выводит ряд графиков для следующих видов активности системы:
• Процесс загрузки (Boot Activity) • Использование процессора (CPU Usage) • Обмен данными с жестким диском (Disk I/O) • Использование жесткого диска (Disk Utilization) • Замедленная загрузка драйверов (Driver Delay) • Запущенные процессы (Process Creates)
Наберитесь терпения — построение графиков может затянуться на несколько минут.
Чтение графика «Процесс загрузки»
В графике «Процесс загрузки», показанном на рис. C, процесс загрузки разбит на следующие компоненты:
• Диск (Disk): Время, затраченное на обнаружение всех устройств в бесстраничном разделе. Сюда могут входить любые устройства, от центрального процессора до загрузочного жесткого диска. Это время обычно составляет около двух секунд. • Драйвера (Driver): Время, затраченное на инициализацию устройств. • Предварительная выборка (Prefetching): Время, затраченное на чтение страниц, которые позже будут использованы для инициализации устройств. Сюда также входят процесс Winlogon, службы, оболочка и любые приложения, стартующие при загрузке системы. • Реестр и файл подкачки (Registry + Page File): Время затраченное на чтение реестра и инициализацию файла подкачки. • Видео (Video): Время, затраченное на настройку режима вывода и частоту обновления экрана. На это время влияют настройки видео в BIOS и параметры используемого видеодрайвера. • Вход в систему, службы и оболочка (Logon + Services and Shell): Время, затраченное на запуск процесса Winlogon, любых необходимых служб и приложений, например, брандмауэра или антивируса, стартующих при загрузке системы.
Рисунок C. График «Процесс загрузки» BootVis.
Компоненты представлены в графике в том порядке, в каком к ним обращается система. Читать график следует снизу вверх. Столбец каждого графика начинается в последовательности загрузки в тот момент, когда к нему обратилась система, а длина столбца зависит от времени в секундах, затраченного на его загрузку. Чтобы узнать, сколько времени потребовалось на загрузку того или иного компонента, нужно навести курсор на его название.
Чтобы узнать самое главное — сколько времени потребовалось на загрузку всей системы, — нужно навести курсор на вертикальную линию, которая пересекает все компоненты. Эта линия отмечает общее время загрузки системы. Как видно из рис. C, моей тестовой системе понадобилось на загрузку 33,84 секунды.
Стоит отметить, что время загрузки зависит от скорости ввода пароля при входе в систему, если это необходимо, поэтому постарайтесь при тестировании системы ввести пароль как можно быстрее.