Share via


Быстрая загрузка Windows 8

Когда речь идет о «фундаментальных» возможностях, начать следует с времени загрузки — ни одна другая характеристика не вызывает столько разговоров и не измеряется так тщательно. Мы разработали Windows 8 таким образом, чтобы вам не приходилось так часто перезагружаться (и мы всегда будем работать над тем, чтобы максимально сократить число перезагрузок из-за исправления исполняемого кода). Но когда перезагрузка все-таки нужна, мы хотим, чтобы она происходила как можно быстрее. Это очень глубокая тема, и над ней работает много людей. В Windows 8 мы уделили такое внимание этой области, какое не уделяли уже долгое время, и в немалой степени это обусловлено необходимостью обеспечения взаимодействия всей «экосистемы». Эту статью (первую из серии статей, посвященных фундаментальным возможностям) написал Гейб Ол (Gabe Aul), директор отдела управления программой в группе разработчиков Windows.
--Стивен

Немногие операции в Windows исследуются, измеряются и обсуждаются так тщательно, как загрузка. Это вполне понятно — время загрузки представляет эффективный показатель общей производительности системы, и все мы знаем, что скорость загрузки очень важна для наших клиентов. Данные исследований показывают, что 57 % пользователей настольных ПК и 45 % пользователей ноутбуков завершают работу компьютеров, а не переводят их в спящий режим. То есть примерно половина всех пользователей завершают работу компьютеров, а не переводят их в спящий режим.

Круговая диаграмма режимов отключения ноутбуков с Windows 7, где 45 % пользователей используют спящий режим, 11 % используют гибернацию и 45 % применяют завершение работы (в том числе перезагрузку)
Круговая диаграмма режимов отключения настольных компьютеров с Windows 7, где 42 % пользователей используют спящий режим, 1 % используют гибернацию и 57 % применяют завершение работы (в том числе перезагрузку)

В качественном отношении пользователи говорят, что предпочитают завершение работы, так как хотят полностью выключить компьютер, чтобы он не потреблял энергию (для экономии заряда аккумулятора или сокращения расхода электроэнергии). Гибернация — также неплохой вариант с этой точки зрения, так как электроэнергия при этом почти не используется, и многие пользователи предпочитают гибернацию. Многие, но не все: мы также узнали, что многие пользователи хотят включать компьютер и видеть «чистый лист», а не систему с открытыми приложениями и документами из предыдущего сеанса. Спящий режим и возобновление работы — это лучший вариант для быстрого включения и выключения компьютеров, но он потребляет электроэнергию для сохранения содержимого оперативной памяти, что приводит к разрядке аккумулятора, пусть даже и медленной (в правильно настроенной системе). А теперь подумайте, как мы все используем мобильные телефоны: практически без перезагрузки и с постоянным использованием режима, очень близкого к спящему.

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

  • нулевое потребление энергии при отключении;
  • новый сеанс после загрузки;
  • очень короткое время между нажатием кнопки питания и готовностью компьютера к использованию.

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

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

Перед тем как я перейду к подробностям, будет полезно вспомнить, как завершение работы и загрузка реализованы в Windows 7.

Процедура завершения работы:

  1. Пользователь инициирует завершение работы, выбирая параметр «Выключить компьютер» в меню «Пуск» или нажимая кнопку питания, либо приложение инициирует завершение работы, вызывая функцию интерфейса API, например ExitWindowsEx() или InitiateShutdown().
  2. Windows транслирует сообщения запущенным приложениям, позволяя им сохранить данные и настройки. Приложения также могут запросить немного дополнительного времени на завершение своей работы.
  3. Windows закрывает сеансы каждого пользователя, вошедшего в систему.
  4. Windows отправляет сообщения службам, уведомляя их о начале завершения работы, а затем останавливает их. Упорядоченные службы с зависимостями отключаются последовательно, а остальные — параллельно. Если служба не отвечает, ее работа завершается принудительно.
  5. Windows передает сообщения устройствам, информируя их о необходимости завершения работы.
  6. Windows закрывает системный сеанс (который также называют «сеансом 0»).
  7. Windows записывает все данные, ожидающие записи, на системный диск, чтобы обеспечить их полное сохранение.
  8. Windows передает сигнал через интерфейс ACPI системе для отключения компьютера.

