Категории: ДрайверыОСи

Утилиты для подготовки образа ОС к развертыванию

Если вы системный администратор, то перед вами обязательно встанет вопрос массового развертывания операционной системы на компьютеры пользователей. И каким бы способов вы его не развертывали — с USB, через WDS сервер с MDT, с помощью SCCM, — в любом случае вы будете использовать WIM файл с образом операционной системы.

Обзор способов разветывания ОС

  1. Установка с загрузочного USB накопителя. На нем в корне диска должен располагаться файл ответов autounattend.xml. Это файл вы создаете заранее с помощью Windows System Image Manager (SIM), который входит в комплект пакет Windows ADK. Обратите внимание, для всех билдов Windows 10 версия ADK своя. Скачать её можно с сайта Microsoft. Сам файл образа ОС с расширением WIM или ESD, лежит в папке sources вашего USB. Образ вы можете взять оригинальный MSDN, скопировать откуда-то или подготовить свой. Драйвера вам необходимо заранее интегрировать в WIM файл или положены в подпапку $OEM$, а путь к ней указан в файле autounattend.xml.
    Такой способ подходит для одиночных установок без возможности глубокой кастомизации под разные задачи, разных пользователей или разное железо.
  2. Развертывание с помощью MDT c USB накопителя. В этом случае, сам загрузочный диск вы готовите с помощью MDT (Microsoft Deployment Toolkit). Пакет MDT вы бесплатно скачиваете с сайта Microsoft (опять же, разные версии MDT поддерживают разные версии развертываемых ОС). Для работы MDT также требуется  правильная версия ADK. Последняя на данный момент MDT 8450 сейчас поддерживает только Windows 10 1709 и старее. В среде MDT вы подготавливаете Task Sequence, добавляете пакеты, драйверы и WIM файл операционной системы. Далее вы создаете загрузочную media, которая будет включать все выше перечисленное и копируете её на USB. Тонкость заключается в том, что здесь кастомизацию образа вы делаете или заранее модифицируя WIM файл, или редактируя файл unattend.xml, относящийся к созданному вами Task Sequence в MDT, который будет автоматически включен в media, или же пишете скрипты, которые добавляете в пакеты и включаете в ход установки как шаг Task Sequence.
    При создании media MDT вам создат boot.wim загрузочный файл, который и будет исполняться при загрузке с флэшки. Он загрузит вам среду Windows PE, из под которой начнется установка.
    Очень гибкий способ, который позволяет включить любые драйвера и установить любой софт по время установки ОС.
  3. Развертывание с помощью MDT и WDS сервера. Отличие этого способа заключается лишь в том, что boot.wim, созданный в MDT, будет располагаться не на USB, в сети на WDS сервере, откуда можно выполнить загрузка по PXE.
  4. Развертывание с помощью SCCM и WDS сервера. Загрузка клиента выполняется как в варианте 3, но отличие заключается в том, что все WIM файлы, драйверы и пакеты, а также сам Task Sequence с файлом unattend.xml будет созданы и запускаться с SCCM сервера, а не с MDT. Загрузочный boot.wim образ также будет создан с помощью SCCM.
    Такой вариант подходит для самых сложных развертываний с большим числом распределенных установок.

Обратите внимание также, что файл ответов unattend.xml можно включить и в сам WIM образ, положив его в папку %WINDIR%\Panther\Unattend, но для MDT и SCCM все равно потребуется отдельный внешний файл для исполнения Task Sequence.

Как я уже указал, файлы unattend.xml или autounattend.xml можно редактировать вручную в редакторе, но правильнее и безопаснее делать это через SIM. Сам же файл образа операционной системы WIM создается и редактируется с помощью консольной утилиты DISM, имеющей множество ключей. Более того, этой же утилитой выполняется и развертывание (применение, apply) WIM файла на диск.

Утилита DISM входит в пакет ADK, важно пользоваться той версией утилиты, которая поддерживает разворачиваемую ОС.

Захват образа и создание WIM

Для того, чтобы создать WIM файл, необходимо выполнить операции Sysprep and Capture. Для этого устанавливаете систему на компьютер, настраиваете как вам угодно, устанавливаете или удаляете приложения, ставите обновления. Также для успешного sysprep в Windows 10 необходимо сделать чистку системы и удалить некоторые запровиженные Modern App приложения от HP и Canon, иначе sysprep завалится. Это можно сделать командами Powershell:

Get-AppxPackage *hp* -AllUsers | Remove-AppxPackage
Get-AppxPackage *canon* -AllUsers | Remove-AppxPackage

Задача Sysprep заключается в том, что система очищается от пользовательских данные и профилей, удаляются SID системы и пользователя, для этого, чтобы этот имидж можно было использовать на других компьютерах. Чтобы запустить sysprep вручную, необходимо перейти в папку C:\Windows\System32\sysprep и запустить команду:

Sysprep.exe /generalize /shutdown /oobe

При этом система перейдет в OOBE режим (Out-Of-Box Experience, как будто она только устанавливается с нуля), а затем компьютер выключится. Больше про эту процедуру можно почитать в документации Microsoft.

