Модернизация процесса загрузки Windows

Уф! Итак, мы покидаем сайт BUILD и переходим к следующему важному этапу нашего обсуждения. Справедливости ради хочу отметить, что мы великолепно провели это время, представляя Windows 8 всем желающим во всех подробностях. При этом все авторы записей и участники, представляющие корпорацию Майкрософт, выражают свою глубокую признательность за тот теплый прием, который был оказан их новому продукту. Мы понимаем, что делать выводы слишком рано (это пока еще только предварительная версия для разработчиков) и еще остается довольно много вопросов. Но мы постараемся дать на них ответы в новых записях блогов, используя версию Windows Developer Preview (WDP) в качестве основы для обсуждения. Поэтому даже если вы не имели еще возможности с ней поработать, имейте в виду, что именно она является базой для многих записей блогов.

Загрузка — это тот этап, к которому пользователи вряд ли относятся с особым вниманием и почтением. Она либо длится слишком долго, либо (если работа протекает гладко и без проблем) остается незамеченной, поскольку вам не приходится перезагружать компьютер. Я помню встречу, состоявшуюся много лет назад, на которой Билл Гейтс сказал примерно следующее: "Загрузка — это однострочный вызов функции, с помощью которой вычисляется константа, однако эта операция выполняется бесконечно: fBoot = SystemBoot()" . В то же время кажется, что загрузка выполняется сейчас буквально всеми устройствами — телефонами, телевизорами, конвертерами кабельного телевидения. Загружается даже мой пульт дистанционного управления. При создании Windows 8 мы собирались воспользоваться преимуществами некоторых новых технологий и пересмотреть некоторые старые предположения, что позволило бы полностью переосмыслить практику загрузки. Мы также хотели сделать эту процедуру более доступной и лучше приспособленной для устройств, не имеющих клавиатуры. Конечно, мы проделали также большую работу, продолжая минимизировать потребность в перезагрузке, однако в этой записи блога речь пойдет о том, что происходит именно в процессе загрузки. Автором этой записи блога является Билли Сью Чафинс (Billie Sue Chafins). Она долгое время является руководителем программы, многие годы занимаясь разработкой пользовательского интерфейса. При создании этого выпуска ОС она помогла нам уделить особое внимание процессу загрузки (в дополнение к использованию контракта на совместное использование контента с помощью приложения в стиле Metro, о котором вы можете узнать на сайте BUILD).
--Стивен

Продолжающийся поток нововведений в области аппаратной экосистемы, огромный сдвиг в создании встроенного ПО, произошедший за последние 30 лет, а также изменения в программном обеспечении, приведшие к сокращению времени загрузки системы примерно до 7 секунд на компьютерах с твердотельными накопителями (SSD), дали нам основания полагать, что настало время, чтобы вывести взаимодействие пользователя с процессом загрузки ПК на уровень XXI века. В предыдущей записи блога, подготовленной Гейбом Оулом (Gabe Aul), мы обсуждали, как режим быстрого запуска ускорит время загрузки в Windows 8. Вы, возможно, обратили внимание в его видео о быстрой загрузке, что процесс загрузки не только оказался сверхбыстрым, но и гладким и малозаметным — с момента включения питания и вплоть до экрана запуска. В этой записи блога мы рассмотрим, как группа разработчиков переосмыслила весь процесс взаимодействия с пользователем при выполнении загрузки Windows, чтобы сделать все возможное по его совершенствованию.

Если вы обратите внимание на процесс включения ПК, то, вероятно, сначала, при переходе компьютера в фазу проверки POST (Power-on Self-test), увидите несколько сменяющих друг друга экранов, на которых представлен текст, как-будто введенный с консоли, использовавшейся еще в 80-х годах. Несколько секунд спустя управление процессом визуализации передается от BIOS (basic input/output system) системе Windows, и вы увидите графическую анимацию, предшествующую отображению пользовательского интерфейса для входа. В настоящее время в системе Windows 7 весь этот процесс занимает в среднем около минуты. Теперь представьте, что на это уходит всего примерно 7 секунд — множество переходов совершается в течение такого короткого периода времени!

Три экрана отображаются слева направо: Этап проверки POST, при котором белый текст отображается на черном фоне экрана; эмблема Windows, отображаемая в процессе запуска системы; фоновое изображение Windows 7 со словами "Пожалуйста, подождите…"

