Установка обновлений на Windows Server 2012R2 в 2024 году
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз я вам показал, как устранять ошибку "Удаленный сеанс был отключен из за сбоя создания хранилища лицензий с запретом доступа" при попытке подключения к серверу через RDP клиента. В сегодняшней статье я хочу поделиться опытом, который я приобрел решая для себя вот такую задачу. Потребовалось мне развернуть тестовый стенд с разными версиями ОС, там присутствовал Windows Server 2012R2. Эта операционная система перестала обновляться с конца 2023 года без расширенной поддержки. В данной статье я покажу как вы можете в 2024 году и до 2026 года включительно получать самые актуальные обновления закрывающие уязвимости, если кому нужно то поделюсь уже собранным ISO.
Windows Server 2012 R2 и End of Support
EOS означает "End of Support" или "конец поддержки". Когда продукт или операционная система достигает конца срока поддержки, это означает, что разработчик больше не будет предоставлять обновления безопасности, исправления ошибок или другие виды поддержки для этой версии продукта. 10 октября 2023 Microsoft официально оповестило, что прекращает базовую поддержку Windows Server 2012 R2, но позволяя корпоративным клиентам покупать расширенные Обновления безопасности (ESU) до 2026 года.
Обновления безопасности (ESU) — это Extended Security Updates, что означает продление обновлений безопасности. ESU представляет собой сервис поддержки, который предоставляется производителями программного обеспечения для продления срока обновлений безопасности для устаревших версий операционных систем или другого программного обеспечения. Это позволяет пользователям продолжать получать важные обновления безопасности и исправления уязвимостей после того, как официальная поддержка для их версии программного обеспечения была прекращена.
По хорошему если ваши серверы работают в проде и вы хотите получать обновления, вам нужно купить ключи ESU.
Так как у меня изначально тестовый стенд и не подразумевает лицензирования, я буду делать все на ОС с grace period.
Настройка получения обновлений в Windows Server 2012 R2 после 2023 года
Мой тестовый стенд состоит из виртуальных машин, где была произведена чистая установка Windows Server 2012 R2. Далее в системе с помощью центра обновления Windows были поставлены все возможные обновления, которые позволялось скачать без дополнительных настроек. Самое последнее накопительное обновление безопасности, доступное для установки без ключа SSU это "Ежемесячный набор исправлений качества системы безопасности для систем Windows Server 2012 R2 на базе процессоров x64 (KB5031419), 10 2023"
Далее если вы будите производить поиск свежих обновлений, то будете получать статус "Нет доступных обновлений"
- 1️⃣Первым делом вам необходимо скачать последнее обновление стека обслуживания (SSU), на момент написания статьи это апрельская версия KB5037021. Для скачивания я советую идти в каталог обновлений (НО ЕСЛИ ТАМ НЕ БУДЕТ НУЖНОГО KB, можно скачать у меня одним пакетом чуть ниже)
- 2️⃣Следующим шагом нужно скачать 2022-08 Extended Security Updates (ESU) Licensing Preparation Package KB5017220 (пакет подготовки к лицензированию расширенных обновлений безопасности (ESU)).
- 3️⃣Теперь скачайте нужный ежемесячный накопительный пакет, зависит от того, какой файл манифест прописан в файле реестра. Для этого в каталоге в поиске введите "windows server 2012 r2 security". В моем случае это 2024-04 Security Monthly Quality Rollup for Windows Server 2012 R2 for x64-based Systems (KB5036960).
- 4️⃣Файл реестра SideBySide с таким содержанием:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Winners\amd64_microsoft-windows-s..edsecurityupdatesai_31bf3856ad364e35_none_0e8b36cfce2fb332]
@="6.3"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Winners\amd64_microsoft-windows-s..edsecurityupdatesai_31bf3856ad364e35_none_0e8b36cfce2fb332\6.3]
@="6.3.9600.21924"
"6.3.9600.21924"=hex:01
Обратите внимание, что данный ключ включает уникальное имя файла манифеста amd64_microsoft-windows-s..edsecurityupdatesai_31bf3856ad364e35_none_0e8b36cfce2fb332, вы легко можете получить ошибку на более свежем обновлении отличном от KB5036960, так как, там фигурирует уже другое имя файла.
Последовательная установка компонентов
- 1️⃣Когда у вас все подготовлено, то мы можем следовать вот такому порядку. Сначала устанавливаем KB5037021.
- 2️⃣Далее производим установку KB5017220.
- 3️⃣Теперь запустите файл добавляющий ключ реестра, тут либо вы его скачаете у меня ниже в наборе или же можете сделать сами. Соглашаемся с добавлением.
- 4️⃣После перезагрузки ставим Security Monthly Quality Rollup for Windows Server 2012 R2 for x64-based Systems, у меня это KB5036960. Он минуты полторы-две будет сканировать ваш компьютер, после чего предложит стандартную установку. Производим ее. После чего потребуется перезагрузка для применения изменений
После перезагрузке зайдите в центр обновления Windows и удостоверьтесь, что в списке успешно установленных числится KB5036960.
После нового поиска обновлений, высветилось KB5012670.
Скачать KB5037021, kb5017220, KB5036960, файл реестра
Для удобства я вам подготовил архив, где вы можете скачать все нужные обновления на апрель 2024 года.
Возможные проблемы
Если вы будите пытаться установить не KB5036960, а что-то новее, то из-за неправильной записи в реестре на файл манифест вы будите получать ошибку:
Где брать publicKeyToken от manifest файла
Теперь встает вопрос, где взять нужный publicKeyToken который используется в записи реестра и версию билда. Я выделил его жирным текстом в том файле реестра.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Winners\amd64_microsoft-windows-s..edsecurityupdatesai_31bf3856ad364e35_none_0e8b36cfce2fb332]
@="6.3"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Winners\amd64_microsoft-windows-s..edsecurityupdatesai_31bf3856ad364e35_none_0e8b36cfce2fb332\6.3]
@="6.3.9600.21924"
"6.3.9600.21924"=hex:01
Покажу на примере установленного пакета обновления. Чтобы его найти в KB5036960, вам нужно ее открыть с помощью архиватора 7-zip или WinRar. Тут находите XML файл
Далее откройте CAB файл с именем Windows8.1-KB5036960-x64.cab и найдите в нем файл с именем amd64_microsoft-windows-s..edsecurityupdatesai_31bf3856ad364e35_6.3.9600.21924_none_НОМЕР.
Из данного файла вам нужно взять значения version.
Откройте так же KB5037823 с помощью архиватора и убедитесь в значении publicKeyToken. Если он отличается от того, что мы ранее писали в файл редактирующий ключ реестра SideBySide, то замените значения. В моем случае, это такое же значение 31bf3856ad364e35, значит я его оставляю.
Теперь ищем файл манифеста в файле-архиве Windows8.1-KB5037823-x64.cab. Напомню он начинается на amd64_microsoft-windows-s..edsecurityupdatesai_publicKeyToken _version_none_НОМЕР. В моем примере это amd64_microsoft-windows-s..edsecurityupdatesai_31bf3856ad364e35_6.3.9600.21972_none_599c7a4bf64e9ba1.manifest. Открываем его и копируем из него полностью билд версии.
В результате мой новый REG файл будет иметь фот такое содержимое (НАПОМИНАЮ, его легко редактировать любым текстовым редактором)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Winners\amd64_microsoft-windows-s..edsecurityupdatesai_31bf3856ad364e35_none_0e8b36cfce2fb332]
@="6.3"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Winners\amd64_microsoft-windows-s..edsecurityupdatesai_31bf3856ad364e35_none_0e8b36cfce2fb332\6.3]
@="6.3.9600.21972"
"6.3.9600.21972"=hex:01
Теперь остается его запустить и заново попробовать установить вашу KB. Отправляем вашу Windows Server 2012 R2 в перезагрузку.
В результате все должно получиться. После загрузки ОС убедитесь, что нужное вам обновление успешно установилось.
Понимаю, что есть ручная работа, но зато вы получаете своевременно пакеты безопасности под вашу Windows Server 2012R2 и ваш сервер еще вам послужит. Если остались вопросы, то пишите их в комментариях. Если у вас есть другие методы, то так же жду вас. С вами был Иван Сёмин, автор и создатель IT портала Pyatilistnik.org.
Иван, спасибо за мануал. это с каждым апдэйтом надо рег файл править и в ручную запускать, или дальше автоматом подхватовать будет?
Нужно следить за правильным манифестом, как показали пока тесты уже 4 месяца не меняется SideBySide
Спасибо за информацию обновил 2012 R2. Интересно с 2008 R2 прокатит такой метод?
Честно не пробовал, если попробуете напишите свой опыт
Метод с 2008 R2 тоже работает, проверил.
Большое человеческое спасибо
На двух разных 2012r2 попробовал, нигде обновление не установилось. Оно начинает устанавливаться, но через пол часа сообщает, что не установилось 🙁
Должны быть коды ошибок, я проверял в моем случае все работало
Неделю бьюсь с ESU. Ну не ставится и всё тут. Только на одной виртуалке чудесным образом удалось. Сгрузил оттуда запись реестра, воткнул в другую виртуалку… и поставилось!
Даже вчерашнее обновление kb5046682 накатилось
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Winners\amd64_microsoft-windows-s..edsecurityupdatesai_31bf3856ad364e35_none_0e8b36cfce2fb332]
@=»6.3″
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Winners\amd64_microsoft-windows-s..edsecurityupdatesai_31bf3856ad364e35_none_0e8b36cfce2fb332\6.3]
@=»6.3.9600.22267″
«6.3.9600.21550»=hex:01
«6.3.9600.21600»=hex:01
«6.3.9600.22175»=hex:01
«6.3.9600.22211»=hex:01
«6.3.9600.22267»=hex:01
Причем, когда менял эти записи по одному (переделывая исходный файл), обновления откатывались.