Усунення проблем оновлень Windows 11: посібник для IT-підтримки (BSOD, RDP, OneDrive)

Практичний посібник для IT-спеціалістів: діагностика та усунення проблем оновлень Windows 11 24H2. Критичні помилки KB5074109, інструменти DISM і SFC, процедури відкату, PowerShell-скрипти та проактивні стратегії управління оновленнями.

Вступ: Чому оновлення Windows 11 стали головним болем IT-підтримки у 2025-2026 роках

Оновлення операційної системи Windows 11 завжди були критичним процесом для IT-інфраструктури будь-якої організації. Але, чесно кажучи, 2025-2026 роки стали справжнім випробуванням для служб IT-підтримки по всьому світу. За останній рік Microsoft випустила понад 20 основних оновлень, багато з яких спричинили серйозні проблеми для кінцевих користувачів та адміністраторів: від синіх екранів смерті (BSOD) і збоїв хмарного сховища до повної неможливості входу через Remote Desktop та критичних проблем із завершенням роботи системи.

Масштаб проблеми вражає. Лише за 2025 рік Microsoft визнала понад 20 відомих проблем, пов'язаних з кумулятивними оновленнями Windows 11 версії 24H2. Кожен черговий Patch Tuesday перетворювався на лотерею для IT-адміністраторів: чи працюватиме система стабільно після встановлення патчів, чи доведеться терміново відкочувати оновлення та шукати обхідні шляхи?

Для багатьох організацій ситуація ускладнювалася тим, що деякі проблемні оновлення неможливо було видалити стандартними засобами через помилки обслуговування компонентів. Така собсобі матрьошка проблем — оновлення зламалось, а видалити його не можна, бо інструменти видалення теж зламались.

Січень 2026 року не став винятком, а навпаки — приніс одне з найпроблемніших оновлень за останній час. Кумулятивне оновлення KB5074109 спричинило хвилю звернень до служб підтримки по всьому світу. Цей посібник створено спеціально для технічних спеціалістів IT-підтримки, щоб надати системний підхід до діагностики, усунення та запобігання проблемам, пов'язаним з оновленнями Windows 11.

У цій статті ми детально розглянемо найкритичніші проблеми оновлень, діагностичні інструменти та команди, покрокові алгоритми усунення несправностей, процедури відкату та відновлення, а також проактивні заходи для мінімізації впливу майбутніх проблемних оновлень на вашу інфраструктуру.

Критичні проблеми січневого оновлення 2026 року (KB5074109)

Отже, давайте розберемось із січневим оновленням. Кумулятивне оновлення KB5074109, випущене 14 січня 2026 року в рамках чергового Patch Tuesday, стало одним із найпроблемніших оновлень Windows 11 24H2 за весь період існування цієї версії. Протягом перших тижнів після випуску Microsoft визнала щонайменше п'ять серйозних проблем і була змушена випустити три позапланові патчі для їх виправлення.

Розглянемо кожну проблему детально.

BSOD з помилкою UNMOUNTABLE_BOOT_VOLUME

Найкритичнішою проблемою стала поява синього екрану смерті з кодом зупинки UNMOUNTABLE_BOOT_VOLUME після встановлення KB5074109 та перезавантаження комп'ютера. Ця помилка означає, що Windows не може змонтувати завантажувальний том, що фактично робить систему непрацездатною.

Проблема переважно зачіпала пристрої з певними конфігураціями дисків — зокрема системи з кількома розділами, де завантажувальний розділ мав нестандартний розмір або специфічну структуру файлової системи. Також постраждали деякі пристрої з шифруванням BitLocker, де оновлення порушувало цілісність завантажувальних файлів (що особливо неприємно, враховуючи, що BitLocker повинен був захищати дані, а не ускладнювати життя).

Симптоми:

  • Синій екран з кодом зупинки UNMOUNTABLE_BOOT_VOLUME під час завантаження
  • Система не завантажується навіть у безпечному режимі
  • Автоматичне відновлення Windows не допомагає
  • Код помилки 0x000000ED у деяких випадках

Обхідне рішення до виходу патча:

  1. Завантажте комп'ютер із інсталяційного носія Windows 11 або середовища відновлення WinRE
  2. Виберіть "Відновлення системи" (System Restore) та відкатіться до точки відновлення, створеної до встановлення KB5074109
  3. Якщо точки відновлення немає, виконайте команди відновлення завантажувача з командного рядка WinRE
:: Команди відновлення завантажувача з WinRE
bootrec /fixmbr
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd

:: Якщо fixboot повертає "Access denied":
bootsect /nt60 sys /mbr

:: Перевірка цілісності файлової системи:
chkdsk C: /r /f

Проблеми з доступом до хмарного сховища та зависання Outlook

Друга за масштабом проблема стосувалася хмарних сховищ файлів, зокрема OneDrive, Dropbox та інших служб синхронізації файлів. Після встановлення KB5074109 користувачі повідомляли про неможливість відкрити файли, що зберігаються у хмарному сховищі, з поверненням помилок доступу.

Особливо критичною проблема стала для користувачів Microsoft Outlook, який масово зависав при спробі відкрити вкладення з OneDrive або при синхронізації файлів із хмарними папками. За мій досвід роботи в IT-підтримці, зависаючий Outlook — це найшвидший спосіб отримати сотню розгніваних дзвінків протягом години.

Симптоми:

  • Помилки "Файл не знайдено" або "Доступ заборонено" при відкритті файлів з OneDrive
  • Outlook зависає на 30-60 секунд при спробі відкрити вкладення
  • Іконки файлів у провіднику показують статус помилки синхронізації
  • Dropbox повідомляє про неможливість синхронізації окремих файлів
  • Файли з позначкою "Тільки онлайн" (Files On-Demand) не завантажуються

Проблема була пов'язана зі змінами в компоненті Cloud Files Mini Filter Driver (cldflt.sys), який відповідає за інтеграцію хмарних сховищ з файловою системою Windows. Оновлення порушило коректну обробку запитів на завантаження файлів за вимогою (on-demand), що призвело до тайм-аутів та помилок доступу.

Тимчасове рішення:

  1. Вимкніть функцію "Файли за вимогою" (Files On-Demand) у налаштуваннях OneDrive
  2. Перезапустіть службу OneDrive
  3. Для Outlook: очистіть кеш вкладень у %localappdata%\Microsoft\Outlook\16

Збої автентифікації Remote Desktop

Третя серйозна проблема зачепила корпоративних користувачів, які активно використовують Remote Desktop Protocol (RDP). Після встановлення KB5074109 з'єднання через Remote Desktop встановлювалось нормально, але при введенні облікових даних користувач отримував помилку автентифікації, навіть якщо логін та пароль були абсолютно правильними. Причому локально на той же комп'ютер зайти можна було без проблем.

Симптоми:

  • Підключення Remote Desktop ініціюється, але автентифікація завершується невдачею
  • Повідомлення "Your credentials did not work" навіть з правильними обліковими даними
  • Проблема проявляється при підключенні з клієнта Windows 11 24H2 з KB5074109 до серверів будь-якої версії
  • Альтернативні RDP-клієнти (наприклад, mstsc.exe з іншої версії) працюють нормально

