В далёком-далёком 2014-м году, в холодном-холодном (кстати, не таком уж и холодном) ноябре месяце мой лэптоп мезозойского 2010-го года выпуска после внезапного отключения электроэнергии во время установки обновлений схватил хард-свичофф. Ну, думаю, бывает, включил его, и как ни в чем не бывало продолжил работу. Но уже на следующий день, после еженедельной пачки апдейтов для ОС, я заметил весьма странную вещь: при запланированной после наката очередного KBxxxxxx перезагрузке системе «Не удаётся завершить обновления», о чём она недвусмысленно повествует нам перед появлением логон-скрина.
Поначалу я не обращал на это внимания, т.к. планировщик обычно обновляет ось в 3 часа ночи, следовательно, зарегистрировать акт нарушения процедуры обновления крайне тяжело, но, спустя пару месяцев, по мере накопления обновлений объём неудачно установленного софта неуклонно рос, и, в рамках полугодового планового обхода системных настроек зашёл я в Центр обновления Windows, и увидел я там страшную цифру — целых 3 Гигабайта новых обновлений. Зрелище, мягко говоря, впечатляющее. При попытке установить хотя бы одно из них, лог бросался в меня разнообразными ошибками, например, «Не удаётся прочитать манифест апдейта», или, уже посложнее, та самая «Нам не удалось завершить обновления. Откат изменений». После многодневных скитаний по просторам Интернета, мне удалось разрешить все проблемы, связанные с обновлениями, и сейчас я расскажу, что нужно делать, когда ничего непонятно, ничего не работает, сил ковыряться в этом нет, а обновиться хочется.
Шаг 1. Проверка на вредоносное и нежелательное ПО
Первым делом нужно удостовериться, что мы пытаемся обновить здоровый компьютер. Для этого существует утилита под названием «Microsoft Safety Scanner», которую можно скачать с их официального сайта.
Весит эта штука порядка ~150МБ, находит заразу, в моём случае это были 4 кейгена, и, при необходимости, удаляет её по приказу пользователя.
После того, как мы удостоверились, что наш пациент здоров, переходим к шагу 2.
Шаг 2. Восстановление целостности системных файлов с помощью системы DISM
Если нас мучает ошибка с кодом 0x80070490, то самое время вывести на поле боя командную строку с повышенными привилегиями (cmd.exe от имени Администратора). Что за чем следует, описано в статье, посвященной решению проблемы под номером 80070490: «Ошибка Центра обновления Windows 0x80070490».
Завершив многочасовое (а, в моём случае, почти суточное) сканирование системы с последующим восстановлением, едем дальше.
Шаг 3. Ошибка доступа
Нередко случается, что код ошибки не даёт достоверной информации о решении проблемы, вызванной ошибкой 0x80070005. Но, к счастью для вас, мои дорогие читатели, с этим досадным недоразумением я успешно справился! Решение проблемы 0x80070005.
Шаг 4. Проверка состояния учетной записи Администратора (опционально)
Для тех, кто по какой-либо причине когда-то давно деактивировал аккаунт Супер Администратора (после его активации командой «net user Администратор /active:yes»), существует решение неудобства, связанного с постоянным и нежелательным лицезрением пиктограммы этой учетной записи на экране приветствия, которое состоит в сокрытии выбранных учетных записей с логон-скрина. Если вышеупомянутая команда Вам незнакома, и на экране приветствия не наблюдается пиктограммы с именем Администратор, можно сразу перейти к шагу 5.
В командной строке от имени Администратора выполняем команду:
net users
Получим список с именами всех имеющихся учетных записей. Ищем в этом списке аккаунт Администратор (в англоязычной, соответственно, Administrator).
Вводим команду:
net user Администратор
Седьмой строчке должно соответствовать значение Yes, иначе учётку необходимо активировать командой:
net user Администратор /active:yes
После успешно выполненной команды открываем Редактор реестра (regedit.exe).
В разделе:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
необходимо создать подраздел с именем SpecialAccounts, в котором создать подраздел с именем UserList. В итоге должен получиться путь:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
В этом разделе нужно создать параметр с именем «Администратор» типа REG_DWORD. Значение параметра изменять не нужно, т.к. 0 — скрыть запись, 1 — показать. После перезагрузки скрытая учётная запись не будет отображаться в списке аккаунтов на экране выбора пользователя.
Шаг 5. Проявляется не у всех
Из шести машин под управлением Windows разных версий (7, 8, 8.1) эта проблема была выявлена только на двух из них: на лэптопе с W7HP на борту и на аналогичном, но с W8Pro.
Не вникая в подробности, вкратце:
Антивирусы любят следить за внесением изменений в реестр, и при регистрировании такого события незамедлительно уведомляет юзера об инциденте, спрашивая разрешения на внесение этих самых изменений. За время установки всего набора, следующего за Update 1, этот диалогбокс я наблюдал больше трёх сотен раз.
Зайдя в реестр по пути:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application
и обнаружив там полнейший хаос в разрешениях этого раздела, я вернул всё назад, ориентируясь на реестр здорового компа.
Те же самые манипуляции необходимо произвести в разделе
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System
Пораскинув мозгами, после исправления разрешений было принято решение удалить антивирус (в моём случае это был ESET Nod32 Antivirus 8), после чего обновления, которые ругались на ошибку из шага 3, успешно устанавливались.
Шаг 6. На случай, если после установки обновления KB3035583 в трее не появляется значок GetWindows10
Возможна ситуация, что по какой-то причине звёзды на небе располагались не так, как того желали разработчики WX, в следствие чего не у всех имеется возможность зарезервировать себе «Десятку». Двое суток исследований, мегабайты прочитанной информации, сотни перезагрузок — и долгожданный значок с логотипом Windows появился! Чтобы повторить этот знаменитый фокус Дэвида Копперфильда, нужно сделать всего три простейших вещи:
Вещь номер 1:
Проверить раздел:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\UpgradeExperienceIndicators
В нём должен быть строковый параметр UpgEx со значением «Orange» (на счет чего-то, отличного от «Orange» — не уверен, но с ним у меня все получилось), если его нет — создайте его.
Вещь номер 2:
создаём в корне любого диска (на самом деле, неважно, где, просто путь до файла, лежащего в корне, минимален) файл GWX.cmd (имя файла тоже можно придумать самостоятельно), в который помещаем следующий скрипт:
REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\UpgradeExperienceIndicators" /v UpgEx | findstr UpgEx
if "%errorlevel%" == "0" GOTO RunGWX
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Appraiser" /v UtcOnetimeSend /t REG_DWORD /d 1 /f
schtasks /run /TN "\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser"
:CompatCheckRunning
schtasks /query /TN "\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser"
schtasks /query /TN "\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser" | findstr Ready
if NOT "%errorlevel%" == "1" ping localhost >nul &goto :CompatCheckRunning
:RunGWX
schtasks /run /TN "\Microsoft\Windows\Setup\gwx\refreshgwxconfig"
Вещь номер 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;
— двумстам семнадцати перезагрузкам;
— одному внезапному отключению питания;
— одной механической чистке от пыли, включая полную разборку-сборку лэптопа.
Надеюсь, вышеизложенные инструкции помогут еще кому-нибудь, помимо меня.
Комментарии (9)
Nika_BlackHat
13.07.2015 22:46Мне одному интересно как чистили от пыли операционную систему механически?
Простите за сарказм, статья познавательная. Когда-то прошёл подобным путём.
MiXaiL27
14.07.2015 05:16На моем ноуте установка обновлений обычно упирается в оперативную память, так как процесс trustedinstaller норовит отожрать все возможные ресурсы.
meft
14.07.2015 09:573-4 гига оперативы решают эту проблему. Но если всего 2 гига, то обновления полностью прерывают возможно нормально работать.
От сюда вопрос, как снизить жадность на память при обновлении?MiXaiL27
14.07.2015 10:34На десктопе 8 Гб оперативной памяти и этот процесс разрастался бывало до 3,5 Гб. Как это возможно при объеме самих обновлений менее 100 мегабайт мне непонятно.
Anisotropic
14.07.2015 12:38С разруливанием появления иконки обновления win 10 мне помог только «метод 4» из скрипта отсюда: (ссылка только так вставляется) answers.microsoft.com/en-us/windows/forum/windows_10-win_upgrade/i-want-to-reserve-my-free-copy-of-windows-10-but-i/848b5cce-958b-49ae-a132-a999a883265b?auth=1
3ton
21.07.2015 02:41Столкнулся с похожей проблемой, но решение до сих пор не нашел
При попытке установить обновление KB3035583 у меня процесс обновления завершается ошибкой 8007371B
И отсылает на страницу windows.microsoft.com/ru-RU/windows/search#?q=WindowsUpdate_dt000+OR+8007371B
Похоже на такое поведение
windows.microsoft.com/ru-ru/windows/answers?tId=27785499-a494-4012-b15a-71f730f2551b
Но предложенный вариант не помогает.
И уточните пожалуйста, нужно ли после восстановительных действий и до загрузки обновлений перегружать машину?Uncle_MAD Автор
23.07.2015 16:14Попробуйте www.eightforums.com/windows-updates-activation/39218-cannot-install-updates-error-8007371b-80073712-a.html
Перезагружать желательно после каждого действия, вероятно затрагивающего системные файлы. То есть, да, нужно.
drBasic
Упорный…