Процедура загрузки:

  1. После нажатия кнопки включения питания микропрограммное обеспечение компьютера запускает тест POST и загружает настройки. Этот предварительный процесс завершается после обнаружения допустимого системного диска.
  2. Микропрограммное обеспечение считывает основную загрузочную запись (MBR) и запускает программу Bootmgr.exe. Bootmgr.exe находит и запускает загрузчик Windows (Winload.exe) в загрузочном разделе Windows.
  3. Загружаются драйверы, необходимые для запуска ядра Windows, после чего начинает работать ядро, загружая в память куст системного реестра и дополнительные драйверы, отмеченные как BOOT_START.
  4. Ядро передает управление процессу диспетчера сеансов (Smss.exe), который инициализирует системный сеанс, загружает и запускает устройства и драйверы, не отмеченные как BOOT_START.
  5. Запускается Winlogon.exe, отображается экран входа пользователя в систему, диспетчер управления службами запускает службы, и выполняются заданные сценарии групповой политики. Когда пользователь входит в систему, Windows создает сеанс для этого пользователя.
  6. Запускается Explorer.exe, система создает процесс диспетчера окон рабочего стола (DWM), который инициализирует рабочий стол и отображает его.

На самом деле этот процесс намного более детальный; дополнительные сведения доступны здесь: https://msdn.microsoft.com/en-us/windows/hardware/gg463386

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

И вот основное отличие Windows 8: как и в Windows 7, мы закрываем пользовательские сеансы, но вместо того чтобы закрывать сеанс ядра, мы переводим его в режим гибернации. По сравнению с полной гибернацией, при которой сохраняется множество страниц памяти, используемых приложениями, объем данных гибернации сеанса 0 намного меньше, и они значительно быстрее записываются на диск. Если вы не знакомы с гибернацией, то в двух словах — система сохраняет свое состояние и содержимое памяти в файле на диске (hiberfil.sys), а затем читает его при возобновлении работы и восстанавливает содержимое памяти. Такой метод значительно сокращает время загрузки, так как чтение файла гибернации и повторная инициализация драйверов происходят значительно быстрее в большинстве систем (на 30-70 % быстрее в большинстве протестированных нами систем).

Линейная диаграмма со сравнением времени быстрой загрузки в Windows 8 с временем «холодной» загрузки в Windows 7 для 30 разных конфигураций ПК. Время запуска Windows 8 составляет от 15 до 33 секунд, а время «холодной» загрузки Windows 7 — от 25 до 72 секунд.
Пример результатов тестирования от System Integration.
Щелкните, чтобы увеличить диаграмму.

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

Линейная диаграмма с относительным временем для разных этапов загрузки системы. При «холодной» загрузке Windows 7 на тест POST и предварительные операции уходит 1/3 всего времени, на инициализацию системы — больше половины времени, а на инициализацию сеанса пользователя уходит около 1/5. При быстрой загрузке Windows 8 на тест POST и предварительные операции уходит 1/3 всего времени, затем читается файл гибернации и инициализируется сеанс пользователя, на что уходит по 1/4 всего времени; для инициализации драйверов требуется немного меньше времени, чем для чтения файла гибернации и инициализации сеанса пользователя.
Представление разных этапов «холодной» и быстрой загрузки.
Щелкните, чтобы увеличить диаграмму.