Проблема була пов'язана зі змінами в обробці CredSSP (Credential Security Support Provider), що порушувало процес узгодження рівня шифрування між клієнтом та сервером. Тимчасовим рішенням стала зміна групової політики:

:: Тимчасове рішення через групову політику
:: Шлях: Computer Configuration > Administrative Templates >
:: System > Credentials Delegation >
:: Encryption Oracle Remediation
:: Встановіть значення: Vulnerable (тимчасово!)

:: Або через реєстр:
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2 /f

:: УВАГА: Це знижує безпеку! Поверніть після встановлення патча!

Збої при завершенні роботи на платформах Intel Meteor Lake та Arrow Lake

Четверта проблема стосувалася конкретних апаратних платформ. Комп'ютери на базі процесорів Intel Meteor Lake (Core Ultra серії 1) та Arrow Lake (Core Ultra серії 2) після встановлення KB5074109 відмовлялися коректно завершувати роботу або переходити в сплячий режим.

Замість вимкнення система зависала на екрані завершення роботи або перезавантажувалася замість вимкнення. Ну що ж, нічні оновлення на офісних комп'ютерах перетворились на справжнє шоу — машини так і залишались увімкненими до ранку, безглуздо світячи у темряві.

Симптоми:

  • Комп'ютер зависає на написі "Завершення роботи..." на невизначений час
  • Система перезавантажується замість вимкнення
  • Сплячий режим (Sleep/Hibernate) не працює коректно
  • Повідомлення про помилку в журналі подій, пов'язане з драйвером керування живленням
  • Проблема стосується лише платформ Intel Core Ultra

Причиною стала несумісність оновлення з драйверами керування живленням Intel Innovation Platform Framework, які використовуються в платформах Meteor Lake та Arrow Lake. До виходу патча користувачам рекомендувалося примусово вимикати комп'ютер утриманням кнопки живлення або використовувати команду:

:: Примусове завершення роботи
shutdown /s /f /t 0

:: Примусове перезавантаження
shutdown /r /f /t 0

Артефакти відображення та чорний екран у іграх (проблеми Nvidia)

П'ята проблема зачепила геймерів та користувачів з відеокартами Nvidia. Після встановлення KB5074109 спостерігалися артефакти зображення, чорний екран при запуску ігор та збої драйверів відображення. Проблема була особливо помітною в іграх з підтримкою DirectX 12 та при використанні Nvidia DLSS.

Симптоми:

  • Артефакти зображення (мерехтіння, горизонтальні смуги, кольорові блоки) в іграх
  • Чорний екран при запуску гри з подальшим крахом драйвера
  • Повідомлення "Display driver nvlddmkm stopped responding and has successfully recovered"
  • Зниження продуктивності в іграх на 30-50%
  • Проблема стосується відеокарт серії GeForce RTX 40xx та RTX 50xx

Позапланові патчі від Microsoft

Враховуючи масштаб проблем, Microsoft була змушена випустити серію позапланових (out-of-band) патчів. Треба віддати їм належне — реагували швидко, хоча краще б, звичайно, відразу якісно тестували оновлення.

Патч Дата випуску Що виправляє Метод розповсюдження
KB5077744 17 січня 2026 Проблеми з хмарним сховищем та зависання Outlook, часткове виправлення RDP Windows Update, WSUS, Microsoft Update Catalog
KB5078127 24 січня 2026 BSOD UNMOUNTABLE_BOOT_VOLUME, проблеми із завершенням роботи на Intel Meteor/Arrow Lake Windows Update, WSUS, Microsoft Update Catalog
KB5077797 28 січня 2026 Артефакти Nvidia, повне виправлення RDP, інші стабілізаційні виправлення Windows Update, Microsoft Update Catalog (опціональне)

Важливо: Позапланові патчі не завжди автоматично встановлюються через Windows Update. IT-адміністраторам рекомендується завантажувати їх із Microsoft Update Catalog та розповсюджувати через WSUS або Intune для забезпечення повного покриття організації.

Діагностичні інструменти та команди

Для ефективного усунення проблем, пов'язаних з оновленнями Windows 11, технічний спеціаліст IT-підтримки повинен вільно володіти набором діагностичних інструментів. Розглянемо найважливіші з них у порядку, в якому їх слід використовувати.

DISM (Deployment Image Servicing and Management)

DISM — це потужний інструмент командного рядка для обслуговування образів Windows. У контексті усунення проблем оновлень він використовується для перевірки та відновлення цілісності сховища компонентів Windows (Component Store, також відомого як WinSxS).

Завжди запускайте DISM перед SFC — це критично важливий порядок дій. Чесно кажучи, кількість разів, коли я бачив, як люди роблять навпаки і потім дивуються, чому нічого не працює, просто вражає.

DISM має три основні рівні перевірки:

:: Рівень 1: CheckHealth — швидка перевірка (секунди)
:: Перевіряє лише маркер пошкодження в реєстрі.
:: Не виконує реального сканування файлів.
DISM /Online /Cleanup-Image /CheckHealth

:: Рівень 2: ScanHealth — повне сканування (5-15 хвилин)
:: Виконує повну перевірку сховища компонентів.
:: Порівнює файли з маніфестами для виявлення пошкоджень.
:: НЕ виправляє проблеми, тільки знаходить їх.
DISM /Online /Cleanup-Image /ScanHealth

:: Рівень 3: RestoreHealth — відновлення (15-60 хвилин)
:: Знаходить пошкодження та автоматично виправляє їх.
:: Завантажує відсутні або пошкоджені файли з Windows Update.
:: Потребує підключення до Інтернету або вказання джерела.
DISM /Online /Cleanup-Image /RestoreHealth

:: Використання локального джерела (без Інтернету):
DISM /Online /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim

:: Перегляд журналу DISM:
:: Файл журналу: %windir%\Logs\DISM\dism.log
notepad C:\Windows\Logs\DISM\dism.log

Коли використовувати кожний рівень:

  • CheckHealth — для швидкої первинної діагностики; якщо повертає "No component store corruption detected", переходьте до SFC
  • ScanHealth — коли CheckHealth виявив проблему або коли потрібно повне сканування перед серйозними діями
  • RestoreHealth — коли ScanHealth підтвердив наявність пошкоджень; це єдина команда, яка фактично виправляє проблеми

SFC (System File Checker)

SFC — це утиліта для перевірки цілісності системних файлів Windows. На відміну від DISM, який працює зі сховищем компонентів, SFC перевіряє самі системні файли та замінює пошкоджені файли коректними копіями зі сховища компонентів.

Саме тому DISM потрібно запускати першим: якщо сховище компонентів пошкоджене, SFC не зможе виправити системні файли, оскільки буде брати хибні копії з пошкодженого сховища. Логіка проста, але чомусь багато хто про неї забуває.

:: Запуск SFC (потребує прав адміністратора)
sfc /scannow

