- PVSM.RU - https://www.pvsm.ru -

Как я укрощал Windows Update и получал инвайт на резерв Windows 10

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

В далёком-далёком 2014-м году, в холодном-холодном (кстати, не таком уж и холодном) ноябре месяце мой лэптоп мезозойского 2010-го года выпуска после внезапного отключения электроэнергии во время установки обновлений схватил хард-свичофф. Ну, думаю, бывает, включил его, и как ни в чем не бывало продолжил работу. Но уже на следующий день, после еженедельной пачки апдейтов для ОС, я заметил весьма странную вещь: при запланированной после наката очередного KBxxxxxx перезагрузке системе «Не удаётся завершить обновления», о чём она недвусмысленно повествует нам перед появлением логон-скрина.

Поначалу я не обращал на это внимания, т.к. планировщик обычно обновляет ось в 3 часа ночи, следовательно, зарегистрировать акт нарушения процедуры обновления крайне тяжело, но, спустя пару месяцев, по мере накопления обновлений объём неудачно установленного софта неуклонно рос, и, в рамках полугодового планового обхода системных настроек зашёл я в Центр обновления Windows, и увидел я там страшную цифру — целых 3 Гигабайта новых обновлений. Зрелище, мягко говоря, впечатляющее. При попытке установить хотя бы одно из них, лог бросался в меня разнообразными ошибками, например, «Не удаётся прочитать манифест апдейта», или, уже посложнее, та самая «Нам не удалось завершить обновления. Откат изменений». После многодневных скитаний по просторам Интернета, мне удалось разрешить все проблемы, связанные с обновлениями, и сейчас я расскажу, что нужно делать, когда ничего непонятно, ничего не работает, сил ковыряться в этом нет, а обновиться хочется.

Шаг 1. Проверка на вредоносное и нежелательное ПО

Первым делом нужно удостовериться, что мы пытаемся обновить здоровый компьютер. Для этого существует утилита под названием «Microsoft Safety Scanner» [1], которую можно скачать с их официального сайта.

Весит эта штука порядка ~150МБ, находит заразу, в моём случае это были 4 кейгена, и, при необходимости, удаляет её по приказу пользователя.

После того, как мы удостоверились, что наш пациент здоров, переходим к шагу 2.

Шаг 2. Восстановление целостности системных файлов с помощью системы DISM

Если нас мучает ошибка с кодом 0x80070490, то самое время вывести на поле боя командную строку с повышенными привилегиями (cmd.exe от имени Администратора). Что за чем следует, описано в статье, посвященной решению проблемы под номером 80070490: «Ошибка Центра обновления Windows 0x80070490» [2].

Завершив многочасовое (а, в моём случае, почти суточное) сканирование системы с последующим восстановлением, едем дальше.

Шаг 3. Ошибка доступа

Нередко случается, что код ошибки не даёт достоверной информации о решении проблемы, вызванной ошибкой 0x80070005. Но, к счастью для вас, мои дорогие читатели, с этим досадным недоразумением я успешно справился! Решение проблемы 0x80070005 [3].

Шаг 4. Проверка состояния учетной записи Администратора (опционально)

Для тех, кто по какой-либо причине когда-то давно деактивировал аккаунт Супер Администратора (после его активации командой «net user Администратор /active:yes»), существует решение неудобства, связанного с постоянным и нежелательным лицезрением пиктограммы этой учетной записи на экране приветствия, которое состоит в сокрытии выбранных учетных записей с логон-скрина. Если вышеупомянутая команда Вам незнакома, и на экране приветствия не наблюдается пиктограммы с именем Администратор, можно сразу перейти к шагу 5.

В командной строке от имени Администратора выполняем команду:

net users

Получим список с именами всех имеющихся учетных записей. Ищем в этом списке аккаунт Администратор (в англоязычной, соответственно, Administrator).
Вводим команду:

net user Администратор

Седьмой строчке должно соответствовать значение Yes, иначе учётку необходимо активировать командой:

net user Администратор /active:yes

После успешно выполненной команды открываем Редактор реестра (regedit.exe).

В разделе:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon

необходимо создать подраздел с именем SpecialAccounts, в котором создать подраздел с именем UserList. В итоге должен получиться путь:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogonSpecialAccountsUserList

В этом разделе нужно создать параметр с именем «Администратор» типа REG_DWORD. Значение параметра изменять не нужно, т.к. 0 — скрыть запись, 1 — показать. После перезагрузки скрытая учётная запись не будет отображаться в списке аккаунтов на экране выбора пользователя.

Шаг 5. Проявляется не у всех

Из шести машин под управлением Windows разных версий (7, 8, 8.1) эта проблема была выявлена только на двух из них: на лэптопе с W7HP на борту и на аналогичном, но с W8Pro.

Не вникая в подробности, вкратце:
Антивирусы любят следить за внесением изменений в реестр, и при регистрировании такого события незамедлительно уведомляет юзера об инциденте, спрашивая разрешения на внесение этих самых изменений. За время установки всего набора, следующего за Update 1, этот диалогбокс я наблюдал больше трёх сотен раз.
Зайдя в реестр по пути:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventLogApplication

