- Манипуляции с дистрибутивом ОС или как интегрировать обновления в образ системы Windows 7
- Немного истории и где хранятся сведения о процессе загрузки?
- Как выглядят «файлы ответов» и что такое wim?
- От теории к практике
- Интеграция обновлений в установочный образ Windows 10
- Интеграция обновлений и основы построения сборки Windows 7/8/8.1/10
- Для x64 системы:
- Для x86 системы:
- Как повысить уровень редакции:
Манипуляции с дистрибутивом ОС или как интегрировать обновления в образ системы Windows 7
Под манипуляцией с установочным образом Windows мы будем подразумевать добавление или удаление отдельных компонент операционной системы еще до ее инсталляции. Речь идет о том, чтобы добавить в дистрибутив (обычно файл с расширением ISO) компоненты (например, драйвера или сервис-паки) без помощи специалистов Microsoft.
Такая операция может быть осуществлена с помощью специализированного программного обеспечения. Когда и зачем это может понадобиться? В самых разных обстоятельствах и самым различным категориям пользователей Windows. В первую очередь тем, кому нужно интегрировать обновления в имеющийся у них образ Windows 7.
На модификацию образа могут сподвигнуть самые разные обстоятельства. Например:
- Вы пытаетесь инсталлировать Windows 7 на только что приобретенный ноутбук и обнаруживаете, что процесс установки завершается ошибкой с указанием на отсутствующие драйвера.
- Вы занимаетесь массовой инсталляцией ОС на множество компьютеров в организации.
- Сформировав удобную для себя рабочую среду вы хотели бы сохранить ее для дальнейшего использования и получать подходящее для себя окружение немедленно после инсталляции.
- Вы имеете дистрибутив Windows без последних пакетов обновлений и хотели бы включить их в установочный диск.
Во всех этих случаях вам было бы желательно заполучить модифицированный образ дистрибутива Windows с персонализированной конфигурацией.
Немного истории и где хранятся сведения о процессе загрузки?
С самого момента появления операционок модели NT вместе с ними начали поставляться инструменты для автоматической инсталляции системы на один или многие компьютеры. Например, Windows 2000 содержала довольно развитый инструментарий такого назначения. Те, кто устанавливал ОС с обычного инсталляционного диска вручную хорошо знают, что в процессе установки операционная система требует от пользователя дать ответы на целый ряд вопросов, касающихся места установки, типа файловой системы и некоторых других параметров. Автоматическая установка системы подразумевает что ответы на эти вопросы заранее записаны в отдельный файл, который так и называется — «файл ответов».
Если данный файл включен в состав инсталляционного образа и содержит все необходимые ответы — установка может происходить автоматически или скрывать от пользователя отдельные свои этапы. Казалось бы, какое все это имеет отношение к заявленной теме? Самое прямое.
Если добавить в дистрибутив дополнительные компоненты (драйвера, пакеты обновления и т.д.), а также сообщить установщику где эти обновления находятся и что с ними делать — можно получить образ с требуемыми характеристиками. Т.е. интегрировать обновления прямо в инсталлятор Windows.
Как выглядят «файлы ответов» и что такое wim?
В современных дистрибутивах Windows 7 (изготовленных в виде iso-образа) файл ответов представляет собой обычный xml-документ под названием autounattend.xml, располагаемый в корне файловой иерархии образа. Сам же инсталляционный пакет представлен двумя файлами с расширением wim — boot.wim и install.wim. первый отвечает за начальную загрузку, а второй — содержит собственно инсталлируемую систему. Wim-файлы являются по сути контейнерами для других файлов входящих в образ операционной системы. Поэтому в них можно добавлять или удалять от дельные компоненты, тем самым формируя экземпляр Windows c необходимым внутренним наполнением.
Дальнейшая работа по модификации системы выглядит следующим образом:
- ISO-шник с Windows распаковывается подходящим архиватором в отдельную папку.
- К нему добавляются необходимые компоненты и обновления.
- Нюансы инсталляции данных обновлений прописываются в «файл ответов»
- Все это запаковывается обратно в iso-шник, готовый к использованию.
В итоге получается готовый инсталлятор с нужными обновлениями. Следует иметь в виду что в общем случае такого рода интеграция требует определенных, иногда не малых, познаний. Файл ответов может быть сформирован и автоматически в процессе инсталляции системы — но это не наш случай т.к. мы хотим добиться не просто автоматической установки, а получить дистрибутив с обновлениями.
От теории к практике
Некоторые пользователи Windows 7 столкнулись с такой примерно ситуацией (она очень напоминает историю с невозможностью инсталлировать «семерку» на новый ноутбук): после очередного автоматического обновления и перезагрузки компьютера — система отказывается запускаться в новой конфигурации и просто зависает на стадии запуска. Одно из решений данной проблемы — скачать пакет обновлений из Сети и интегрировать его непосредственно в образ ОС. Не нужно заранее пугаться — создавать и редактировать «файлы ответов» для этой цели не потребуется. В данном случае все оказывается значительно проще, хотя и происходит все по описанной выше схеме.
Что нам потребуется? Во-первых, — хорошая программа для работы с образами дисков, наподобие широко распространенной бесплатной утилиты «Ultraiso». А, во-вторых, — немного смекалки и аккуратности. Дальше приводим пошаговую инструкцию:
- Открываем образ в ultraiso.
- Создаем отдельную папку.
- Укладываем туда install.wim из iso-файла. Искать его следует в папке /source.
- Укладываем туда же файл с сервис-паком.
- Открываем окно командной строки и вводим команду просмотра всех редакций Windows интегрированных в наш образ (их обычно несколько). Команда выглядит так:
Dism /Get-WimInfo /WimFile: …\install.wim (вместо трех точек пишем путь к install.wim)
А затем закатываем сервис-пак в одну или все редакции сразу. Чтобы интегрировать во все редакции, в том же командном окне наберите что-то вроде:
…\UpdatePack7R2.exe /WimFile=…\install.wim /Index=*
В процессе модификации система будет выдавать окна с сообщениями.
Новый install.wim переносим в iso-шник на место старого.
Вот и вся премудрость интеграции пакетов в образ.
Интеграция обновлений в установочный образ Windows 10
В этой инструкции мы покажем, как интегрировать новые пакеты обновлений системы в установочный офлайн образ Windows 10 / Windows 8.1 с помощью встроенных средств системы. Аналогичным образом вы можете добавить последние обновления безопасности в дистрибутив Windows Server 2012 R2 / 2016.
В этом примере мы покажем процесс добавления последних кумулятивных обновлений безопасности (от декабря 2018 года) в установочный образ Windows 10 1803. Итак, нам понадобятся:
- Установочный образ Windows 10 в ISO формате или его WIM файл;
- Обновления в формате .msu, которые нужно скачать с сервера обновлений Microsoft (как вручную скачать msu файлы обновлений).
На вашем компьютере создайте следующую структуру каталогов:
- 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) и т.д.
Смонтируйте файл c установочным образом Windows 10 (install.wim) в каталог C:\updates\mnt , выполнив в командной строке с правами администратора команду:
dism /mount-wim /wimfile:C:\updates\Win10Image\install.wim /index:1 /mountdir:C:\updates\mnt
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 файл на удаленном компьютере.
И последний шаг – нужно сохранить изменения и отключить смонтированный образ.
dism /unmount-wim /mountdir:C:\updates\mnt /commit
dism /Cleanup-Wim
Осталось скопировать полученный образ в install.wim в исходный каталог/виртуальную машину или пересобрать установочный iso образ, например, с помощью oscdimg), UltraISO или Dism++.
Если размер полученного install.wim файла более 4 Гб при установке образа Windows UEFI системе вы можете столкнуться с ошибкой «Windows cannot 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
После этого оригинальный install.wim можно удалить.
Теперь вы можете использовать ваш дистрибутив с интегрированными последними обновлениями безопасности для установки на компьютеры в вашей сети. Регулярно интегрируя последние обновления безопасности в ваш образ Windows, разворачиваемый на новых компьютерах, вы повышаете уровень защищенности своей инфраструктуры от последних уязвимостей и снижаете риски заражения новых компьютеров до того момента, когда они начнут обновляться со WSUS.
Интеграция обновлений и основы построения сборки Windows 7/8/8.1/10
Спойлер открытым Загружаемые картинки
|
Для x64 системы:
Для x86 системы:
dp0mnt\Windows\winsxs\Backup» /E /G Администраторы:F
rmdir /s /q «%
dp0mnt\Windows\winsxs\ManifestCache» /E /G Администраторы:F
rmdir /s /q «%
dp0win8_64\install.wim» /index:1 /mountdir:%
dp0mnt3 /add-package /packagepath:%
dp0msu\win8\x64
dism /unmount-wim /mountdir:%
dp0mnt3 /commit
dism /mount-wim /wimfile:»%
dp0win8_64\install.wim» /index:2 /mountdir:%
dp0mnt3 /add-package /packagepath:%
dp0msu\win8\x64
dism /unmount-wim /mountdir:%
dp0mnt3 /commit
dism /mount-wim /wimfile:»%
dp0win8_64\install.wim» /index:3 /mountdir:%
dp0mnt3 /add-package /packagepath:%
dp0msu\win8\x64
dism /unmount-wim /mountdir:%
dp0mnt3 /commit
dism /mount-wim /wimfile:»%
dp0win8_64\install.wim» /index:5 /mountdir:%
dp0mnt3 /add-package /packagepath:%
dp0msu\win8\x64
dism /unmount-wim /mountdir:%
dp0mnt3 /commit
pause
dp0win8_64\install.wim» /index:1 /mountdir:%
dp0mnt3 /add-package /packagepath:%
dp0msu\win8\ x86
dism /unmount-wim /mountdir:%
dp0mnt3 /commit
dism /mount-wim /wimfile:»%
dp0win8_64\install.wim» /index:2 /mountdir:%
dp0mnt3 /add-package /packagepath:%
dp0msu\win8\ x64
dism /unmount-wim /mountdir:%
dp0mnt3 /commit
pause
dp0win8_64\install.wim» /SourceIndex:1 /DestinationImageFile:»%
dp0win8_64\install.wim» /SourceIndex:1 /DestinationImageFile:»%
dp0win8_64\install_4in_with_up.esd» /Compress:recovery
dism /Export-Image /SourceImageFile:»%
dp0win8_64\install.wim» /SourceIndex:2 /DestinationImageFile:»%
dp0win8_64\install_4in_with_up.esd» /Compress:recovery
dism /Export-Image /SourceImageFile:»%
dp0win8_64\install.wim» /SourceIndex:3 /DestinationImageFile:»%
dp0win8_64\install_4in_with_up.esd» /Compress:recovery
dism /Export-Image /SourceImageFile:»%
dp0win8_64\install.wim» /SourceIndex:5 /DestinationImageFile:»%
dp0win8_64\install.wim» /index:1 /mountdir:%
dp0mnt3 /add-package /packagepath:%
dp0msu\win8\x64
dism /unmount-wim /mountdir:%
dp0mnt3 /commit
dism /mount-wim /wimfile:»%
dp0win8_64\install.wim» /index:2 /mountdir:%
dp0mnt3 /add-package /packagepath:%
dp0msu\win8\x64
dism /unmount-wim /mountdir:%
dp0mnt3 /commit
dism /mount-wim /wimfile:»%
dp0win8_64\install.wim» /index:3 /mountdir:%
dp0mnt3 /add-package /packagepath:%
dp0msu\win8\x64
dism /unmount-wim /mountdir:%
dp0mnt3 /commit
dism /mount-wim /wimfile:»%
dp0win8_64\install.wim» /index:5 /mountdir:%
dp0mnt3 /add-package /packagepath:%
dp0msu\win8\x64
dism /unmount-wim /mountdir:%
dp0mnt3 /commit
dism /Export-Image /SourceImageFile:»%
dp0win8_64\install.wim» /SourceIndex:1 /DestinationImageFile:»%
dp0win8_64\install_4in_with_up.esd» /Compress:recovery
dism /Export-Image /SourceImageFile:»%
dp0win8_64\install.wim» /SourceIndex:2 /DestinationImageFile:»%
dp0win8_64\install_4in_with_up.esd» /Compress:recovery
dism /Export-Image /SourceImageFile:»%
dp0win8_64\install.wim» /SourceIndex:3 /DestinationImageFile:»%
dp0win8_64\install_4in_with_up.esd» /Compress:recovery
dism /Export-Image /SourceImageFile:»%
dp0win8_64\install.wim» /SourceIndex:5 /DestinationImageFile:»%
dpwin8_064\install_4in_with_up.esd» /Compress:recovery
pause
Как повысить уровень редакции:
dp0mnt /set-edition:Professional
dism /unmount-wim /mountdir:%
Последний раз редактировалось: Eagle123 (2017-02-10 01:16), всего редактировалось 21 раз(а)