:: Результати SFC:
:: 1. "Windows Resource Protection did not find any integrity violations"
::    — Пошкоджень не знайдено
:: 2. "Windows Resource Protection found corrupt files and successfully repaired them"
::    — Знайдено та виправлено пошкодження
:: 3. "Windows Resource Protection found corrupt files but was unable to fix some of them"
::    — Знайдено пошкодження, але не вдалося виправити (запустіть DISM RestoreHealth)
:: 4. "Windows Resource Protection could not perform the requested operation"
::    — SFC не зміг працювати (спробуйте в безпечному режимі)

:: Журнал SFC:
:: Файл: C:\Windows\Logs\CBS\CBS.log
:: Фільтрація записів SFC:
findstr /c:"[SR]" C:\Windows\Logs\CBS\CBS.log > C:\temp\sfc_results.txt

Правильний порядок дій:

  1. Запустіть DISM /Online /Cleanup-Image /CheckHealth
  2. Якщо виявлено проблеми, запустіть DISM /Online /Cleanup-Image /RestoreHealth
  3. Після завершення DISM запустіть sfc /scannow
  4. Якщо SFC знайшов і виправив проблеми, перезавантажте та запустіть sfc /scannow повторно для підтвердження

Засіб усунення неполадок Windows Update

Windows 11 має вбудований засіб усунення неполадок оновлень, який автоматично діагностує та виправляє типові проблеми — такі як зупинені служби, пошкоджений кеш оновлень та неправильні налаштування реєстру. Іноді він навіть справді допомагає (хоча і не завжди, будемо чесними).

Як запустити:

  1. Відкрийте Параметри > Система > Усунення неполадок > Інші засоби усунення неполадок
  2. Знайдіть "Windows Update" та натисніть "Запустити"
  3. Дочекайтесь завершення діагностики та застосуйте запропоновані виправлення

Також можна запустити з командного рядка:

:: Запуск засобу усунення неполадок Windows Update
msdt.exe /id WindowsUpdateDiagnostic

:: Альтернативний спосіб через PowerShell (Windows 11):
Get-TroubleshootingPack -Path "C:\Windows\diagnostics\system\WindowsUpdate" | Invoke-TroubleshootingPack -Unattended

Microsoft Support and Recovery Assistant (SaRA)

SaRA — це безкоштовний інструмент від Microsoft для розширеної діагностики та виправлення проблем з продуктами Microsoft, включаючи Windows Update, Office 365, Outlook та Teams. SaRA виконує глибшу діагностику, ніж вбудовані засоби Windows, та надає детальні звіти.

Переваги SaRA для IT-підтримки:

  • Автоматизована діагностика складних сценаріїв
  • Генерація детальних звітів для ескалації
  • Підтримка командного рядка для дистанційного використання
  • Регулярні оновлення діагностичних сценаріїв від Microsoft
:: Завантаження та запуск SaRA з командного рядка
:: Завантажте з: https://aka.ms/SaRA-Internet
:: Запуск у режимі командного рядка:
SaRACmd.exe -S OfficeScan -AcceptEula
SaRACmd.exe -S WindowsUpdate -AcceptEula

Аналіз журналу подій (Event Viewer)

Журнал подій Windows — незамінний інструмент для діагностики проблем оновлень. Ключові журнали для аналізу:

  • System — загальні системні події, помилки драйверів, BSOD
  • Application — помилки додатків, збої служб
  • Setup — інформація про встановлення та видалення оновлень
  • Microsoft-Windows-WindowsUpdateClient/Operational — деталі роботи клієнта оновлень
:: Перегляд останніх помилок, пов'язаних з оновленнями (PowerShell)
Get-WinEvent -LogName "Setup" -MaxEvents 20 |
    Where-Object { $_.LevelDisplayName -eq "Error" } |
    Format-List TimeCreated, Id, Message

:: Пошук подій BSOD (BugCheck)
Get-WinEvent -FilterHashtable @{LogName='System'; Id=1001; ProviderName='Microsoft-Windows-WER-SystemErrorReporting'} -MaxEvents 5 |
    Format-List TimeCreated, Message

:: Перевірка подій Windows Update
Get-WinEvent -LogName "Microsoft-Windows-WindowsUpdateClient/Operational" -MaxEvents 30 |
    Format-Table TimeCreated, Id, Message -AutoSize -Wrap

Покроковий алгоритм усунення несправностей для IT-підтримки

Ефективне усунення проблем з оновленнями Windows 11 вимагає системного підходу. Нижче наведено покроковий алгоритм, який рекомендується використовувати при обробці звернень користувачів.

Крок 1: Початкова діагностика

При отриманні звернення від користувача зберіть наступну інформацію:

  1. Точний опис проблеми: Що саме відбувається? Який текст повідомлення про помилку?
  2. Коли проблема виникла: Чи пов'язана вона з нещодавнім оновленням?
  3. Версія та збірка Windows: Виконайте winver або перевірте через PowerShell
  4. Встановлені оновлення: Перевірте історію оновлень
  5. Апаратна конфігурація: Модель пристрою, процесор, відеокарта
:: Швидка збірка діагностичної інформації
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"System Type" /C:"System Model"

:: Перевірка останніх встановлених оновлень
wmic qfe list brief /format:table

:: Або через PowerShell (детальніше):
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 10 | Format-Table HotFixID, InstalledOn, Description

Крок 2: Категоризація проблеми

Класифікуйте проблему за типом для вибору правильної стратегії усунення:

Категорія Приклади Пріоритет Перша дія
Критична (система непрацездатна) BSOD, система не завантажується, нескінченний цикл перезавантажень P1 WinRE, відкат оновлення
Висока (серйозне обмеження функціональності) Не працює RDP, зависання основних додатків, втрата доступу до файлів P2 Обхідне рішення, ескалація
Середня (часткове обмеження) Повільна робота, проблеми з конкретним додатком, артефакти зображення P3 Оновлення драйверів, обхідне рішення
Низька (незначний вплив) Косметичні дефекти, некритичні помилки P4 Моніторинг, очікування патча

Крок 3: Перевірка Microsoft Release Health Dashboard

Перед початком активного усунення несправностей завжди перевіряйте Windows Release Health Dashboard від Microsoft. Ця панель містить актуальну інформацію про всі відомі проблеми з оновленнями Windows, їхній статус та рекомендовані обхідні рішення.

Серйозно — це має стати вашим першим рефлексом при отриманні звернення про проблему з оновленням.

Що перевірити:

  • Чи є проблема, з якою звернувся користувач, серед відомих проблем (Known Issues)
  • Чи існує офіційне обхідне рішення або патч
  • Який статус виправлення: "Investigating", "Confirmed", "Resolved"
  • Чи є Safe Guard Hold для проблемного оновлення (автоматичне блокування оновлення для вразливих конфігурацій)

Крок 4: Застосування обхідних рішень або очікування патча

На основі інформації з попередніх кроків прийміть рішення:

  • Якщо є офіційне обхідне рішення — застосуйте його та задокументуйте
  • Якщо є патч — встановіть позаплановий патч
  • Якщо проблема критична і рішення немає — відкотіть оновлення
  • Якщо проблема некритична і рішення немає — задокументуйте, поінформуйте користувача, встановіть нагадування для моніторингу