Возможно, следует упомянуть о том, как обрабатывается файл гибернации (если вы сейчас читаете эту статью и выполните команду dir /s /ah hiberfile.sys, вы узнаете, как много места на диске он занимает). По умолчанию размер файла гибернации составляет 75 % от объема физической оперативной памяти. Этот файл по сути резервирует место для данных гибернации, которые будут записаны при переходе системы в режим гибернации. Обычно используется намного меньше места на диске, а при использовании нашей быстрой загрузки размер файла обычно составляет около 10-15 % от объема физической оперативной памяти, но это зависит от установленных драйверов, используемых служб и других факторов. Кроме того, система обрабатывает файл гибернации не совсем так, как другие файлы на диске. Например, служба моментального снимка тома игнорирует его (что позволяет слегка увеличить производительность). Гибернацию можно отключить и освободить занимаемое место на диске, выполнив команду  powercfg /hibernate off в командной строке с повышенными привилегиями. Но помните: если сделать это, вы полностью отключите гибернацию, в том числе некоторые полезные функции, такие как быстрая загрузка и гибридный спящий режим, которые позволяют настольным системам одновременно переходить в спящий режим и режим гибернации, чтобы при отключении питания можно было возобновить работу из состояния гибернации. Можно также выполнить команду powercfg /hibernate /size и указать значение от 0 до 100 для объема физической оперативной памяти в процентах, зарезервированной для файла гибернации. Но будьте осторожны! Если указать слишком маленький размер, гибернация может привести к сбою. В общем случае я рекомендую использовать значение по умолчанию, если вы не работаете в системе с ограниченным местом на диске.

Еще одна важная отличительная черта быстрой загрузки Windows 8 состоит в том, что, хотя мы не и проводим полное перечисление драйверов устройств Plug & Play, мы все равно инициализируем драйверы в этом режиме. Те из вас, кто предпочитает «холодную» загрузку для «освежения» драйверов и устройств, будут рады узнать, что такой процесс действует и в новом режиме, хотя он и отличается от обычной «холодной» загрузки.

Новый режим быстрой загрузки дает преимущества почти во всех системах, как с традиционным жестким диском, так и с твердотельным диском (SSD-диском), но для новых систем с быстрыми SSD-дисками скорость загрузки просто потрясает! Посмотрите видео, приведенное ниже, чтобы убедиться самим:

Ваш браузер не поддерживает видео HTML5.

Загрузите это видео, чтобы просмотреть его в своем мультимедиа-проигрывателе:
MP4, высокое качество | MP4, низкое качество

В этом видео можно заметить, как быстро после выполнения проверки POST запускается Windows. В системах, использующих единый интерфейс EFI (UEFI), более вероятно достижение очень быстрой загрузки, чем в системах с традиционной системой BIOS. Это происходит не из-за того, что интерфейс UEFI быстрее сам по себе, а потому что разработчики UEFI начинают «с чистого листа» и могут лучше оптимизировать свои проекты по сравнению с функциями BIOS, которым уже очень много лет. Хорошие новости заключаются в том, что большинство производителей систем и материнских плат начали реализовывать UEFI, поэтому такая скорость загрузки будет доступна для большинства новых систем.

Конечно, бывают ситуации, когда требуется полное выключение компьютера, например если вы открываете системный блок, чтобы добавить или сменить оборудование. В пользовательском интерфейсе есть параметр, позволяющий вернуться в режим «холодной» загрузки Windows 7, или же (так как это будет происходить довольно редко) можно использовать новый параметр /full с командой shutdown.exe. В командной строке выполните следующую команду: shutdown /s /full / t 0, чтобы немедленно полностью выключить компьютер. Кроме того, если выбрать команду «Перезагрузка» в пользовательском интерфейсе, система полностью завершит работу, после чего будет осуществлена «холодная» загрузка.

Загрузкой системы в основном занимается группа разработчиков платформы ядра, но в случае Windows 8 несколько групп объединились, чтобы внести изменения в ОС для поддержки нового режима и некоторых других изменений, о которых мы с вами скоро поговорим. Нам очень нравится скорость загрузки Windows 8, и мы хотим, чтобы вы сами опробовали новый режим и рассказали нам, что вы об этом думаете.

Гейб Ол