Раз уж мы теперь представляем, как быстро будет происходить загрузка в Windows 8, настало время поговорить о процессе взаимодействия с пользователем — за счет чего он станет таким замечательным, гладким и привлекательным для пользователей электронных устройств.

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

Windows 8 также выходит на рынок в тот момент, когда в масштабах всей отрасли происходит сдвиг к использованию единого интерфейса EFI (UEFI) для BIOS на всех клиентских системах. Мы продолжим поддерживать старый интерфейс BIOS, однако понятно, что компьютеры, использующие интерфейс UEFI, будут обладать гораздо более широким спектром возможностей. Например, UEFI-системы смогут выполнять визуализацию со значительно более высоким качеством, реализуя возможности собственного разрешения на основе использования драйвера GOP (Graphic Output Protocol). С помощью интерфейса UEFI операционная система сможет, наконец, взаимодействовать стандартным образом со встроенным ПО загрузки; это становится реально возможным благодаря стандартам работы, реализованным в интерфейсе UEFI, и разработкам организации TCG (Trusted Computing Group). На этой основе обеспечивается использование таких возможностей, как безопасная загрузка, в процессе которой осуществляется взаимодействие операционной системы со встроенным ПО с целью создания безопасного механизма внутренней передачи обработки. Здесь также обеспечивается визуальная плавность протекания процесса загрузки начиная с момента нажатия кнопки питания — при этом один и тот же процесс реализуется двумя различными компонентами.

Никогда прежде процесс загрузки не подвергался полной переработке. Меню BIOS оставались неизменными в течение почти 30 лет, тогда как операционные системы и оборудование развивались с логарифмической скоростью. В ряде предыдущих выпусков Windows нами были реализованы многочисленные функции, работающие в среде, загружаемой до операционной системы, каждая из которых разрабатывалась с различным набором возможностей и ограничений. Например, вследствие отсутствия полнофункциональных графических возможностей, меню дополнительных вариантов загрузки (представлено ниже) и выбора ОС для запуска, которые выводятся диспетчером загрузки, отображаются как будто все еще продолжается эра MS-DOS:

Меню дополнительных вариантов загрузки, выводимое диспетчером загрузки, с пунктами "Восстановить компьютер", "Запустить в безопасном режиме" и т. п.

Вследствие отсутствия поддержки тем в среде восстановления Windows реализация соответствующих процессов производилась с использованием стандартных элементов управления, внешний вид и удобство использования которых соответствовали эре Windows 9x/2000:

Меню дополнительных вариантов загрузки, выводимое диспетчером загрузки, с пунктами "Восстановить компьютер", "Запустить в безопасном режиме" и т. п.

Загрузка является весьма заметным этапом в работе системы — пользователи наблюдают его в среднем 1–2 раза в день. Это, пожалуй, чересчур много, но эта запись блога посвящена не тому, как исключить потребность в перезагрузке. Очевидно, что указанное число перезагрузок будет уменьшаться по мере непрерывного и все более широкого распространения тонких ПК и других аналогичных устройств, однако до тех пор, пока загрузка будет оставаться необходимых этапом, мы хотели бы, чтобы она выполнялась быстро и без проблем. Процесс загрузки ПК следует сделать более дружественным для основной массы пользователей, одновременно предоставляя возможности для повышения эффективности Windows более опытным пользователям, которые хотели бы выполнять настройку параметров в среде, предшествующей загрузке операционной системы. Как вы понимаете, удовлетворение всех этих целей является довольно сложной задачей и во многих ситуациях требует сбалансированного подхода.

Гладкий процесс установки и первая загрузка Windows 8

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

Если вы приобретете новый ПК с предустановленной операционной системой Windows 8, вам, вероятно, придется при выполнении первой загрузки пройти "специализированный" этап установки системы. Именно тогда происходит установка драйверов и сведений, специфичных для данного компьютера. В прошлом вам потребовалось бы пройти через серию экранов, визуальное представление которых отличается от других этапов установки. Теперь же визуальные отличия между различными этапами — от проверки POST до загрузки и вплоть до установки системы — будут практически незаметными.

Процесс загрузки — каждый раз незаметный и гладкий