Процедури відкату та відновлення

Відкат проблемних оновлень — це одна з найважливіших процедур, які повинен знати спеціаліст IT-підтримки. Windows 11 надає кілька способів видалення оновлень, кожен з яких підходить для різних ситуацій.

Видалення оновлень через Параметри Windows

Найпростіший спосіб видалення оновлень — через графічний інтерфейс:

  1. Відкрийте Параметри > Windows Update > Журнал оновлень
  2. Прокрутіть донизу та натисніть Видалити оновлення
  3. Знайдіть проблемне оновлення та натисніть Видалити
  4. Перезавантажте комп'ютер

Видалення через командний рядок та PowerShell

:: Видалення через WUSA (Windows Update Standalone Installer)
wusa /uninstall /kb:5074109 /quiet /norestart

:: Видалення через DISM
DISM /Online /Remove-Package /PackageName:Package_for_KB5074109~31bf3856ad364e35~amd64~~10.0.1.0

:: Список встановлених пакетів для пошуку точної назви
DISM /Online /Get-Packages | findstr KB5074109

:: Видалення через PowerShell
$update = Get-WindowsPackage -Online | Where-Object { $_.PackageName -like "*KB5074109*" }
Remove-WindowsPackage -Online -PackageName $update.PackageName -NoRestart

Що робити, коли видалення не працює (помилка обслуговування компонентів)

Отже, одна з найскладніших ситуацій виникає, коли спроба видалити оновлення KB5074109 завершується помилкою обслуговування компонентів (component servicing error). У цьому випадку стандартні методи видалення не працюють, і потрібні додаткові кроки. За моїм досвідом, саме ця ситуація викликає найбільше фрустрації — оновлення зламало систему, а видалити його неможливо через ту ж саму зламану систему.

Помилка може виглядати так:

  • "Error 0x800f0825 - The package is not applicable to this image"
  • "Error 0x80070002 - The system cannot find the file specified"
  • "Component Store has been corrupted"

Алгоритм вирішення:

:: Крок 1: Спробуйте відновити сховище компонентів
DISM /Online /Cleanup-Image /RestoreHealth

:: Крок 2: Якщо RestoreHealth не допоміг, спробуйте з джерелом
DISM /Online /Cleanup-Image /RestoreHealth /Source:wim:D:\sources\install.wim:1

:: Крок 3: Скидання компонентів Windows Update
net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 catroot2.old
net start wuauserv
net start cryptSvc
net start bits
net start msiserver

:: Крок 4: Спробуйте видалення повторно
wusa /uninstall /kb:5074109

:: Крок 5: Якщо нічого не допомагає — використайте DISM з примусовим видаленням
DISM /Online /Remove-Package /PackageName:Package_for_KB5074109~31bf3856ad364e35~amd64~~10.0.1.0 /ForceRemove

Точки відновлення системи (System Restore)

Відновлення системи — це швидкий спосіб повернути комп'ютер до стану до встановлення проблемного оновлення. Однак для цього потрібно, щоб точка відновлення була створена до встановлення оновлення (що, на жаль, буває далеко не завжди).

Як використовувати:

  1. Відкрийте "Створити точку відновлення" (через пошук у меню Пуск)
  2. Натисніть "Відновлення системи"
  3. Виберіть точку відновлення, створену до встановлення проблемного оновлення
  4. Перегляньте список програм, які будуть видалені або відновлені
  5. Підтвердіть та дочекайтесь завершення процесу
:: Перевірка наявності точок відновлення через PowerShell
Get-ComputerRestorePoint | Format-Table SequenceNumber, Description, CreationTime

:: Створення нової точки відновлення
Checkpoint-Computer -Description "Перед встановленням оновлення" -RestorePointType MODIFY_SETTINGS

:: Увімкнення захисту системи (якщо вимкнено)
Enable-ComputerRestore -Drive "C:\"

Середовище відновлення Windows (WinRE)

Коли система не завантажується через проблемне оновлення, Windows Recovery Environment (WinRE) стає єдиним доступним інструментом. WinRE надає доступ до розширених параметрів відновлення.

Як потрапити в WinRE:

  • Автоматично — після двох невдалих спроб завантаження Windows автоматично запустить WinRE
  • Вручну — тримайте клавішу Shift при натисканні "Перезавантаження" в меню Пуск
  • З інсталяційного носія — завантажте з USB/DVD та виберіть "Відновити комп'ютер"

Дії в WinRE для видалення оновлень:

  1. Усунення несправностей > Додаткові параметри > Видалити оновлення
  2. Виберіть "Видалити останнє оновлення якості" (для кумулятивних оновлень)
  3. Підтвердіть та дочекайтесь завершення

Відновлення через командний рядок WinRE:

:: У командному рядку WinRE визначте букву системного диска
:: (вона може відрізнятися від C:)
diskpart
list volume
exit

:: Видалення оновлення через DISM в автономному режимі
:: Припустимо, що системний диск — D: в середовищі WinRE
DISM /Image:D:\ /Remove-Package /PackageName:Package_for_KB5074109~31bf3856ad364e35~amd64~~10.0.1.0

:: Перевірка та виправлення завантажувальних файлів
bcdboot D:\Windows /s S: /f UEFI

:: Відновлення системних файлів в автономному режимі
DISM /Image:D:\ /Cleanup-Image /RestoreHealth
sfc /scannow /offbootdir=D:\ /offwindir=D:\Windows

Відновлення на місці (In-Place Repair Install)

Якщо всі інші методи не допомогли, in-place repair install (ремонтна інсталяція) — це останній засіб перед повною переінсталяцією Windows. Цей метод переінсталює Windows, зберігаючи всі ваші файли, програми та налаштування. Процес довгий, але часто це єдиний спосіб врятувати зовсім зламану систему.

  1. Завантажте ISO-образ Windows 11 з офіційного сайту Microsoft
  2. Змонтуйте ISO-файл (подвійний клік)
  3. Запустіть setup.exe з змонтованого образу
  4. Виберіть "Зберегти особисті файли та програми"
  5. Дочекайтесь завершення процесу (30-60 хвилин)

Примітка: In-place repair install видалить всі встановлені оновлення та поверне систему до базової версії ISO-образу. Після завершення потрібно буде повторно встановити оновлення (без проблемного).

Проактивні заходи та найкращі практики

Найефективніший підхід до проблем з оновленнями — запобігати їм. У цьому розділі розглянемо стратегії та найкращі практики для мінімізації впливу проблемних оновлень на організацію.

Стратегії розгортання оновлень через WSUS та Intune

Організації, які використовують WSUS (Windows Server Update Services) або Microsoft Intune, мають можливість контролювати процес розгортання оновлень за допомогою кілець оновлення (Update Rings).

Рекомендована стратегія кілець оновлення:

Кільце Затримка (днів) Аудиторія Мета
Пілотне (Pilot) 0-3 IT-спеціалісти, тестувальники (5-10% пристроїв) Раннє виявлення проблем
Раннє впровадження (Early Adopters) 7 Технічно грамотні користувачі (10-20% пристроїв) Розширене тестування в реальних умовах
Основне (Broad) 14 Більшість користувачів (60-70% пристроїв) Масове розгортання після підтвердження стабільності
Критичне (Critical) 21-30 Критичні системи, керівництво (10-15% пристроїв) Максимальна стабільність