и обнаружив там полнейший хаос в разрешениях этого раздела, я вернул всё назад, ориентируясь на реестр здорового компа.
Те же самые манипуляции необходимо произвести в разделе

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventLogSystem

Пораскинув мозгами, после исправления разрешений было принято решение удалить антивирус (в моём случае это был ESET Nod32 Antivirus 8), после чего обновления, которые ругались на ошибку из шага 3, успешно устанавливались.

Шаг 6. На случай, если после установки обновления KB3035583 в трее не появляется значок GetWindows10

Возможна ситуация, что по какой-то причине звёзды на небе располагались не так, как того желали разработчики WX, в следствие чего не у всех имеется возможность зарезервировать себе «Десятку». Двое суток исследований, мегабайты прочитанной информации, сотни перезагрузок — и долгожданный значок с логотипом Windows появился! Чтобы повторить этот знаменитый фокус Дэвида Копперфильда, нужно сделать всего три простейших вещи:

Вещь номер 1:
Проверить раздел:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionAppCompatFlagsUpgradeExperienceIndicators

В нём должен быть строковый параметр UpgEx со значением «Orange» (на счет чего-то, отличного от «Orange» — не уверен, но с ним у меня все получилось), если его нет — создайте его.

Вещь номер 2:
создаём в корне любого диска (на самом деле, неважно, где, просто путь до файла, лежащего в корне, минимален) файл GWX.cmd (имя файла тоже можно придумать самостоятельно), в который помещаем следующий скрипт:

REG QUERY "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionAppCompatFlagsUpgradeExperienceIndicators" /v UpgEx | findstr UpgEx
if "%errorlevel%" == "0" GOTO RunGWX
reg add "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionAppCompatFlagsAppraiser" /v UtcOnetimeSend /t REG_DWORD /d 1 /f
schtasks /run /TN "MicrosoftWindowsApplication ExperienceMicrosoft Compatibility Appraiser"
:CompatCheckRunning
schtasks /query /TN "MicrosoftWindowsApplication ExperienceMicrosoft Compatibility Appraiser"
schtasks /query /TN "MicrosoftWindowsApplication ExperienceMicrosoft Compatibility Appraiser" | findstr Ready
if NOT "%errorlevel%" == "1" ping localhost >nul &goto :CompatCheckRunning
:RunGWX
schtasks /run /TN "MicrosoftWindowsSetupgwxrefreshgwxconfig"

Вещь номер 3:
В командной строке выполняем этот скрипт:

С:/GWX.cmd

В окне консоли должно появиться строчек 10, не больше, а трей должен обзавестись новёхоньким значком со всплывающим текстом «Получить Windows 10».

Цель достигнута.

Хинт-лист:
— в ходе длительных операций желательно минимизировать нагрузку на винчестер, так как проверить миллион-другой файлов — задача нетривиальная, и она требует полного доступа к накопителям;
— устанавливать обновления оптом — задумка не самая хорошая. Самый оптимальный вариант — добиться безошибочной установки одного-двух обновлений в несколько килобайт, после чего устанавливать апдейты, начиная с самых тяжелых, придерживаясь примерно одного и того же объема обновлений за итерацию. Пример:
Обновление1 (500МБ)
Обновление2 (200МБ)
Обновление3 (150МБ)
Обновление4 (100МБ)
Обновление5 (40МБ)
Обновление6 (35МБ)

Обновление53 (24КБ)
Обновление55 (15КБ)

В первую очередь мы испытаем апдейтоспособность операционной системы на обновлениях 53 и 55. После этого начнем установку с обновления 1. Перезагрузимся. Установив обновление 1, установим одновременно обновления 2 и 3, после чего снова перезагрузка. Далее ставим апдейты 4,5,6,7,8,9 и так далее, пока не наберем их на ~300-400МБ, бОльшими пачками ставить очень долго, в случае какой-либо ошибки откатываться они будут ну уж слишком долго.

— во время всяких проверок типа DISM можно заварить себе кофе;
— во время проверки на нежелательное и вредоносное ПО можно вообще уехать из города, вернуться поздно вечером и все равно застать проверку, она будет примерно на 90%, но будет;
— в процессе поиска этих решений моя операционная система подверглась:
— двум переустановкам;
— шести проверкам SFC;
— пяти проверкам DISM;
— двумстам семнадцати перезагрузкам;
— одному внезапному отключения питания;
— одной механической чистке от пыли.

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

Автор: Uncle_MAD

Источник [4]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/windows/93763

Ссылки в тексте:

[1] «Microsoft Safety Scanner»: http://www.microsoft.com/security/scanner/ru-ru/sysreq.aspx

[2] «Ошибка Центра обновления Windows 0x80070490»: https://support.microsoft.com/ru-ru/kb/958044?wa=wsignin1.0

[3] Решение проблемы 0x80070005: https://support.microsoft.com/ru-ru/kb/968003/ru

[4] Источник: http://geektimes.ru/post/253382/