Я обновляю целую кучу серверов под управлением Windows 2008R2 SP1. Необходимо установить около 120 обновлений. Я обнаружил, что если я запустил все обновления, это займет часы и часы, а затем выйдет из строя и потребуются часы и часы, чтобы вернуть все назад.
Я начал делать обновления небольшими партиями. Те же обновления, которые раньше выходили из строя, работали. Но иногда ошибка небольших пакетов (5-10) ... но если я запускаю обновления одно за другим, они работают.
Код ошибки - 80070643. Я мог опубликовать журнал windowsupdate.log, но не нашел там ничего полезного.
У MS есть КБ по этому поводу ( http://support.microsoft.com/kb/976982 ), но я попытался сделать то, что они предлагают ... сначала казалось, что это решит ее, но потом я все еще сталкивался с одной и той же ошибкой снова и снова и снова.
Все сталкиваются с этим? Конечно, другие устанавливают новые серверы, запускают Windows, а затем делают обновления.
Мои обновления поступают с моего локального сервера WSUS, но я не думаю, что это имеет значение - у меня были аналогичные проблемы, когда я делал это напрямую с сервера MS.
После долгой работы, исследований и обмена мнениями с разными людьми вот краткое изложение того, что я нашел, работает и что было испробовано.
Обновление серверов Windows 2008R2 из WSUS не является проблемой, если службы удаленного рабочего стола никогда установлены. Например, мне удалось обновить 2 сервера, которые я настроил как контроллеры домена, из новой установки Windows 2008R2 SP1. Для этого потребовалось применить около 150 обновлений. Сделал несколько перезагрузок, и все установилось нормально. Некоторые из них потерпели неудачу, но они не появились после того, как были необходимы - поэтому они были заменены другими обновлениями, которые работали.
Сервер, на котором был установлен RDS, в принципе обречен. Установка обновлений будет сложной задачей. Вот комментарии одного MVP по этому поводу. Но даже в однопользовательском режиме это больно.
Серверы RDS требуют особого обращения для установки исправлений. Исследование «Патчинг терминальных серверов» вызовет разговоры с времен 2005–2007 годов, когда этот сценарий впервые обсуждался в отношении WSUS v2. Короче говоря, вам нужно истощить пользовательские сеансы с сервера RDS и перевести сервер в однопользовательский режим, чтобы успешно установить эти обновления.
Итак, мораль этой истории - когда вы планируете настроить сервер RDS, установите Windows но не RDS, делай все обновления винды. Затем установите RDS и выполните все необходимые обновления.
И вторая мораль этой истории - регулярно обновляйте свои серверы RDS, чтобы вам не пришлось месяцами мучиться с сотнями обновлений, которые нужно установить вручную.
--- Более того - позже ---
Сегодня моя команда нашла кое-что, что помогло - установить для следующего ключа реестра: HKLM \ SYSTEM \ CurrentControlSet \ services \ TrustedInstaller \ BlockTimeoutIncrement более высокое значение (скажем, 36000). Это также можно сделать с помощью групповой политики, используя «Увеличить время ожидания обновления Win».
Мы обнаружили это, потому что нашли журнал обновлений Windows, в котором указано, что время обновления истекло, и, следовательно, он откатывается.
Установка этого параметра позволяет Центру обновления Windows завершить установку через много часов и обновления установлены.
Не говорит нам, почему это занимает так много времени - это все равно ненормально. Но, по крайней мере, мы смогли сделать обновления.
Даже больше
Похоже, мы ее решили! Мы начали получать другие ошибки на наших серверах, и все это привело к выводу, что файл администратора NTUSER.DAT имеет размер 1,5 ГБ и использует много доступных ресурсов для загрузки файлов реестра. Это приводило к тому, что обычные пользователи не могли войти в систему (когда был авторизован администратор, что было ... в основном всегда).
В любом случае, я удалил локальный профиль пользователя-администратора, воссоздал его, войдя в систему. NTUSER.DAT меньше 1 МБ.
Итак, у нас возникла мысль - может ли это решить наши проблемы с обновлениями Windows ... ну, похоже, это так. Теперь мы можем устанавливать обновления Windows, как на наши серверы без RDP.
Похоже, что из-за того, что реестр пользователя-администратора был раздутым, и это пользователь, с которым мы вошли в систему при выполнении обновлений Windows (или установке горячих исправлений), установка заняла слишком много времени и истекло время ожидания.
Может быть, это http://support.microsoft.com/kb/947821 может помочь?
Он говорит: Исправьте ошибки повреждения Центра обновления Windows, такие как 0x80070002 и 0x80070057
Ошибки, связанные с повреждением Центра обновления Windows, препятствуют установке обновлений Windows и пакетов обновления. Например, обновление может не устанавливаться, если системный файл поврежден. Если ошибка, которую вы видите, находится в следующем списке, попробуйте решение, описанное в этой статье.