Інтеграція оновлень в інсталяційний образ Windows 10

У цій інструкції ми покажемо, як інтегрувати нові пакети оновлень системи в інсталяційний офлайн образ Windows 10 / Windows 8.1 за допомогою вбудованих засобів системи. Аналогічним чином ви можете додати останні оновлення безпеки в дистрибутив Windows Server 2012 R2 / 2016.

У цьому прикладі ми покажемо процес додавання останніх кумулятивних оновлень безпеки (від грудня 2018 року) до інсталяційний образ Windows 10 1803. Отже, нам знадобляться:

  • Установчий образ Windows 10 в ISO форматі або його WIM файл;
  • Оновлення в форматі .msu, які потрібно завантажити з сервера оновлень Microsoft (як вручну завантажити msu файли оновлень).
Важливо переконатися, що розрядності і версії вашого дистрибутива Windows і викачаних оновлень збігаються, інакше при установці оновлення з'явиться: Помилка оновлення не застосовується до вашого комп'ютера.

На вашому комп'ютері створіть наступну структуру каталогів:

  • C: \ Updates\ mnt - папка, в яку потрібно змонтувати файл install.wim містить інсталяційний чином Windows;
  • C: \ Updates\ msu -  каталог, в який потрібно помістити поновлення для вашої версії Windows в форматі MSU (в цьому прикладі ми завантажили 2 оновлення безпеки для Windows 10 1803, що вийшли в грудні 2018 у рамках Patch Tuesday - KB4471331 і KB4471324);
  • C: \ Updates\ Win10Image \ - в цей каталог потрібно скопіювати файл install.wim з вашого інсталяційного образу Windows 10. У цьому прикладі ми змонтували і розпакували в нього вміст iso образу оригінального дистрибутива Windows10x64-1803.iso. Однак це може бути і wim файл з віртуальної машини, її шаблону, способу WDS або образу, що зберігається в іншій системі автоматичного розгортання ОС (наприклад, SCCM) і т.д. Якщо у вашому ISO образі Windows 10 є тільки файл c: \ sources \ install.esd, ви зможете конвертувати файл ESD в формат WIM за допомогою утиліти DISM: dism / export-image /SourceImageFile:"C:\updates\Win10Image\install.esd "/ SourceIndex: 4 /DestinationImageFile:C:\updates\Win10Image\win10pro.wim / Compress: max / CheckIntegrity 

Змонтуйте файл c інсталяційний чином Windows 10 (install.wim) в каталог C: \ updates \ mnt, виконавши в командному рядку з правами адміністратора команду:

dism / mount-wim /wimfile:C:\updates\Win10Image\install.wim / index: 1 / mountdir: C: \ updates \ mnt

Порада. Якщо wim образ містить відразу кілька версій Windows, в цій команді потрібно вказати індекс потрібної версії ОС, або виконати інтеграцію поновлення для кожного способу по черзі. Список редакцій Windows в wim файлі можна отримати за допомогою команди:

DISM / Get-WimInfo /WimFile:C:\updates\Win10\install.wim

У нашому прикладі образ містить тільки одну редакцію ОС - версію Windows 10 Pro з індексом 1, тому в команді ми вказуємо install.wim / index: 1.

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

dism / image: C: \ updates \ mnt / add-package / packagepath: C: \ updates \ msu

Якщо система виявить невідповідний оновлення (не відповідає версія ОС, розрядність або якщо оновлення вже встановлено), воно буде пропущено, а в лог C: \ Windows \ Logs \ DISM \ dism.log буде записана відповідна інформація.

Щоб зменшити розмір образу за рахунок видалення файлів невикористовуваних оновлень (див. Статтю про очищення папки WinSxS), виконайте команду:

dism / image: C: \ updates \ mnt / Cleanup-Image / StartComponentCleanup / ResetBase / ScratchDir: C: \ Temp