Налаштування кільця оновлення в Intune:

  1. Перейдіть до Devices > Windows > Update rings for Windows 10 and later
  2. Створіть нове кільце для кожного рівня
  3. Встановіть відповідний Quality update deferral period
  4. Призначте відповідні групи пристроїв до кожного кільця
  5. Увімкніть Uninstall для можливості швидкого відкату

Тестування оновлень перед розгортанням

Навіть із кільцями оновлення, рекомендується активне тестування на пілотній групі. Давайте будемо чесними — без тестування ви просто граєте в російську рулетку зі своєю інфраструктурою.

  • Створіть чек-лист тестування: Основні бізнес-додатки, підключення до мережевих ресурсів, друк, VPN, RDP, хмарні сервіси
  • Тестуйте на репрезентативних конфігураціях: Включіть різні моделі пристроїв, конфігурації дисків, типи підключень
  • Документуйте результати: Створіть стандартний звіт про тестування кожного оновлення
  • Встановіть критерії Go/No-Go: Чіткі критерії для прийняття рішення про масове розгортання

Створення точок відновлення перед оновленнями

Автоматизуйте створення точок відновлення перед кожним оновленням за допомогою групової політики або скрипту:

# PowerShell-скрипт для створення точки відновлення перед оновленням
# Можна додати як заплановане завдання, що запускається перед Windows Update

# Перевірити, чи увімкнено захист системи
$protection = Get-ComputerRestorePoint -ErrorAction SilentlyContinue
if ($null -eq $protection) {
    # Увімкнити захист системи для диска C:
    Enable-ComputerRestore -Drive "C:\"
    # Встановити розмір сховища (10% від диску)
    vssadmin resize shadowstorage /for=C: /on=C: /maxsize=10%
}

# Створити точку відновлення
$date = Get-Date -Format "yyyy-MM-dd HH:mm"
Checkpoint-Computer -Description "Автоматична ТВ перед оновленням $date" -RestorePointType MODIFY_SETTINGS
Write-Host "Точку відновлення створено: $date"

Управління драйверами

Багато проблем з оновленнями пов'язані з несумісними драйверами. Найкращі практики управління драйверами:

  • Використовуйте Windows Update для драйверів з обережністю: Вимкніть автоматичне оновлення драйверів через Windows Update для критичних систем
  • Тримайте драйвери в актуальному стані: Особливо драйвери відеокарти, мережевих адаптерів та контролерів дисків
  • Зберігайте резервні копії робочих драйверів: За допомогою dism /online /export-driver /destination:C:\DriversBackup
  • Використовуйте WSUS/Intune для контролю розповсюдження драйверів: Тестуйте нові версії драйверів перед масовим розгортанням
:: Експорт всіх драйверів для резервного копіювання
DISM /Online /Export-Driver /Destination:C:\DriversBackup

:: Перевірка проблемних драйверів через PowerShell
Get-WmiObject Win32_PnPEntity | Where-Object { $_.ConfigManagerErrorCode -ne 0 } |
    Select-Object Name, DeviceID, ConfigManagerErrorCode | Format-Table -AutoSize

:: Вимкнення автоматичного оновлення драйверів через реєстр
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v ExcludeWUDriversInQualityUpdate /t REG_DWORD /d 1 /f

Моніторинг Microsoft Release Health Dashboard

Підпишіться на оновлення Windows Release Health Dashboard та інтегруйте моніторинг у щоденні процеси IT-підтримки:

  • Перевіряйте дашборд щодня, особливо після Patch Tuesday (другий вівторок кожного місяця)
  • Підпишіться на RSS-стрічку для автоматичних сповіщень
  • Відстежуйте статус відомих проблем для версій Windows, що використовуються у вашій організації
  • Повідомляйте про нові проблеми через Feedback Hub для прискорення їх вирішення Microsoft

Корисні PowerShell-скрипти для IT-підтримки

Автоматизація — ключ до ефективної роботи служби IT-підтримки. Нижче наведено набір PowerShell-скриптів, які значно спрощують діагностику та усунення проблем з оновленнями Windows 11.

Скрипт для перевірки встановлених оновлень

# Get-InstalledUpdates.ps1
# Скрипт для детальної перевірки встановлених оновлень Windows
# Запускати з правами адміністратора

param(
    [int]$DaysBack = 30,
    [string]$ExportPath = "$env:TEMP\InstalledUpdates_$(Get-Date -Format 'yyyyMMdd').csv"
)

Write-Host "=== Перевірка встановлених оновлень Windows ===" -ForegroundColor Cyan
Write-Host "Період: останні $DaysBack днів" -ForegroundColor Yellow

# Метод 1: Через Get-HotFix
Write-Host "`n--- Оновлення через Get-HotFix ---" -ForegroundColor Green
$hotfixes = Get-HotFix | Where-Object {
    $_.InstalledOn -gt (Get-Date).AddDays(-$DaysBack)
} | Sort-Object InstalledOn -Descending

$hotfixes | Format-Table -AutoSize @{
    Label = "KB ID"; Expression = { $_.HotFixID }
}, @{
    Label = "Тип"; Expression = { $_.Description }
}, @{
    Label = "Встановлено"; Expression = { $_.InstalledOn.ToString("yyyy-MM-dd HH:mm") }
}, @{
    Label = "Встановив"; Expression = { $_.InstalledBy }
}

# Метод 2: Через COM-об'єкт Windows Update
Write-Host "--- Оновлення через Windows Update Agent ---" -ForegroundColor Green
$session = New-Object -ComObject Microsoft.Update.Session
$searcher = $session.CreateUpdateSearcher()
$historyCount = $searcher.GetTotalHistoryCount()
$history = $searcher.QueryHistory(0, $historyCount)

$recentUpdates = $history | Where-Object {
    $_.Date -gt (Get-Date).AddDays(-$DaysBack)
} | Select-Object @{
    Name = "Дата"; Expression = { $_.Date.ToString("yyyy-MM-dd HH:mm") }
}, @{
    Name = "Назва"; Expression = { $_.Title }
}, @{
    Name = "Результат"; Expression = {
        switch ($_.ResultCode) {
            0 { "Не розпочато" }
            1 { "В процесі" }
            2 { "Успішно" }
            3 { "Успішно з помилками" }
            4 { "Невдача" }
            5 { "Перервано" }
        }
    }
}

$recentUpdates | Format-Table -AutoSize -Wrap

# Експорт у CSV
$recentUpdates | Export-Csv -Path $ExportPath -NoTypeInformation -Encoding UTF8
Write-Host "`nРезультати експортовано в: $ExportPath" -ForegroundColor Yellow

Скрипт для видалення конкретного оновлення

# Remove-SpecificUpdate.ps1
# Скрипт для безпечного видалення конкретного оновлення Windows
# Запускати з правами адміністратора