Теперь образ диска можно захватывать. Захват диска выполняется уже упомянутой утилитой DISM.

Если выполнять захват вручную, то для этого нужно загрузиться в среду Windows PE с USB или по сети, или же подключить диск к другому компьютеру. В составе Windows PE уже должна быть утилита dism. Захват образа выполняется командой (при условии, что вы захватываете диск C:):

Dism /Capture-Image /ImageFile:D:\my-windows-partition.wim /CaptureDir:C:\ /Name:"My Windows partition"

Больше об этой процедуре почитайте в официальной документации.

Один файл WIM может содержать несколько образов ОС, вы можете добавлять новый захваченный диск в уже существующий образ. Это удобно тогда, когда вам требуется с одного WIM файла развертывать разные системы (например с разным набором программ). Вы можете редактировать свойства wim файла, название образов в нем.

Каждый образ в файле имеет индекс, начинающийся с 1. Соответственно, когда вы будете применять образ на чистый диск, то вам надо будет указать индекс системы:

Dism /apply-image /imagefile:N:\Images\my-windows-partition.wim /index:1 /ApplyDir:C:\

Хочу отметить, что если вы просто примените образ на диск, то система не будет загружаться. Вам предварительно необходимо создать системные разделы на диске (партиции) командой diskpart, а команда

bcdboot C:\Windows

вам создаст BCD-загрузчик на диске с операционной системой. Помимо этого вам нужно будет сделать раздел Recovery. Для быстроты приведу пример типового bat-скрипта, который выполняет все эти операции из документации Microsoft.

На самом деле все это не цель нашей статьи, а скорее обзор, позволяющий понять, какими утилитами и в каком случае необходимо пользоваться. Ведь синтаксис всех команд хорошо расписан в документации. Кроме того, процедуру как sysprep /capture, так и развертывания образа на диск с предварительным форматированием проще выполнить через MDT, создав в нем соответствующие  Task Sequence, однако MDT требует навыков, для разовых задач проще все сделать вручную.

Утилиты для работы с образами WIM

Все утилиты в данном списке будут графическими заменами для консольной DISM.

GImageX

Это прекрасная утилита, написанная на языке скриптов AutoIt, экономит массу вашего времени, выполняя:

  • захвата диска в образ (capture)
  • применения образа на диск (apply)
  • показывает информацию из готового wim образа
  • позволяет смонтировать образ в папку, отредактировать его содержимое и размонтировать обратно (mount and unmount)
  • выгрузки отдельного образа из файла wim с несколькими образами
  • редактирования имени и описания образов в wim файле

Текущая версия 2.2.0 совместима вплоть до Windows 10 build 1803. Все операции выполняются в один клик. Установка не требуется. Вариант использования: захват другого раздела на вашем диске или на подключенном диске, а также редактирование имеющегося wim файла. Работа в Windows PE не подразумевается.

 

 

DISM.GUI

Эта утилита написана на Powershell, но предназначена немного для других операций, а именно для обслуживания и редактирования имеющегося WIM. Все закладки расположены в порядке их использования: сначала вы монтируете образ в папку, а затем его редактируете или сохраняете изменения.

Утилита позволяет:

  • интегрировать драйвера в образ (drivers)
  • добавлять пакеты (cab packages) и включать/выключать функции (features)
  • Приписывать лицензионную информацию и ключ
  • применять готовый Unattend.xml
  • получать список приложений (applications) и патчей (patches) в образе
  • захватывать и применять образ

DISM++

Третья утилита предназначена для подготовки системы к захвату. Она позволяет очень гранулированно вырезать или добавить из нее все, что захотите:

  • очистка кэшей, журналов, Appx (Modern приложения), временных файлов
  • управление установленными Appx-приложениями — позволяет удалить Modern Apps, что раньше можно было сделать только через Powershell.
  • оптимизация и кастомизация меню, значков
  • добавление и удаление драйверов
  • добавление и удаление компонентов Windows
  • добавление и удаление возможностей Windows (Features on Demand)
  • добавление и удаление обновлений
  • настройка ассоциаций файлов
  • Редактирование файла ответов Unattend.xml

[Посещений: 11 502, из них сегодня: 2]

Свежие посты

Процессы зомби, демоны и сироты в Linux

Процессы и программы Программа в Unix — это последовательность исполняемых инструкций на диске. Вы можете…

12 октября 2024

Изучаем сертификаты, приватные ключи и keystore

Существует большое разнообразие форматов, в которых создаются сертификаты и приватные ключи для них. Часто они…

20 июля 2024

Восстановление доступа к Docker Hub

Все известно, что Докерхаб закрыл доступ для пользователей из санкционных стран, включая РФ и РБ.…

30 мая 2024

Как посмотреть сертификат хоста через командную строку

Зачастую бывает необходимо проверить, а какой SSL сертификат отдает тот или иной хост на определенном…

21 февраля 2024

Использование choco через прокси

Choco - лучший пакетный менеджер для Windows. Чтобы использовать его в корпоративной среде за прокси,…

21 февраля 2024

Обзор SSD диска XrayDisk

В России становится все больше малоизвестных китайских товаров, поэтому сегодня у нас на обзоре китайский…

3 декабря 2023