Якщо у вашому розпорядженні вже є комп'ютер з аналогічною версією Windows 10, на якому вже встановлено останні оновлення безпеки, ви можете отримати всі необхідні файли оновлення безпосередньо з нього. В цьому випадку вам не потрібно вручну вибирати і завантажувати MSU файли оновлень з каталогу оновлень Microsoft в Інтернеті. Справа в тому, що Windows зберігає всі cab файли оновлень, отримані з серверів Windows Update або сервера WSUS в каталог C: \ Windows \ SoftwareDistribution \ Download.

Змонтуйте інсталяційний Wim образ Windows, який ви хочете оновити:

dism / mount-wim /wimfile:C:\updates\Win10\install.wim / index: 1 / mountdir: C: \ updates \ mnt

За допомогою наступної команди ви запустите інтеграцію в образ install.wim файлів оновлень, які вже завантажені і встановлені на іншому комп'ютері, через локальну мережу:

Start / w for / R \\ Win10x64Patched \ C $ \ Windows \ SoftwareDistribution \ Download \% f in (* .cab) do dism / image: C: \ updates \ mnt / add-package / packagepath: "% f"

У цьому прикладі Win10x64Patched - ім'я комп'ютера, на якому вже встановлено потрібні оновлення (версія і розрядність ОС повинні збігатися). Природно, що даний комп'ютер був доступний по мережі, а ваш обліковий запис повинен мати на ньому правами адміністратора. В результаті запуску команди, відкриється нове вікно, в якому можна спостерігати за процесом установки оновлень в офлайн образ Windows. DISM спробує додати в ваш WIM образ Windows кожен знайдений CAB файл на віддаленому комп'ютері.

Якщо при інтеграції оновлень в образ Windows ви зіткнулися з помилкою: "Error 0xc0000135 An error occurred while attempting to start the servicing process for the image located at C: \ Update \ mount. Fore more information, review the log file. ", Переконайтеся, що ви використовуєте останню версію DISM (наприклад, ви намагаєтеся змінити образ Windows Server 2016 з Windows 8.1. Встановіть останню доступну версію Windows Assessment and Deployment Kit (Windows ADK) для вашої ОС і запускайте DISM безпосередньо з каталогу C: \ Program Files (x86) \ Windows Kits \ 10 \ Assessment and Deployment Kit \ Deployment Tools \ amd64 \ DISM.

І останній крок - потрібно зберегти зміни і відключити змонтований образ.

dism / unmount-wim / mountdir: C: \ updates \ mnt / commit
dism / Cleanup-Wim

Залишилося скопіювати отриманий образ в install.wim в вихідний каталог / віртуальну машину або пересобрать інсталяційний iso образ, наприклад, за допомогою oscdimg), UltraISO або Dism++.

Якщо розмір отриманого install.wim файлу більше 4 Гб при установці образу Windows UEFI системі ви можете зіткнутися з помилкою "Windows can not open the required file D: \ sources \ install.wim. Error code: 0x8007000D". В цьому випадку потрібно розділити вихідний install.wim на більш маленькі файли командою

dism / split-Image /imagefile:C:\Update\Win10Image\install.wim /swmfile:C:\Update\Win10Image\install.swm / filesize: 4096

(Див. Статті Створюємо завантажувальний USB флешку для UEFI з Windows 7 і Windows Server 2016).

Після цього оригінальний install.wim можна видалити.

DISM також дозволяє керувати установкою драйверів в образ. Раніше ми розглядали як за допомогою утиліти DISM або PowerShell командлет Add-WindowsDriver інтегрувати драйвера в інсталяційний образ Windows на прикладі Windows 10 / 8.1 / Windows Server 2012 R2 / 2016 або Windows 7 (Інтеграція драйвера USB3 в дистрибутив Win7).

Тепер ви можете використовувати ваш дистрибутив з інтегрованими останніми оновленнями безпеки для установки на комп'ютери у вашій мережі. Регулярно інтегруючи останні оновлення безпеки в ваш образ Windows, що розгортається на нових комп'ютерах, ви підвищуєте рівень захищеності своєї інфраструктури від останніх вразливостей і знижуєте ризики зараження нових комп'ютерів до того моменту, коли вони почнуть оновлюватися з WSUS.