param(
    [Parameter(Mandatory = $true)]
    [string]$KBNumber,
    [switch]$Force,
    [switch]$NoRestart
)

# Видалити префікс KB, якщо вказано
$KBNumber = $KBNumber -replace '^KB', ''

Write-Host "=== Видалення оновлення KB$KBNumber ===" -ForegroundColor Cyan

# Перевірити, чи встановлено оновлення
Write-Host "Перевірка наявності оновлення..." -ForegroundColor Yellow
$installed = Get-HotFix -Id "KB$KBNumber" -ErrorAction SilentlyContinue

if (-not $installed) {
    Write-Host "Оновлення KB$KBNumber не знайдено серед встановлених." -ForegroundColor Red

    # Перевірити через DISM
    $dismResult = DISM /Online /Get-Packages | Select-String "KB$KBNumber"
    if ($dismResult) {
        Write-Host "Знайдено через DISM: $dismResult" -ForegroundColor Yellow
    } else {
        Write-Host "Оновлення не знайдено жодним методом. Завершення." -ForegroundColor Red
        return
    }
}

# Створити точку відновлення перед видаленням
Write-Host "Створення точки відновлення..." -ForegroundColor Yellow
try {
    Checkpoint-Computer -Description "Перед видаленням KB$KBNumber" -RestorePointType MODIFY_SETTINGS -ErrorAction Stop
    Write-Host "Точку відновлення створено успішно." -ForegroundColor Green
} catch {
    Write-Warning "Не вдалося створити точку відновлення: $_"
    if (-not $Force) {
        $continue = Read-Host "Продовжити без точки відновлення? (Y/N)"
        if ($continue -ne 'Y') { return }
    }
}

# Спроба видалення через WUSA
Write-Host "Спроба видалення через WUSA..." -ForegroundColor Yellow
$wusaArgs = "/uninstall /kb:$KBNumber /quiet"
if ($NoRestart) { $wusaArgs += " /norestart" }

$process = Start-Process -FilePath "wusa.exe" -ArgumentList $wusaArgs -Wait -PassThru
switch ($process.ExitCode) {
    0 { Write-Host "Оновлення успішно видалено!" -ForegroundColor Green }
    3010 { Write-Host "Оновлення видалено. Потрібне перезавантаження." -ForegroundColor Yellow }
    2359303 {
        Write-Host "WUSA не зміг видалити. Спроба через DISM..." -ForegroundColor Yellow

        # Спроба через DISM
        $package = DISM /Online /Get-Packages | Select-String "KB$KBNumber" |
            ForEach-Object { ($_ -split '\s*:\s*')[1].Trim() }

        if ($package) {
            DISM /Online /Remove-Package /PackageName:$package
        } else {
            Write-Host "Не вдалося знайти пакет для видалення через DISM." -ForegroundColor Red
        }
    }
    default {
        Write-Host "Помилка видалення. Код: $($process.ExitCode)" -ForegroundColor Red
    }
}

if (-not $NoRestart) {
    $restart = Read-Host "Перезавантажити комп'ютер зараз? (Y/N)"
    if ($restart -eq 'Y') {
        Restart-Computer -Force
    }
}

Скрипт для комплексної перевірки стану системи

# Check-SystemHealth.ps1
# Комплексний скрипт перевірки стану системи після оновлення
# Запускати з правами адміністратора

Write-Host "============================================" -ForegroundColor Cyan
Write-Host "  КОМПЛЕКСНА ПЕРЕВІРКА СТАНУ СИСТЕМИ" -ForegroundColor Cyan
Write-Host "  $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')" -ForegroundColor Cyan
Write-Host "============================================" -ForegroundColor Cyan

$results = @()

# 1. Інформація про систему
Write-Host "`n[1/8] Збір інформації про систему..." -ForegroundColor Yellow
$os = Get-CimInstance Win32_OperatingSystem
$cs = Get-CimInstance Win32_ComputerSystem
Write-Host "  ОС: $($os.Caption) Build $($os.BuildNumber)" -ForegroundColor White
Write-Host "  Комп'ютер: $($cs.Manufacturer) $($cs.Model)" -ForegroundColor White
Write-Host "  Час роботи: $((Get-Date) - $os.LastBootUpTime)" -ForegroundColor White

# 2. Перевірка сховища компонентів (DISM CheckHealth)
Write-Host "`n[2/8] Перевірка сховища компонентів (DISM)..." -ForegroundColor Yellow
$dismOutput = DISM /Online /Cleanup-Image /CheckHealth 2>&1
$dismHealthy = $dismOutput | Select-String "No component store corruption detected"
if ($dismHealthy) {
    Write-Host "  Сховище компонентів: OK" -ForegroundColor Green
    $results += [PSCustomObject]@{ Перевірка = "Сховище компонентів"; Статус = "OK" }
} else {
    Write-Host "  Сховище компонентів: ПОШКОДЖЕНО" -ForegroundColor Red
    $results += [PSCustomObject]@{ Перевірка = "Сховище компонентів"; Статус = "ПОШКОДЖЕНО" }
}

# 3. Перевірка диску
Write-Host "`n[3/8] Перевірка стану диску..." -ForegroundColor Yellow
$disk = Get-CimInstance Win32_LogicalDisk -Filter "DeviceID='C:'"
$freePercent = [math]::Round(($disk.FreeSpace / $disk.Size) * 100, 1)
$freeGB = [math]::Round($disk.FreeSpace / 1GB, 1)
if ($freePercent -gt 15) {
    Write-Host "  Вільне місце на C: $freeGB ГБ ($freePercent%) - OK" -ForegroundColor Green
    $results += [PSCustomObject]@{ Перевірка = "Вільне місце на диску"; Статус = "OK ($freeGB ГБ)" }
} else {
    Write-Host "  Вільне місце на C: $freeGB ГБ ($freePercent%) - МАЛО!" -ForegroundColor Red
    $results += [PSCustomObject]@{ Перевірка = "Вільне місце на диску"; Статус = "МАЛО ($freeGB ГБ)" }
}

# 4. Перевірка служб Windows Update
Write-Host "`n[4/8] Перевірка служб Windows Update..." -ForegroundColor Yellow
$services = @("wuauserv", "bits", "cryptSvc", "msiserver")
foreach ($svc in $services) {
    $service = Get-Service -Name $svc -ErrorAction SilentlyContinue
    if ($service) {
        $status = if ($service.StartType -ne "Disabled") { "OK" } else { "ВИМКНЕНО" }
        $color = if ($status -eq "OK") { "Green" } else { "Red" }
        Write-Host "  $($service.DisplayName): $($service.Status) ($($service.StartType)) - $status" -ForegroundColor $color
    }
}

# 5. Перевірка останніх помилок у журналі подій
Write-Host "`n[5/8] Перевірка критичних помилок в журналі подій (останні 24 години)..." -ForegroundColor Yellow
$criticalErrors = Get-WinEvent -FilterHashtable @{
    LogName = 'System'
    Level = 1,2  # Critical, Error
    StartTime = (Get-Date).AddHours(-24)
} -ErrorAction SilentlyContinue

