Коллеги пришли плакать в личку – есть, говорят, на свете педобиры, а есть некрофилы. Их некрофилы хотят странного, любви, но без взаимности – чтобы обвешанная непонятно чем Windows server 2012 R2 работала, и ставила все патчи.
Коллег понять можно –хваленое импортозамещение регулярно не работает никак, кроме как на выставке, а соблюдать приличия, хотя бы в части патчей, надо.
Но у коллег проблема – SSU ставится, а rollup не ставится, и все тут.
И настройки сбрасывали, и папку удаляли, и DISM делали – не идет каменный цветок у Данил мастеров.
Попросили меня.
Я не врач, но посмотреть могу.
Первым делом пришлось поискать у себя дистрибутив 2012 R2 c Microsoft Volume Licensing Service Center (VLSC). Всякого добра у меня в загашнике было, и 2003 сервер, и даже настоящий оригинальный Windows 2000 в коробочке, а 2012 R2 нет.
Пошел побираться.
Нашел en_windows_server_2012_r2_with_update_x64_dvd_4065220, почему-то на интернет архиве. Скопировал – пусть будет!
Попутно поискал по сусекам, по амбарам, у старых некрофилов (брал у них Nowell 4 не очень давно).
SW_DVD5_NTRL_Win_Svr_Language_Pack_2012_R2_64Bit_MultiLang_FPP_VL_OEM_X19-05196.ISO
MD5 506C7E34179267B09AD19575F271E0A7
SHA1 5A06AC7859EF9D8776E0D1067A9003044497F95E
SHA256 7D1CE64BB3EB719E86152D8B3568FAC631B2AB24422BC3B920679EB7AFFC6A4F
Microsoft Windows Server 2012 R2 RTM MSDN
SW_DVD5_Windows_Svr_Std_and_DataCtr_2012_R2_64Bit_English_Core_MLF_X19-05182.ISO
MD5 83BDF8034BCB019A8F001BAEEAB27326
SHA1 6823C34A84D22886BAEA88F60E08B73001C31BC8
SHA256 8BA8961E1CF10570A639F607963CFF9FF7EEDC42398F9F4D3B8670D5D9D3B1FF
Windows Server 2012 R2 with Update 1
SW_DVD9_Windows_Svr_Std_and_DataCtr_2012_R2_64Bit_English_-3_MLF_X19-53588.ISO
MD5 B52450DD5BA8007E2934F5C6E6EDA0CE
SHA1 D4B28F350981A7C3306DD409B172AEA10D8599AC
SHA256 C15E6E25377FAECF7E6D6B23723553211A4BC043773A62A06FBE2781F7E9F82E
Наверное, у кого-то где-то можно было найти что-то свежее с VLSC, но, чем богаты.
Поставил последний, получил чистый свежий билд 6.3.9600.
Надо было посмотреть
(Get-ItemProperty -Path c:\windows\system32\hal.dll).VersionInfo.FileVersion
потому что [System.Environment]::OSVersion.Version , оно же [Environment]::OSVersion ничего не показывает,
но я не посмотрел.
Включил авто обновление. Выключил IE Enhanced security. Выключил IE Protected mode.
– с ними не скачать хром, а IE из комплекта уже не может обработать https://www.catalog.update.microsoft.com/
Скачал хром. Скачал notepad++
Пошел, как пишут, скачал Windows Server 2012 R2 Update (KB2919355) – почему-то состоящий из 7 разных обновлений, но я взял только
windows8.1-kb2919355-x64_e6f4da4d33564419065a7370865faacf9b40ff72.msu
Не успел я его поставить, потому что сел пить чай с пирожными, как Win update выдала – вам надо поставить 112 важных обновлений, и 5 не очень важных.
Самое большое - Update for Windows Server 2012 R2 (KB3000850) от 4/14/2015 и затем
2023-01 Security Monthly Quality Rollup for Windows Server 2012 R2 for x64-based Systems (KB5022352)
Нажал кнопку «давай обновляйся» и отправился дальше по делам – пускай работает железный паровоз автоматизация.
Обновил, обновил еще раз, еще раз перезагрузил.
Сделал $Hotfix = get-hotfix ; $Hotfix.count
Всего поставилось 124 обновления, включая не обязательные.
Посмотрел
(Get-ItemProperty -Path c:\windows\system32\hal.dll).VersionInfo.FileVersion
6.3.9600.20512 (winblue_ltsb_escrow.220711-1746)
Посмотрим, что там наставилось.
Get-HotFix | Sort-Object -Property HotFixID -Descending
Первым номером идет
2023-09 Servicing Stack Update for Windows Server 2012 R2 for x64-based Systems (KB5030329), вторым -
2023-01 Security Monthly Quality Rollup for Windows Server 2012 R2 for x64-based Systems (KB5022352)
Так, а что насчет
2024-10 Servicing Stack Update for Windows Server 2012 R2 for x64-based Systems (KB5044411)?
главное, не спутать его с
2024-10 Servicing Stack Update for Windows Server 2012 for x64-based Systems (KB5044413)
Я спутал.
Поищем:
2024-12 Security Monthly Quality Rollup for Windows Server 2012 R2 for x64-based Systems (KB5048735)
Get-HotFix | Where-Object { $_.HotFixID -like 'KB50*'}
Индейская национальная народная изба, а не KB5044411
Индейская национальная народная изба
Есть только эти два
2023-09 Servicing Stack Update for Windows Server 2012 R2 for x64-based Systems (KB5030329)
2023-01 Security Monthly Quality Rollup for Windows 8.1 for x64-based Systems (KB5022352)
так что фильтр Where-Object работает, но обновлений нет.
Ладно, что там после
2023-01 Security Monthly Quality Rollup for Windows Server 2012 R2 for x64-based Systems (KB5022352) ?
2023-02 Security Monthly Quality Rollup for Windows Server 2012 R2 for x64-based Systems (KB5022899)
Скачаю.
2023-02 Security Monthly Quality Rollup for Windows Server 2012 R2 for x64-based Systems (KB5022899)
windows8.1-kb5022899-x64_00d16db3cfda0f18dc89755faebb4aa12aba2cc7.msu
И, чтобы сразу проскочить до сентября 2023, как SSU, скачаю
2023-09 Security Monthly Quality Rollup for Windows Server 2012 R2 for x64-based Systems (KB5030269)
windows8.1-kb5030269-x64_4f5c3c75b71207ef100ce60f2ad8683e22eb20b0.msu
Ставить его (2023-02 KB5022899) лучше из IPMI или VM консоли – потому что вот установка запустилась, вот предложила перезагрузку – и дальше ничего. На экране VM консоли ничего не происходит, CTRL-ALT-DEL не проходит, и минут 5 (у меня на тесте) только часы идут.
Ставим, смотрим и …
Get-HotFix | Where-Object { $_.HotFixID -like 'KB502289*'}
показывает ничего, зато
Get-HotFix | Where-Object { $_.HotFixID -like 'KB50*'}
показывает, что я немного ошибся – в системе есть
2023-10 Security Monthly Quality Rollup for Windows Server 2012 R2 for x64-based Systems (KB5031419)
Вот так фокус. Ставил 2023-02 KB5022899, а появились:
2023-10 Security Monthly Quality Rollup for Windows Server 2012 R2 for x64-based Systems (KB5031419)
2023-10 Security and Quality Rollup for .NET Framework 4.8 for Windows Server 2012 R2 for x64 (KB5031003)
Причем, похоже, это не я его поставил посреди ночи, а Windows update.
Хотя он и писал, что обновлений больше нет, но они все же есть. Не очень понятно как так вышло.
Мне бы на этом месте сделать скриншот и снапшот, но я не сделал.
После
2023-09 Servicing Stack Update for Windows Server 2012 R2 for x64-based Systems (KB5030329), идет
2023-11 Servicing Stack Update for Windows Server 2012 R2 for x64-based Systems (KB5032308)
И он, внезапно, ставится. Но, после установки проверим – все ли на месте.
Get-HotFix | Where-Object { $_.HotFixID -like 'KB5032*'}
Что насчет 2023-11 Security Monthly Quality Rollup for Windows Server 2012 R2 for x64-based Systems (KB5032249) ?
Не хочу проверять. Сначала поставлю:
2024-01 Servicing Stack Update for Windows Server 2012 R2 for x64-based Systems (KB5034587) – поставилось
2024-02 Servicing Stack Update for Windows Server 2012 R2 for x64-based Systems (KB5034866) – поставилось
2024-03 Servicing Stack Update for Windows Server 2012 R2 for x64-based Systems (KB5035968) – поставилось
Прыгну сразу к
2024-10 Servicing Stack Update for Windows Server 2012 R2 for x64-based Systems (KB5044411) – поставилось
Посмотрим что получилось:
Get-HotFix | Sort-Object -Property HotFixID -Descending | Select-Object -First 10
Вроде, все на месте.
Завершающий этап, пробую:
2024-12 Security Monthly Quality Rollup for Windows Server 2012 R2 for x64-based Systems (KB5048735)
Еще раз: ставить его (2024-12 KB5048735) лучше из IPMI или VM консоли – потому что вот установка запустилась, вот предложила перезагрузку – и дальше ничего. На экране VM консоли ничего не происходит, CTRL-ALT-DEL не проходит, и минут 5 (у меня на тесте) только часы идут.
Ставилось обновление как-то настолько долго, зависнув на 96%, что я не стал следить за скоростью процесса. Что-то прошло, произошло, но потом
Get-HotFix | Sort-Object -Property HotFixID -Descending | Select-Object -First 10
KB5044411 на месте, KB5048735 отсутствует.
Согласно
C:\Windows\Logs\CBS\CBS.log
Где-то до строки 13350 –
00000253 Begin executing advanced installer phase 40 (0x00000028) index 276
Все шло нормально. Даже до строки 13450 -
00000261 Begin executing advanced installer phase 50
CSI 00000262@2025 () Executing Process [76]"C:\Windows\Microsoft.NET\Framework\v4.0.30319
И потом оп, и откат обновления.
Проблема подтверждена, что делать – не понятно. В обычной статье я бы сразу написал, какой я умный и сразу все понял, но это не так.
Установлено: 2023-10 Security Monthly Quality Rollup for Windows Server 2012 R2 for x64-based Systems (KB5031419)
Следующий патч:
2023-11 Security Monthly Quality Rollup for Windows Server 2012 R2 for x64-based Systems (KB5032249)
Ставлю ставлю, ставится, рестарт, задумалось на 90% и откат обновлений. Запомним эту цифру, 90%
Отрицательный результат – тоже результат.
Ставить все подряд –не работает. Придется читать, что там в логе.
Читаем логи.
Тут нам Notepad++ и пригодится. Открываем C:\Windows\Logs\CBS\CBS.log
Логи у меня были и 35 мб, и 128 мб. Чистого текста. В логе все хорошо:
98000 примерно строка:
Exec: Staging Package: Package_3148_for_KB5032249~31bf3856ad364e35~amd64~~6.3.1.8, Update: 5032249-5445_neutral
000005d8 Performing 256 operations; 256 are not lock/unlock and follow:
Потом 118000
Exec: Package: Package_568_for_KB5032249~31bf3856ad364e35~amd64~~6.3.1.8 is already in the correct state
Exec: Package: Package_2191_for_KB5032249~31bf3856ad364e35~amd64~~6.3.1.8 is already in the correct state, current: Installed
Exec: Package: Package_2886_for_KB5032249~31bf3856ad364e35~amd64~~6.3.1.8 is already in the correct state, current: Installed, targeted: Installed
Exec: The Package or one of its Updates required a reboot so transaction commit was skipped, Package's changes need to be pended
Строка 123000
CBS Setting ExecuteState key to: ExecuteStateNone
Setting RollbackFailed flag to 0
И, наконец, перезагрузка
Trusted Installer signaled for shutdown, going to exit.
CBS Doqe: System reboot required
CBS Perf: Doqe: Install ended.
CBS Doqe: q-uninstall: Inf: ntprint4.inf
CBS Perf: Doqe: Uninstall ended.
CBS Progress: UI message updated. Operation type: Update. Stage: 1 out of 1. Percent progress: 30.
Old component: [ml:364{182},l:362{181}]"Microsoft-Windows-SLC-Component-ExtendedSecurityUpdatesAI, Culture=neutral, Version=6.3.9600.21620, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=amd64, versionScope=NonSxS"
New component: [ml:364{182},l:362{181}]"Microsoft-Windows-SLC-Component-ExtendedSecurityUpdatesAI, Culture=neutral, Version=6.3.9600.21668, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=amd64, versionScope=NonSxS"
И где-то в районе 125500 строки:
CSI 00000002 ESU: Product = 8.
CSI 00000003 ESU: Windows is not activated.
00000007 ESU: Network Retry Counts : 30 (0x0000001e)
CBS Progress: UI message updated. Operation type: Update. Stage: 1 out of 1. Percent progress: 90.
На этом месте Штирлиц сунул руку в карман и подумал: это конец
00000024 ESU: Trying to Check IMDS Again LastError=HRESULT_FROM_WIN32(12002).
Startup: Timed out waiting for startup processing to complete
No Updates for 2012 R2 Servers activated with ESU activated through Azure Arc
If installing the Extended Security Update enabled by Azure Arc fails with errors such as "ESU: Trying to Check IMDS Again LastError=HRESULT_FROM_WIN32(12029)" or
"ESU: Trying to Check IMDS Again LastError=HRESULT_FROM_WIN32(12002)",
there is a known remediation approach:
Download this intermediate CA published by Microsoft.
Install the downloaded certificate as Local Computer under Intermediate Certificate Authorities\Certificates. Use the following command to install the certificate correctly:
certutil -addstore CA 'Microsoft Azure TLS Issuing CA 01 - xsign.crt'
Install security updates. If it fails, reboot the machine and install security updates again.
Troubleshoot delivery of Extended Security Updates for Windows Server 2012
Option 2: Manually download and install the intermediate CA certificates
If you're unable to allow access to the PKI URL from your servers, you can manually download and install the certificates on each machine.
Сертификаты я поставил, инсталл, ребут – а все равно, 90% ..
Just to bump this.... Issue popped up again this month. After a case with MSFT, had to install the Microsoft Azure RSA TLS Issuing CA 04 with thumbprint BE68D0ADAA2345B48E507320B695D386080E5B25 from Azure Certificate Authority details | Microsoft Learn
Download and install the Extended Security Updates (ESU) Licensing Preparation Package.
For Windows Server 2012 R2 or Windows Server 2012 R2 Embedded, see the Extended Security Updates (ESU) Licensing Preparation Package that is dated August 10, 2022 (KB5017220).
Все понятно. Расширенная поддержка «для всех» закончилась:
Extended End Date - Oct 10, 2023.
Поэтому последние патчи «для всех» -
2023-10 Security Monthly Quality Rollup for Windows Server 2012 R2 for x64-based Systems (KB5031419)
2023-10 Security and Quality Rollup for .NET Framework 4.8 for Windows Server 2012 R2 for x64 (KB5031003)
Чтобы работало остальное, вам нужен 2022-08 Extended Security Updates (ESU) Licensing Preparation Package for Windows Server 2012 R2 for x64-based Systems (KB5017220) и внимательное чтение статьи How to get Extended Security Updates (ESU) for Windows Server.
Дальше просто. Берем сначал укропу Ставите апдейт для Updates (ESU) Licensing Preparation. Ставите 4 новых сертификата по статье выше. Прописываете отдельно продаваемый ESU key из личного кабинета Microsoft Volume Licensing Service Center (VLSC), немного магии, охапка дров и патч готов.
Если у вас есть деньги и VLSC, конечно.
Если нет, то вам сюда или сюда.
Massgrave не проверял.
Напоминаю:
Windows Server 2016 Mainstream End Date - Jan 11, 2022.
Windows Server 2019 Mainstream End Date - Jan 9, 2024.
Переходите, кто не перешел, и кому надо, переходите на хотя бы
Windows Server 2022 – он будет поддерживаться еще полтора года.