… или как создать себе проблему, а затем героически её преодолеть.
Хочу поделиться полученным опытом, чтобы вы избежали моих ошибок и сэкономили себе время, силы, и самое главное — нервы. Массу нервов. Принесли мне вчера для обслуживания ультрабук свежих серий, двухбуквенной компании, с описанием «ужасно тормозит, не работают браузеры». Первичный осмотр показал заражение парой троянцев, неработоспособность ни одного из четырех браузеров, установленных пользователями в системе, общую замусоренность системы утилитами из разряда «поставь меня — увеличь себе ускорь компьютер» и некоторый урон, нанесенный утилитами для «очистки» реестра, поставленных пользователями в надежде победить проблемы. После осмотра я решил (святая наивность), что проще будет переустановить систему по-чистой, чем лечить и восстанавливать это всё, благо, как я думал, за счет хранящегося на жестком диске раздела восстановления с родным программным обеспечением это будет минутным делом. Дальнейший рассказ покажет, как жестоко я ошибался в этом.
Итого, имеем ультрабук с Windows 8, рабочим разделом восстановления и отсутствием каких-либо дисков в комплекте поставки (этот момент важен). Бук в качестве стартового ПО имеет UEFI, что в принципе для использования с Windows 8 логично, и даже было бы удобно, если бы не одно но — ключ для установки системы зашит в таблицу данных ACPI, в поддтаблицу MSDM. На тот момент я ещё этого не знал, да и не думал, что мне это понадобится.
В общем, перезагружаю его, влезаю в настройки запуска (если кто-то не в курсе как это сделать на буках с UEFI свежих серий — жмите ESC прямо с самого начала запуска) и выключив Secure Boot (это необходимо для запуска системы восстановления), запускаю родную систему System Recovery. Как выяснилось, выключал Secure Boot и переключал систему в режим Legacy Mode я зря — именно эти действия вызвали столь странное поведение родной системы восстановления, о чем далее. Указываю восстановить систему в исходное состояние с удалением всех данных пользователей (данные были заблаговременно скопированы). И вот тут начинаются приключения. Процесс восстановления, запустившись, отображает первую стадию исполнения — форматирование раздела для Windows. Стадия доходит до конца, после чего процесс восстановления останавливается, выдав невразумительную ошибку с цифровым кодом, и ультрабук перезагружается, только для того, чтобы выдать мне сообщение о том, что системы на диске не найдено. Логично, думаю я, мы же только что зачистили её раздел, и снова жму клавишу System Recovery чтобы попробовать продолжить процесс восстановления. И вот тут меня ждал первый сюрприз: я получаю то же самое сообщение об отсутствии системы. Как оказалось, система System Recovery самоуничтожилась вместе с зачищенной системой. Теперь на руках у меня был ультрабук без системы, без образа восстановления на жестком диске и без дисков восстановления.
Оставался только один вариант — переустанавливать систему с ноля. Казалось бы в чем проблема? Переустанавливаем и всё. Однако не спешите, не все так просто, как кажется. Чтобы не тратить потом лишнее время на апгрейд системы до 8.1 я решил сразу установить чистую 8.1. Сказано-сделано, скачиваю свежий образ Windows 8.1 из MSDN, делаю загрузочную флешку с помощью Windows 7 USB — DVD tool, запускаю установку. Проблема первая — я пока ещё не знаю ключ, а он, как назло, требуется для продолжения установки. Зачем было так делать, мне не ясно, Windows 7 позволяла этап ввода ключа пропустить. Недолгий поиск в интернете дает ответ — нужно использовать generic ключи, открытые самой корпорацией Microsoft — они позволяют установить систему, но не активировать её, для активации нужно этот ключ после установки заменить работоспособным полноценным. Ввожу generic ключ, продолжаю установку. Мне бы на этом моменте (запросе ключа) остановиться и подумать, но я этот момент упустил. Дело в том, что если ключ системы, зашитый в UEFI, походит для установки данной версии Windows, тогда система его при установке спрашивать не должна. Вообще. Она в этом случае его использует автоматически. Если спросила ключ — это признак того, что либо ключ из UEFI считать невозможно, либо вы используете неподходящую для данного ключа версию дистрибутива. Однако я на тот момент ещё об этом не знал, поэтому это не вызвало у меня никаких вопросов. Итак, система установилась и запустилась. Теперь нужно было её активировать, а для этого — вынуть каким-то образом ключ из UEFI. Как выяснилось, это совсем не сложная задача. Для этого можно использовать утилиту PKeyUI — необходимо просто запустить её и поставить галочку в поле «MSDM» — утилита отобразит ключ, сохраненный в UEFI. Если поле «MSDM» не появляется при запуске утилиты, то либо в прошивке ключа нет, либо он не читаем. Итак, ключ я получил. Далее я попытался активировать с ним систему, и тут меня тоже ждала проблема — система активации заявила, что ключ не рабочий. Припомнив методики OEM-распространения Windows я решил, что видимо нужен образ системы, предназначенный для OEM-сборщиков. Что же, не проблема. После некоторых поисков раздача оригинального образа системы для ОЕМ-поставщиков версии 8.1 нашлась на торрент-трекерах. Скачал, снова создал установочную флешку, снова попробовал установить и активировать. Однако вновь получил ту же самую ошибку. Поиски информации по теме дали метод (как позже выяснилось, не рабочий) — необходимо было используя скрипт slmgr удалить старый ключ, установить новый и затем нормально активировать систему. Я попробовал его, однако при попытке установить родной ключ системы неизменно получал ошибку:
0xC004F069
Которая, в норме, связана с рассинхронизацией времени между целевым ПК и сервером ключей. Помаявшись немного и потратив ещё с полчаса на поиск методов исправления данной проблемы, я пришел к выводу, что стоит, пожалуй, обратиться к первоисточнику, т. е. к корпорации Microsoft. Звонок в техподдержку с описанием проблемы все прояснил: оказывается, главную ошибку я сделал, когда попытался использовать образ Windows 8.1! Как выяснилось, образ Windows 8.1 категорически не пригоден для чистой установки на ПК, которые поставлялись с предустановленной Windows 8, и даже обход проблемы с использованием generic-ключа ничего не даст, потому, что ОЕМ-ключи от Windows 8 не подходят для активации чистой установленной Windows 8.1 ОЕМ, хотя являются валидными. Единственным способом установить на ПК с предустановленной Windows 8 версию 8.1 является апгрейд системы через Microsoft Store — только так и никак иначе. Поблагодарив саппорт я отправился скачивать чистую ОЕМ-версию Windows 8.
Но на этом мои мытарства не закончились, все оказалось не так просто. Чистая ОЕМ-версия ставиться отказывалась категорически — сразу же после нажатия кнопки «Установить» она сообщала что указанный (в UEFI) ключ не подходит ни к одному из обнаруженных образов системы. После непродолжительного гугления, выяснилось что требуется кроме всего прочего создать на установочной флешке маркерные файлы, с правильно указанной редакцией системы и ключом. Хорошо, лезем в папку sources на установочной флешке и создаем там два файла: ei.cfg и pid.txt
Содержимое ei.cfg:
[EditionID]
Core
[Channel]
OEM
[VL]
0
тут
EditionID — это редакция системы, бывает Core или Professional,
Channel — это канал распространения, бывает OEM или Retail,
VL — это признак корп. версии, бывает 0 или 1.
Вышеприведенный пример это норма для ноутов, базовая ОЕМ винда, не корпоратив.
Содержимое pid.txt:
[PID]
Value=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
Вместо XXXXX вписываем ключ который получили через pkeyui. В итоге этих действий получаем загрузочную флешку, с которой Windows 8 все-таки установится. Но радость моя была преждевременной — установиться-то она установилась, однако неким загадочным образом записала себе какой-то совершенно возмутительный ключ, не имеющий никакого отношения к тому, что я забил в pid.txt (оригинальному из UEFI). Попытка сменить этот левый ключ на адекватный удалась, но при попытке активации система выдала всё ту же пресловутую ошибку о том, что ключ не соответствует редакции системы! Оказалось, что есть ещё один нюанс — дистрибутивы, помимо редакций и метода лицензирования ещё делятся по SKU, и сборщики лэптопов обычно выставляют на CoreSingleLanguage или CoreCountrySpecific. И мне был нужен образ CoreSingleLanguage, потому что для всех типов SKU — установочные ключи разные. Почему в этом случае система позволяет продолжить установку, мне решительно не ясно — это не имеет никакого смысла, так как ключ все равно не подойдет а способа сменить SKU уже установленной системы я лично не нашел. Тихо выматерившись, я отправился искать OEM-дистрибутив с SKU «CoreSingleLanguage». И таки нашел в итоге, он лежит на многих трекерах, чтобы не давать ссылок на потенциально опасные ресурсы, приведу просто MD5 необходимого дистрибутива:
2F3EC4EA9F604DF608AC0B1EE4C53CF1
Я обработал найденный дистрибутив, создал маркерные файлы и надеялся, что всё — мои проблемы решены и после уже 4-й по счету переустановки, Windows 8 наконец не только установится, но и позволит себя активировать. Не тут то было! Обработанный дистрибутив после нажатия кнопки «Установить» выдал мне ошибку, которую я уже видел ранее: что указанный (в UEFI) ключ не подходит ни к одному из обнаруженных образов системы! Ругнувшись, я попробовал просто удалить с флешки созданные файлы ei.cfg и pid.txt. Запускаюсь с неё и… система принимает ключ и устанавливается! После установки статус системы — активирована!
Bingo! Далее осталась рутина — апгрейд до 8.1 через Microsoft Store, установка базового набора бесплатного ПО и т.д.
Плюс по всему процессу я вывел алгоритм, которого, как мне кажется, следует придерживаться при данной процедуре:
- Если на ноуте стояла просто Windows 8, то берем просто Windows 8 а не Windows 8.1 — даже если поставим 8.1 то не сможем активировать!
- Выясняем ключ винды с помощью утилиты pkeyui — запускаем на живой системе, ставим галку MSDM и записываем ключ.
- Звоним в техподдержку Microsoft, кратко поясняем ситуацию и просим проверить валидность и принадлежность извлеченного ключа. Ребята из техсаппорта без проблем проверят ключ, и сообщат вам, к какому типу дистрибутива он подходит — базовой или проф, ОЕМ или ритейл и каков его SKU — CoreSingleLanguage или CoreCountrySpecific или же вообще другой.
- Ищем и качаем строго соответствующий ключу образ системы. Если это ноутбук, то скорее всего вам понадобится ОЕМ и при этом в большинстве случаев CoreSingleLanguage
- Качаем образ диска и делаем загрузочную флешку используя Windows 7 USB / DVD download tool (либо вручную вот так — с некоторыми образами Windows 7 USB / DVD download tool работать не хочет). Пока что после этого ничего дополнительного с флешкой не делаем. Как вариант можно (и это даже лучше будет) сделать загрузочную UEFI-флешку с помощью Rufus.
- Перезагружаемся, сразу после старта быстро жмем Esc. Если флешку делали через Windows 7 USB / DVD download tool, то выбираем BIOS Setup, в настройках загрузки в BIOS надо выключить Secure Boot и включить Legacy Boot — иначе не загрузимся с флешки. Если же делали UEFI-флешку с помощью Rufus — делать этого не следует. Теперь вставляем флешку.
- Перезагружаемся, сразу после старта быстро жмем Esc. Выбираем выбор загрузочных устройств, выбираем свою флешку и начинаем ставить систему. Если всё сделали как надо — система будет ставиться не спрашивая никаких ключей вообще.
- Если не получается и система либо не принимает ключ вообще либо ставится но потом не хочет активироваться, лезем в папку sources на установочной флешке и создаем там два файла: ei.cfg и pid.txt, настроив их содержимое так, как указано выше. Пробуем поставить систему уже с флешки с созданными маркерными файлами.
- После установки активируем систему — если активируется, то все хорошо, если нет — вы подобрали не тот дистрибутив.
Итогом всего вышесказанного являются несколько риторических вопросов к производителю ноутбука и к Microsoft. К производителю главный вопрос — почему система восстановления сработала как система самоуничтожения? Хабровчане, кто-нибудь ещё на такое наталкивался? А к Microsoft — ну зачем же такие параноидальные меры защиты ПО? К чему они такие? Ведь в данном случае имел место совершенно законный процесс банальнейшей переустановки разрушенной ОС. Фактически мы имеем ситуацию, когда пользователь, у которого разрушилась ОС никак, совершенно никак, не сможет её самостоятельно переустановить — на это нужны недюжинные навыки. В общем и целом, чтобы разобраться в этой запутанной системе установки, мне пришлось переустанавливать систему четырежды. Для чего создавать такие трудности? Ведь в итоге если посчитать все возможные модификации дистрибутивов с разными видами лицензий получается что их едва ли не 30 штук. Это что, такая специфическая дополнительная защита от пиратства? Остальным же — наука: будьте внимательны и не верьте голословно статьям в интернете. Тот самый широко раскопированный везде «рабочий» способ установки чистой Windows 8.1 с последующей активацией родным ключем оказался совершенно неработоспособным и отнял у меня около пяти часов времени, которое можно было потратить с куда большей пользой. Ладно, по крайней мере я теперь знаю практически все особенности лицензирования и активации Win 8. Надеюсь эта история окажется полезной и для вас.