В ходе процесса загрузки Windows 8 будет отображаться индивидуальность Windows; он будет выполняться каждый раз быстро и без проблем, незаметно и приятно для глаз. Эффективно используя возможности интерфейса UEFI и работая с учетом потребностей экосистемы, мы поставили перед собой следующую цель: при включении ПК отобразить на экране эмблему производителя и не убирать ее при прохождении всех этапов — от проверки POST вплоть до появления интерфейса входа в Windows. Эта эмблема будет выглядеть замечательно, отображая фирменную символику, которой вы доверяете, покупая свой компьютер. Встроенное ПО отображает данную эмблему в ходе проверки POST, она остается на экране, когда начинается загрузка Windows, и продолжает отображаться на нем в течение всего процесса загрузки операционной системы. Фактически, мы соединили два процесса (работа встроенного ПО и операционной системы), чтобы получить один процесс, что наглядно представлено ниже:

Эмблема Samsung, отображаемая при включении ПК

Расширенные функциональные возможности

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

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

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

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

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

Несколько вариантов загрузки ПК

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

Экран с вариантами загрузки в Windows 8: "Выберите операционную систему" значок 1: Windows 8; значок 2: Windows 7; ссылка "Изменить значения по умолчанию или выбрать другие параметры"

Часто имеются причины для изменения операционной системы по умолчанию. Возможно также, что вы захотите изменить окно счетчика оставшегося времени до запуска операционной системы по умолчанию. Изменение этих параметров в настоящее время является довольно громоздкой задачей, поскольку вам придется внести исправления в хранилище данных конфигурации загрузки (BCD). Мы решили, что эта функциональная возможность является достаточно важной, чтобы ее отобразить в основном процессе взаимодействия с пользователем для случая загрузки с несколькими версиями операционной системы. Теперь не нужно запоминать команды bcdedit или изменять параметры в файле msconfig (хотя эти возможность по-прежнему остаются доступными) — вы можете просто настроить операционную систему по умолчанию и параметры таймера непосредственно в пользовательском интерфейсе загрузки.

Экран с основным заголовком: Измените параметры; параметр 1: Измените таймер; параметр 2: Выберите операционную систему по умолчанию; параметр 3: Выберите другие параметры средств восстановления, загрузку с другого устройства и другие параметры.

На экране указано: "Выберите операционную систему по умолчанию. Текущая операционной системой по умолчанию является Windows 8". Параметр 1: "Windows 8" Параметр 2: "Windows 7"

Устранение неполадок в среде восстановления Windows

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

Экран дополнительных параметров. Параметр 1: Восстановление системы. Параметр 2: Восстановление образа системы. Параметр 3 Автоматическое восстановление. Параметр 4: Командная строка

Чтобы просто проиллюстрировать степень нашего погружения в особенности этого процесса, предположим, что вам потребовалось запустить окно командной строки непосредственно из среды восстановления Windows (например, чтобы проверить списки управления доступом (ACL) к некоторым файлам). Мы создали даже экранную клавиатуру, доступную из командной строки в среде восстановления Windows, если это вам потребуется (представьте себе, что используется устройство, у которого нет клавиатуры!).

Окно командной строки, отображаемое с экранной клавиатурой.

Загрузка с устройства

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

Экран с главным заголовком: Использовать устройство; и один параметр: UEFI: SanDisk

Как уже отмечалось выше, мы провели сплошную инвентаризацию всех возможностей системы и подумали о том, каким образом можно их объединить в рамках процессов, осуществляемых в среде восстановления Windows. Ничего не ускользнуло от нашего внимания, даже ужасная "Ошибка "синий экран""! К сожалению, иногда оборудование начинает "капризничать", поэтому полностью избавиться от мира, в котором существует "ошибка " синий экран"" невозможно. С учетом этого мы попробовали разработать достаточно сбалансированный подход, проведя несколько итераций с целью выяснить, какое количество сведений требуется при этом отображать. Мы хотели удовлетворить потребности опытного пользователя (при возникновении неполадок на его компьютере или компьютере члена его семьи) и одновременно не отпугнуть основную массу пользователей. Одну особенность вы, несомненно, заметите — несмотря на все внесенные изменения мы решили все же сохранить синий экран! :-)

Синий экран, на котором приводится следующее сообщение: :( На вашем компьютере возникла проблема, справиться с которой не удалось, сейчас произойдет перезагрузка системы. Способ устранения этой ошибки можно поискать в Интернете: СИСТЕМНОЕ ИСКЛЮЧЕНИЕ ПОТОКА НЕ ОБРАБОТАНО (pci.sys) - Перезапуск произойдет через: 1 сек.

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

Спасибо,

Билли Сью