if ($criticalErrors) {
    Write-Host "  Знайдено $($criticalErrors.Count) критичних подій:" -ForegroundColor Red
    $criticalErrors | Select-Object -First 5 | ForEach-Object {
        Write-Host "    [$($_.TimeCreated.ToString('HH:mm'))] $($_.ProviderName): $($_.Message.Substring(0, [Math]::Min(100, $_.Message.Length)))..." -ForegroundColor Red
    }
    $results += [PSCustomObject]@{ Перевірка = "Критичні помилки"; Статус = "ЗНАЙДЕНО: $($criticalErrors.Count)" }
} else {
    Write-Host "  Критичних помилок не знайдено" -ForegroundColor Green
    $results += [PSCustomObject]@{ Перевірка = "Критичні помилки"; Статус = "OK" }
}

# 6. Перевірка статусу BitLocker
Write-Host "`n[6/8] Перевірка статусу BitLocker..." -ForegroundColor Yellow
try {
    $bitlocker = Get-BitLockerVolume -MountPoint "C:" -ErrorAction Stop
    Write-Host "  BitLocker на C: $($bitlocker.ProtectionStatus)" -ForegroundColor White
    $results += [PSCustomObject]@{ Перевірка = "BitLocker"; Статус = $bitlocker.ProtectionStatus.ToString() }
} catch {
    Write-Host "  BitLocker: не вдалося перевірити" -ForegroundColor Yellow
}

# 7. Перевірка мережевого підключення
Write-Host "`n[7/8] Перевірка мережевого підключення..." -ForegroundColor Yellow
$networkTest = Test-Connection -ComputerName "www.microsoft.com" -Count 2 -Quiet
if ($networkTest) {
    Write-Host "  Підключення до Інтернету: OK" -ForegroundColor Green
    $results += [PSCustomObject]@{ Перевірка = "Інтернет"; Статус = "OK" }
} else {
    Write-Host "  Підключення до Інтернету: НЕМАЄ" -ForegroundColor Red
    $results += [PSCustomObject]@{ Перевірка = "Інтернет"; Статус = "НЕМАЄ" }
}

# 8. Перевірка проблемних драйверів
Write-Host "`n[8/8] Перевірка проблемних драйверів..." -ForegroundColor Yellow
$problemDevices = Get-WmiObject Win32_PnPEntity | Where-Object { $_.ConfigManagerErrorCode -ne 0 }
if ($problemDevices) {
    Write-Host "  Знайдено $($problemDevices.Count) пристроїв з проблемами:" -ForegroundColor Red
    $problemDevices | ForEach-Object {
        Write-Host "    - $($_.Name) (код помилки: $($_.ConfigManagerErrorCode))" -ForegroundColor Red
    }
    $results += [PSCustomObject]@{ Перевірка = "Проблемні драйвери"; Статус = "ЗНАЙДЕНО: $($problemDevices.Count)" }
} else {
    Write-Host "  Проблемних драйверів не знайдено" -ForegroundColor Green
    $results += [PSCustomObject]@{ Перевірка = "Проблемні драйвери"; Статус = "OK" }
}

# Підсумок
Write-Host "`n============================================" -ForegroundColor Cyan
Write-Host "  ПІДСУМОК ПЕРЕВІРКИ" -ForegroundColor Cyan
Write-Host "============================================" -ForegroundColor Cyan
$results | Format-Table -AutoSize

Скрипт для експорту журналів подій для аналізу

# Export-UpdateEventLogs.ps1
# Скрипт для експорту журналів подій, пов'язаних з оновленнями
# Корисний для ескалації та детального аналізу

param(
    [int]$DaysBack = 7,
    [string]$OutputFolder = "$env:TEMP\EventLogs_$(Get-Date -Format 'yyyyMMdd_HHmm')"
)

# Створити папку для експорту
New-Item -ItemType Directory -Path $OutputFolder -Force | Out-Null
Write-Host "=== Експорт журналів подій ===" -ForegroundColor Cyan
Write-Host "Папка: $OutputFolder" -ForegroundColor Yellow
Write-Host "Період: останні $DaysBack днів`n" -ForegroundColor Yellow

$startDate = (Get-Date).AddDays(-$DaysBack)

# 1. Журнал System - критичні та помилки
Write-Host "Експорт System (помилки)..." -ForegroundColor Yellow
Get-WinEvent -FilterHashtable @{
    LogName = 'System'
    Level = 1,2,3  # Critical, Error, Warning
    StartTime = $startDate
} -ErrorAction SilentlyContinue |
    Select-Object TimeCreated, LevelDisplayName, ProviderName, Id, Message |
    Export-Csv "$OutputFolder\System_Errors.csv" -NoTypeInformation -Encoding UTF8

# 2. Журнал Setup - встановлення оновлень
Write-Host "Експорт Setup..." -ForegroundColor Yellow
Get-WinEvent -LogName "Setup" -ErrorAction SilentlyContinue |
    Where-Object { $_.TimeCreated -gt $startDate } |
    Select-Object TimeCreated, LevelDisplayName, ProviderName, Id, Message |
    Export-Csv "$OutputFolder\Setup.csv" -NoTypeInformation -Encoding UTF8

# 3. Windows Update Client
Write-Host "Експорт Windows Update Client..." -ForegroundColor Yellow
Get-WinEvent -LogName "Microsoft-Windows-WindowsUpdateClient/Operational" -ErrorAction SilentlyContinue |
    Where-Object { $_.TimeCreated -gt $startDate } |
    Select-Object TimeCreated, LevelDisplayName, Id, Message |
    Export-Csv "$OutputFolder\WindowsUpdate.csv" -NoTypeInformation -Encoding UTF8

# 4. BSOD та системні збої
Write-Host "Експорт інформації про системні збої..." -ForegroundColor Yellow
Get-WinEvent -FilterHashtable @{
    LogName = 'System'
    ProviderName = 'Microsoft-Windows-WER-SystemErrorReporting'
    StartTime = $startDate
} -ErrorAction SilentlyContinue |
    Select-Object TimeCreated, Message |
    Export-Csv "$OutputFolder\BSOD_Crashes.csv" -NoTypeInformation -Encoding UTF8

# 5. Збір додаткової інформації
Write-Host "Збір системної інформації..." -ForegroundColor Yellow
systeminfo > "$OutputFolder\SystemInfo.txt" 2>&1

# 6. Список встановлених оновлень
Write-Host "Експорт списку оновлень..." -ForegroundColor Yellow
Get-HotFix | Sort-Object InstalledOn -Descending |
    Export-Csv "$OutputFolder\InstalledUpdates.csv" -NoTypeInformation -Encoding UTF8

# 7. Журнал CBS (Component Based Servicing)
Write-Host "Копіювання журналу CBS..." -ForegroundColor Yellow
if (Test-Path "C:\Windows\Logs\CBS\CBS.log") {
    Copy-Item "C:\Windows\Logs\CBS\CBS.log" "$OutputFolder\CBS.log"
}