Comments

  • Anonymous
    September 14, 2011
    Быстрая загрка - это хорошо. :)
  • Anonymous
    September 14, 2011
    собрался с мыслями, и решил постаить на свой пк Win 8. И все на этом и остановилось. Ос на отрез не разворачивается на HP Z600, как я понял проблемы с драверами вдео крты ATI. (ATI FirePro V5800)
  • Anonymous
    September 14, 2011
    PrikhodkoEA зачем её ставить, если существуют только бета версии её. Полная выйдет только вначале 2012 года
  • Anonymous
    September 14, 2011
    я поставил на свой старьнкий китайский ASUS.. загрузка в РАЗЫ! быстрее))) супер!
  • Anonymous
    September 14, 2011
    CEG А кто сказал что есть бета. ее еще тоже нет  пока в доступе только win 8 dev preview   С. Синофски сказал что бета еще впереди, затем RC, RTM, GA.  
  • Anonymous
    September 14, 2011
    CEG хочу ее тестировать.И это еще даже не бета :)
  • Anonymous
    September 15, 2011
    Поставил на пустой диск на свой комп - установилась без проблем, минут за 7, установка с нуля, опознала все деваисы, включая веб камеру на телефоне мобильном, про которую я и забыл вовсе. Так же опознался монитор, на который с 7 версией ОС приходилось ставить дрова с диска.Запуск и правда быстрый, вот только появились некоторые недопонимания у меня - как выходить из приложений. На клавишы эскеип не отвечают, меню - закрыть не нашел, контрол + эск или же альт + ескеип лишь сворачивают приложение, и хотя процес лежит как бы в спячке - память под него все равно выделяется.
  • Anonymous
    September 15, 2011
    Поставил на пустой диск на свой комп - установилась без проблем, минут за 7, установка с нуля, опознала все деваисы, включая веб камеру на телефоне мобильном, про которую я и забыл вовсе. Так же опознался монитор, на который с 7 версией ОС приходилось ставить дрова с диска.Запуск и правда быстрый, вот только появились некоторые недопонимания у меня - как выходить из приложений. На клавишы эскеип не отвечают, меню - закрыть не нашел, контрол + эск или же альт + ескеип лишь сворачивают приложение, и хотя процес лежит как бы в спячке - память под него все равно выделяется.
  • Anonymous
    September 20, 2011
    а где вы бету нашли?
  • Anonymous
    September 23, 2011
    Всё бы не чего. Но я столкнулся с другой проблемой. Когда я залил в процессе работы Windows эмейл и пароль на почту Windows Live ID,то мне было приятно и удобно работать с ОС и интернетом(всё доступно и перед носом),но вдруг я его нечаянно выключил и перезапустил и мне тут говорит машина,что нада ввести эмейл и пароль почты. Я ввёл,но обратно же забыл,что после перезагрузки интернет выключается и с самого начала работы Windows не включеш. Искал пути обхода такого казуса,но без результатно и пришлось переустанавливать Windows. Так вот мне и пришла идея-предложить о альтернативе загрузки интернет контента в начале запускаемого процесса Windows. А тоесть-дать несколько кнопок на установления связи с интернетом до ввода почты или пароля в систему,или кнопка для подтверждения автоматического подключения интернет контента не посредственно перед вводом пароля. И к стати,такое вот замечание-определите перечень обязательных комбинаций кнопок для обычного ПК (пример-Win+Q,Win+R,Win+U,Win+P и т.д. и опубликовать эти положения кнопок.). Эти пары кнопок с плюсом в работе будут обеспечивать те немногие функции для ПК что представлены на планшетных ПК,мобильных телефонах и т.д.,что с сенсорным дисплеем. И эти кнопки будут подрожать такие действия. Хотя такие и присутствуют,но не на все действия.
  • Anonymous
    October 01, 2011
    да уж быстрота это ооочень круто! Хотя подозреваю, что в реальной жизни, когда на жестком диске будет установлено множетсво программ и драйверов, холодная загрузка будет осуществляться гораздо дольше, чем на видео.
  • Anonymous
    October 23, 2011
    Как отреагирует восстановление Windows из режима гибернации при замене какого-либо оборудования? Будет предложено перезагрузиться в зависимости от критичности оборудования или принудительный "холодный" старт? Может есть смысл сделать специальные перезагрузки (отдельным пунктом с выбором параметров)? При замене оборудования потребуется загрузить только нужный драйвер или перезагрузить все драйвера.Возможен ли выбор способа загрузки после перезагрузки? Как это сейчас можно увидеть в пользовательских прошивках для некоторых телефонов. Например указать, что следующая загрузка компьютера будет производиться с USB носителя или CD-привода. Указать, что следующий запуск будет в безопасном режиме. Т.е. не отлавливать эти действия при загрузке системы, а заранее предопределить их выбор. Перезагрузиться с выбором другой ОС или с применением неких параметров. Это бывает очень важный параметр в бытовой ситуации и с учётом некоторых особенностей (даже таких, как отсутствие кнопки F8 для выбора режима загрузки ОС).
  • Anonymous
    October 23, 2011
    Как отреагирует восстановление Windows из режима гибернации при замене какого-либо оборудования? Будет предложено перезагрузиться в зависимости от критичности оборудования или принудительный "холодный" старт? Может есть смысл сделать специальные перезагрузки (отдельным пунктом с выбором параметров)? При замене оборудования потребуется загрузить только нужный драйвер или перезагрузить все драйвера.Возможен ли выбор способа загрузки после перезагрузки? Как это сейчас можно увидеть в пользовательских прошивках для некоторых телефонов. Например указать, что следующая загрузка компьютера будет производиться с USB носителя или CD-привода. Указать, что следующий запуск будет в безопасном режиме. Т.е. не отлавливать эти действия при загрузке системы, а заранее предопределить их выбор. Перезагрузиться с выбором другой ОС или с применением неких параметров. Это бывает очень важный параметр в бытовой ситуации и с учётом некоторых особенностей (даже таких, как отсутствие кнопки F8 для выбора режима загрузки ОС).
  • Anonymous
    November 16, 2011
    Скажите мне Я СМОГУ НОРМАЛЬНО ВЫКЛЮЧИТЬ КОМП без всякой гибернацци
  • Anonymous
    June 13, 2012
    В пользовательском интерфейсе есть параметр, позволяющий вернуться в режим «холодной» загрузки Windows 7Кроме того, если выбрать команду «Перезагрузка» в пользовательском интерфейсе, система полностью завершит работу, после чего будет осуществлена «холодная» загрузка.
  • Anonymous
    November 19, 2012
    Никакой быстрой загрузки Windows 8 нет и быть не может. Не ведитесь на этот развод. Буквально, сразу после установки антивируса, ещё пары офисных софтин, настройки сети, Windows 8 загружается дольше Windows 7. не менее 2-3 минут. Эта проблема уже гуляет по инету. Бегунок загрузки ОС убрали, и не поймёте, идёт загрузка или нет.
  • Anonymous
    April 18, 2013
    Реально. че за бред, какая быстрая загрузка - включите секундомер и убедитесь, что в 2 раза тдольше, чем 7-ка при тех же параметрах! Майкрософтовци уже не знают чем людей завлекать и вешают всякую лапшу людям на уши,.. -:>ресурсов хавает отнюдь не меньше, что-либо найти - проще застрелиться, хотя бы выключить комп, гибернации нет в природе, индекс производительности показывает намного меньше чем в 7-ке, либо отфонарщина - либо реально, вся система тупит!!!
  • Anonymous
    June 18, 2013
    Винда это КЛААААЛПереходите на яблочки и поймете что такое простота, стабильность и скорость работы. Только боже упаси всякого рода извращениями пользоваться в виде хакинтошей!!!! Только оригинальные маки и будет вам счастье.