# 8. Журнал DISM
Write-Host "Копіювання журналу DISM..." -ForegroundColor Yellow
if (Test-Path "C:\Windows\Logs\DISM\dism.log") {
    Copy-Item "C:\Windows\Logs\DISM\dism.log" "$OutputFolder\DISM.log"
}

# Створити архів
Write-Host "`nСтворення архіву..." -ForegroundColor Yellow
$archivePath = "$OutputFolder.zip"
Compress-Archive -Path "$OutputFolder\*" -DestinationPath $archivePath -Force
Write-Host "Архів створено: $archivePath" -ForegroundColor Green
Write-Host "Розмір: $([math]::Round((Get-Item $archivePath).Length / 1KB, 1)) КБ" -ForegroundColor Green

Write-Host "`nГотово! Передайте файл $archivePath для аналізу." -ForegroundColor Cyan

Поширені помилки Windows Update та їх вирішення

Окрім проблем, специфічних для конкретних оновлень, існують типові помилки Windows Update, з якими IT-підтримка стикається регулярно. Нижче наведено довідник найпоширеніших кодів помилок та способів їх вирішення.

Код помилки Опис Рішення
0x80070002 Файл не знайдено (пошкодження кешу оновлень) Очистіть папку SoftwareDistribution та перезапустіть службу wuauserv
0x80073712 Пошкодження сховища компонентів Виконайте DISM RestoreHealth, потім SFC /scannow
0x800f0922 Недостатньо місця на розділі System Reserved або помилка VPN Розширте розділ System Reserved або від'єднайтесь від VPN перед оновленням
0x80240034 Помилка завантаження оновлення Скиньте компоненти Windows Update та спробуйте повторно
0x80070005 Доступ заборонено Перевірте дозволи служб Windows Update та права облікового запису SYSTEM
0xc1900223 Помилка завантаження оновлення функцій Очистіть кеш оновлень, перевірте підключення до Інтернету, спробуйте Media Creation Tool
0x80080005 Помилка служби фонового інтелектуального передавання (BITS) Перезапустіть службу BITS: net stop bits && net start bits
0x800f0825 Пакет не застосовний до цього образу Перевірте версію та архітектуру Windows, спробуйте DISM RestoreHealth

Для будь-якого невідомого коду помилки використовуйте наступну процедуру:

  1. Знайдіть код помилки в документації Microsoft за адресою https://learn.microsoft.com
  2. Перевірте журнал C:\Windows\Logs\CBS\CBS.log для детальної інформації
  3. Виконайте стандартну процедуру: DISM RestoreHealth > SFC /scannow > скидання компонентів Windows Update
  4. Якщо проблема залишається — ескалюйте з доданими журналами подій

Особливості роботи з Windows 11 24H2

Версія Windows 11 24H2, що стала основною версією для більшості організацій у 2025-2026 роках, має кілька особливостей, які IT-підтримка повинна враховувати при роботі з оновленнями.

Checkpoint Cumulative Updates

Починаючи з Windows 11 24H2, Microsoft впровадила Checkpoint Cumulative Updates — новий підхід до кумулятивних оновлень, де замість одного великого пакета оновлення базується на контрольних точках. Це означає, що оновлення можуть мати залежності від попередніх контрольних точок, і їхнє встановлення вимагає наявності цих точок у системі.

Практичне значення для IT-підтримки:

  • Видалення оновлення може відкотити систему тільки до найближчої контрольної точки, а не до попереднього стану
  • Ручне встановлення оновлень з Microsoft Update Catalog може вимагати попередньої інсталяції контрольної точки
  • При усуненні несправностей враховуйте ланцюжок залежностей між оновленнями

Зміни у механізмі відкату WinRE

У Windows 11 24H2 Microsoft автоматично оновлює середовище відновлення WinRE через Windows Update. Це означає, що проблемне оновлення може зачепити і WinRE, ускладнюючи відновлення (досить іронічно, якщо подумати). Рекомендується періодично перевіряти стан WinRE:

:: Перевірка статусу WinRE
reagentc /info

:: Вимкнення та повторне увімкнення WinRE (при проблемах)
reagentc /disable
reagentc /enable

:: Перевірка версії WinRE
DISM /Online /Get-OSUninstallWindow

Висновок: підсумковий чек-лист для IT-підтримки

Ну що ж, проблеми з оновленнями Windows 11 будуть залишатися актуальним викликом для IT-підтримки протягом усього життєвого циклу цієї операційної системи. Ключ до ефективного вирішення цих проблем — це системний підхід, актуальні знання та проактивна стратегія управління оновленнями.

Нижче наведено підсумковий чек-лист, який рекомендується використовувати при роботі з проблемами оновлень.

Чек-лист при отриманні звернення

  1. Зберіть інформацію: версію Windows, встановлені оновлення, опис проблеми, модель пристрою
  2. Перевірте Release Health Dashboard: чи є проблема серед відомих, чи існує патч або обхідне рішення
  3. Категоризуйте проблему: визначте пріоритет (P1-P4) та відповідну стратегію вирішення
  4. Виконайте базову діагностику: DISM CheckHealth, SFC, перевірка журналів подій
  5. Застосуйте рішення: обхідне рішення, патч, відкат оновлення або ескалація
  6. Задокументуйте: занесіть усю інформацію в систему тікетів для майбутнього використання
  7. Проконтролюйте: зв'яжіться з користувачем для підтвердження вирішення проблеми

Чек-лист проактивних заходів

  1. Налаштуйте кільця оновлення: WSUS/Intune з затримками для різних груп пристроїв
  2. Увімкніть автоматичне створення точок відновлення перед оновленнями
  3. Моніторте Release Health Dashboard щодня, особливо після Patch Tuesday
  4. Тестуйте оновлення на пілотній групі перед масовим розгортанням
  5. Зберігайте резервні копії драйверів та тримайте їх актуальними
  6. Підготуйте інсталяційний носій Windows 11 для відновлення в критичних ситуаціях
  7. Навчайте команду: проводьте регулярні тренінги з нових проблем та методів їх вирішення
  8. Автоматизуйте діагностику: використовуйте PowerShell-скрипти для прискорення збору інформації

Корисні ресурси для IT-підтримки

  • Windows Release Health Dashboard: https://learn.microsoft.com/en-us/windows/release-health/
  • Microsoft Update Catalog: https://www.catalog.update.microsoft.com/
  • Microsoft Support and Recovery Assistant: https://aka.ms/SaRA-Internet
  • Windows IT Pro Blog: https://techcommunity.microsoft.com/t5/windows-it-pro-blog/bg-p/Windows10Blog
  • Known Issue Rollback (KIR): https://learn.microsoft.com/en-us/windows/deployment/update/known-issue-rollback

Пам'ятайте: кожне проблемне оновлення — це можливість покращити процеси управління оновленнями у вашій організації. Використовуйте кожен інцидент як урок для вдосконалення проактивних заходів, і з часом вплив проблемних оновлень на вашу інфраструктуру буде мінімальним. За мій досвід роботи в IT-підтримці, організації, які вкладають час у налагодження процесів тестування та поетапного розгортання оновлень, зазнають значно менше проблем у довгостроковій перспективі.

Про Автора Editorial Team

Our team of expert writers and editors.