Как интегрировать обновления в образ windows 10
В связи с тем, что обновления у некоторых сборок Windows долго не выходят, а ждать пока установится каждый раз по 70 обновлений на свеже установленной Винде моим клиентам не нравится, я решил сам интегрировать обновления в образ Windows. Далее я описываю интеграцию обновлений для "классического" способа установки Windows, хотя есть и другие более простые (например, разворачивание из заранее подготовленного образа Windows с помощью Acronis True Image).
Если вы хотите обновить Windows 7, то воспользуйтесь программой обновлялкой от Simplix - UpdatePack7R2 . Инструкции по ней есть там же. Если же Вам мало обновлений из набора UpdatePack7R2, и вы хотите добавить более свежие, или вы хотите добавить обновления в Windows 8.1, то вот
Первый способ через режим аудита:
Этот способ хорош тем, что можно прямо изнутри установленной операционной системы почистить ее от старых резервных файлов и заменяющих друг друга обновлений (она же чистка папки WinSxS), что не всегда получается сделать в смонтированном в папку автономном образе install.wim. А также можно установить такие обновления, которые ставятся только с помощью Центра Обновления. Плюс можно добавить свои программы/твики, которые уже будут установлены сразу вместе с Windows.
1) Устанавливаете Windows, который надо обновить, заходите в Центр обновления Windows и обновляетесь как обычно (драйвера устанавливать не надо);
2) выполните ниже представленную команду и перезагрузите компьютер. Компьютер перейдет в учетную запись Администратора в режиме аудита;
3) заходите в Пуск -> Панель управления ->Учетные записи и Семейная безопасность -> Удаление учетных записей пользователей -> Выбираете ранее созданную учетную запись и удаляете ее вместе сов семи ее файлами. Нажимаете "Пуск", пишите "профи" и открываете "Управление профилями пользователей" - если там есть ранее созданная учетная запись, то ее надо удалить в том же окне. Если есть пользователь UpdatusUser, значит вы установили вместе с обновлениями драйвера на видеокарту NVidia - удалите драйвера на видеокарту через "установка и удаление программ" и перезагрузите компьютер (компьютер опять загрузится в учетной записи Администратора в режиме аудита);
4) желательно почистить компьютер утилитой "CCleaner";
5) если необходимо, то можно тут же в режиме аудита понаустанавливать различных программ/твиков, тогда в последующем, при развертывании этого образа install.wim/esd, все ваши изменения тоже будут применены;
6) чистим компьютер от старых версий обновлений и их резервных копий и другого мусора командой:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
В Windows 7 такая команда не работает, для чистки нажимаем кнопку "Пуск" и пишем там "Очистка", выбираем "Очистка диска", выделяем все галочки, жмем "ОК". После очистки еще раз запускаем "Очистка диска" и теперь нажимаем кнопку "Посмотреть файлы", затем ставим там все галочки и жмем "Ок".
После очистки (через консоль или утилиту "Очистка диска") перезагружаем ПК, чтобы все изменения после очистки применились.
7) "запечатываем" Windows, обобщив все настройки в стандартный профиль по умолчанию командой, после которой компьютер должен отключиться без ошибок. Если будут ошибки, то нужно смотреть логи в файле C:\Windows\System32\Sysprep\Panther\setuperr.log и setupact.log:
а) если вы не делали индивидуальных изменений в профиле пользователя и не хотите, чтобы все ваши настройки "перекачивали" в профиль по умолчанию (ярлыки на рабочем столе, какие-то твики или настройки программ, которые действуют только для текущего пользователя и т.п., а если создать нового, то их не будет)
%SystemRoot%\system32\sysprep\sysprep.exe /generalize /oobe /shutdown
Для x64 системы:
Для x86 системы:
8) загружаемся в любой WinPE, лучше на основе Windows 8 или 10, находим наш диск с файлами Windows, удаляем в нем папки:"Windows\winsxs\Backup" и "Windows\winsxs\ManifestCache" в свойствах назначив себя сначала владельцем папок и подпапок, затем выдав себе права на редактирование этих папок. Удаление этих папок, возможно, спорный вопрос, худшее что может случиться, имхо, вы не сможете откатить некоторые версии файлов на более ранние - раньше, чем была произведена установка Windows, но удаление этих папок сокращает итоговый размер конечного файла install.wim на 200-600Мб. Можно сделать это через командную строку (стать владельцем, назначить права и удалить папку): В коде используются русские буквы, поэтому, если будем выполнять этот код через командный файл "*.cmd", то чтобы командная строка их распознала, не забываем сохранить код в "OEM 866" кодировке - это умеет делать текстовый редактор notepad++ или akelpad и другие.
После дополнительной ручной чистки, захватываем наш диск с Windows C:\ (посмотрите какая буква у вашего диска с обновленным Windows) в файл install.wim на диск D:\ нижеприведенной командой (буквы дисков даны для примера, у вас будут другие буквы дисков). Задавайте буквы дисков заглавными буквами. После чего на диске D:\ появится файл install.wim. Можете изменить параметр /Name на название своей редакции: 9) теперь можно нормально выключить WinPE (через "Пуск", по другому не советую) и загрузиться в обычном Windows. Запускаете программу 78Repack, выбираете из вашего исходного образа Windows sources\install.wim или install.esd и смотрите информацию (Info) о нем. Обратите внимание на параметр "Flags", его значение потребуется в следующем пункте. А также посмотрите есть ли вообще Info в новом обновленном install.wim - если нет, то возможно вы в 8 пункте задали буквы дисков не заглавными буквами или выключили WinPE не через Пуск -> выключение. Начните заново с 8 пункта, т.к. у нового install.wim должно быть Info;
10) скачиваете программу "Imagex" и выполняете команду (необходимо указать полный путь до файла imagex.exe): Где параметр /flags берем в 8 пункте, /info - путь до обновленного install.wim, далее заполняется 2 раза указывается название редакции Windows;
11) скачиваете "Gimagex", переходите во вкладку "Правка", указываете путь к обновленному wim-файлу, а также "Выводимое имя" и "Описание вывода" можно и желательно на русском языке (например: "Windows 8.1 Профессиональная" и еще раз "Windows 8.1 Профессиональная" - это название будет отображаться в списке выбора редакции при установке Windows) и нажимаете кнопку "Изменить";
12) производите "очистку" обновленного wim-а от старых файлов для уменьшения его размера, путем экспорта в новый install2.wim командой: 13) Теперь нужно решить, что вам надо на выходе, файл install.wim или install.esd. Если второе, то можно конвертировать файл install2.wim программой 78Repack, хотя если и первое, то тоже лучше попробовать переконвертировать в wim, возможно получится более компактный образ;
14) теперь можно удалить install.wim, а новый install2.wim/esd переименовать в install.wim/esd и закинуть его обратно в образ Windows где он и был sources\install.wim. И можно проверять на работоспособность. Второй способ интегрируя пакеты обновлений прямо в архив install.wim:
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
У меня образ только из x64 систем, если у Вас мешанина и того и другого, то правильно укажите папку с msu обновлениями для каждого индекса (редакции), учитывая архитектуру (разрядность), например вот если 1 индекс это x86, а второй x64:
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
Если все хорошо и нет ошибок, количество неустановленных обновлений устраивает (должны остаться обновления для "железа" - драйвера на видеокарту, еще какие-то подобные вещи и те обновления, которые Вы не нашли в MSDN).
10) Если всё ок, то можно конвертнуть install. wim в install. esd - такой формат понимает только загрузчик из классической установки для Windows 8.1:
dp0win8_64\install.wim" /SourceIndex:1 /DestinationImageFile:"%
Эта команда возьмёт первый индекс из update_windows\win8_64\install.wim и экспортирует его в свежесозданный update_windows\win8_64\install_4in_with_up.esd (сама создаст это файл), при этом конвертирует его из ВИМ в ЕСД. Надо экспортировать соответственно не один индекс, а сколько вам требуется, допустим как я говорил, мне четвертая редакция не нужна, поэтому я конвертирую 1,2,3 и 5: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:"%
После переименуйте файл update_windows\win8_64\install_4in_with_up.esd в install.esd и замените им существующей в вашей сборке Windows.Итого, я подготовил все папки и файлы, запустил файл add_package.cmd с командами ниже и ушел "курить" на пару/тройку часов, т.к. процесс весь этот долгий даже на SSD-диске и мощном процессоре. После получил в папке файл update_windows\win8_64\install_4in_with_up.esd с 4-мя редакциями, вместо 5-ти, как было в оригинале, и теперь остается только переименовать и вернуть на прежнее место новый *.esd в сборку Windows.
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
Достаточно взять самую младшую редакцию, например "Windows 7 Начальная", сделать в ней все обновления/твики, а затем, если надо, чтобы было всего 6 редакций, то достаточно 6 раз экспортировать "Начальную" редакцию в один wim-файл, а затем повысить у пяти индексов редакцию до более высокой. Дело в том, что в более младшей редакции уже заложены все необходимые файлы и настройки, чтобы можно было "превратить" ее в последующую более высокую редакцию.
Как повысить уровень редакции:
Допустим, у нас уже есть "Windows 7 Начальная" со всеми обновлениями и твиками/программами, которая сейчас находится в файле install.wim, в котором на данный момент всего лишь один индекс. Тогда, если нам надо на выходе 6 редакций этой же разрядности , то 6 раз экспортируем в новый файл install_new.wim одну единственную редакцию из install.wim: В итоге в файле install_new.wim у нас 6 одинаковых индексов с абсолютно одинаковым содержимым. Теперь нужно повысить редакцию у индексов со 2-ого по 6-ой. Для этого нужно взять какой-нибудь образ Windows, где эти редакции уже есть и в его файле install.wim, с помощью 78Repack посмотреть информацию об этом файле. Нас интересует параметр "EditionID" или "Flag" - у каждой редакции он свой. Например, у редакции "Professional - это "Professional", у "Начальной" - "Starter", есть еще Core, CoreSingleLanguage и другие и не всегда совпадают с обычным названием редакции. Далее каждый индекс нужно смонтировать, указать в нем нужную редакцию (повысить редакцию) и отмонтировать образ, применив изменения: В коде выше мы сменили редакцию у второго индекса на "Professional", при этом все обновления, твики и программы уже оказались и в новой редакции!Тоже самое нужно сделать для остальных индексов, указав в каждом свой параметр "/set-edition:"
После всего проделанного не забываем "почистить" весь Install-new.wim путем экспортирования всех индексов в новый файл, допустим Install-new2.wim.
Все вышеописанное мы делали сначала для одной редакции (если их надо несколько, то мы делали это все в самой младшей редакции) и что важно, только для одной разрядности. К сожалению, по аналогии с редакциями, разрядности нельзя повысить/понизить или как-то конвертировать, поэтому придется взять какую-то редакцию другой разрядности и проделать все вышеописанные операции по интеграции обновлений/твиков/программ заново.
Последний раз редактировалось: Eagle123 (2017-02-10 01:16), всего редактировалось 21 раз(а)
В этот же день Windows 10 несколько раз обновлялась и затем ещё на следующий день тоже, в итоге версия ОС стала 1607 (Сборка ОС 14393.321) .
По поводу этого я и хочу задать вопрос. Каким образом мне интегрировать обновления в дистрибутив Windows 10, чтобы операционная система после своей установки уже содержала все актуальные обновления на этот день?
Интеграция обновлений в дистрибутив Windows 10
Привет друзья! Если вам часто приходится устанавливать Windows 10 на различные компьютеры, то вы можете интегрировать в дистрибутив (ISO-образ) операционной системы все обновления, вышедшие со 2 августа 2016 года. Сделать это можно при помощи утилиты Dism. Во-первых, смотрим « Управление дисками » нашего ноутбука с установленной Windows 10. Новый том (F:) является переносным жёсткий диском USB.
Создаём виртуальный диск VHD
В Управлении дисками выбираем «Действие»-->«Создать виртуальный жёсткий диск»
Отмечаем пункт «Динамический расширяемый».
Размер виртуального жёсткого диска - 20 Гб.
Жмём на кнопку «Обзор».
Выбираем в проводнике место сохранения виртуального жёсткого диска. Я выберу диск (F:).
Присваиваю имя виртуальному диску имя - «Win10» и жму кнопку «Сохранить».
Созданный виртуальный диск представляет из себя в Управлении дисками нераспределённое пространство (Диск 2) размером 20 Гб.
Щёлкаем на Диске 1 правой мышью и выбираем «Инициализировать диск»
Отмечаю пункт «Основная загрузочная запись MBR» и жму «ОК»
После инициализации диска создаём на нераспределённом пространстве простой том.
Новый том (G:) создан.
Скачиваем с официального сайта Майкрософт на Новый том (F:) свежий дистрибутив Windows 10
Заходим на виртуальный дисковод (E:) и копируем все файлы Windows 10.
Открываем Новый том (F:), создаём на нём папку, называем её « Win10 » , заходим в эту папку и вставляем все файлы Windows 10.
Для последующей работы в этой папке нам будет нужен файл-образ Windows 10 (файл - install.esd), находится он в папке «sources»
Дистрибутив Windows 10 содержит в себе несколько релизов операционной системы. Узнаём индексы всех релизов. Введём команду:
Dism /Get-WimInfo /WimFile:F:\Win10\sources\install.esd
Нам нужна Windows 10 Домашняя для одного языка, как видим, она имеет индекс 3 .
Следующей командой я разворачиваю файл install.esd на виртуальный диск VHD (раздел G:).
На диск ( G:) разворачивается Windows 10.
Dism /apply-image /imagefile: F:\Win10\sources\install.esd /index:3 /ApplyDir:G:\
Следующая команда произведёт экспорт обновлений из «Накопительного пакета обновлений KB3194798», находящегося на диске (F:) на смонтированный раздел (G:) (Windows 10) виртуального диска VHD.
Dism /image:G: /add-package / packagepath :F:\
После экспорта обновлений идём на диск (F:) и удаляем файл install.esd находящийся по адресу F:\Win10\sources\ install.esd
Теперь архивируем Windows 10 на диске (G:) в файл install.wim командой
(данной командой мы архивируем Windows 10 на диске (G:) в файл install.wim, который будет расположен по адресу F:\Win10\sources\install.wim
Файл install.wim создан и находится по адресу: F:\Win10\sources\install.wim.
Друзья, теперь нам осталось только собрать дистрибутив Windows 10 с помощью комплекта средств для развёртывания и оценки Windows ADK, но ISO-образ с операционной системой будет весить 4,5 ГБ. Если вы хотите, чтобы ISO-образ Windows 10 весил меньше - 3 ГБ, то примените к файлу install.wim сжатие (compress) recovery (конвертация в install.esd).
в результате, в расположенной по адресу F:\Win10\sources\ папке появился новый файл-образ install.esd. Теперь удаляем файл install.wim и оставляем install.esd, делаем на его основе дистрибутив Windows 10.
Независимо от того, сжимали ли вы файл install.wim в install.esd, нам осталось только скачать и установить комплект средств для развертывания и оценки Windows ADK для Windows 10 версии 1607 и создать с помощью него ISO-образ Windows 10 с интегрированными обновлениями.
Ссылка на скачивание Windows ADK
После установки открываем среду развёртывания и работы с образами,
u2, это файловая система UDF, а m - размер образа без ограничений. F :\Win10 - создать ISO-образ из файлов и папок, находящихся на разделе F : F :\Windows.iso - созданный образ разместить на разделе F :Дистрибутив Windows 10 с интегрированными последними обновлениями и названием Windows.iso, находится на диске (F:) и весит всего 3 ГБ.
Если при помощи него установить операционную систему, то после установки у неё будет версия Windows 10 1607 (Сборка ОС 14393.321).
Интеграция обновлений в дистрибутив, содержащий все основные редакции Windows 10 ( Windows 10 PRO, Windows 10 Домашняя, Windows 10 Домашняя для одного языка, Windows 10 Для образовательных учреждений)
Друзья, созданный нами дистрибутив Windows 10 со всеми последними обновлениями содержит только один релиз Win 10 (Домашняя для одного языка), так как, если помните, в начале статьи мы с вами развернули файл install.esd на виртуальный диск VHD (раздел G:) командой
(Dism /apply-image /imagefile:F:\Win10\sources\install.esd / index:3 /ApplyDir:G:\) и в этой команде мы указали index:3 ( Win 10 (Домашняя для одного языка).
Если вы хотите создать дистрибутив с четырьмя основными релизами Windows 10, то при создании архива install.wim нужно добавить параметр description. Давайте рассмотрим этот вопрос подробно на примере нашей же статьи.
Скачиваем с официального сайта Майкрософт на Новый том (F:) свежий дистрибутив Windows 10 и присоединяем его к виртуальному дисководу (в моём случае (E:).
Заходим на виртуальный дисковод (E:) и копируем все файлы Windows 10.
Открываем Новый том (F:), создаём на нём папку, называем её «Win10», заходим в эту папку и вставляем все файлы Windows 10, после этого УДАЛЯЕМ из неё install.esd.
Следующей командой я разворачиваю файл install.esd на виртуальный диск VHD (раздел G:). На диск (G:) разворачивается Windows 10PRO.
Dism /apply-image /imagefile:E:\sources\install.esd /index:1 /ApplyDir:G
(где index:1, это Windows 10 PRO
Следующая команда произведёт экспорт обновлений из «Накопительного пакета обновлений KB3194798», находящегося на диске (F:) на смонтированный раздел (G:) (Windows 10 PRO) виртуального диска VHD.
Dism /image:G: /add-package /packagepath:F:\
Теперь архивируем Windows 10 на диске (G:) в файл install.wim командой
Dism /capture-image /imagefile:F:\Win10\sources\install.wim /capturedir:G: /name:PRO /description:PRO
(данной командой мы архивируем Windows 10 PRO на диске (G:) в файл install.wim, который будет расположен по адресу F:\Win10\sources\install.wim, после этого форматируем раздел G: и командой
Dism /apply-image /imagefile:E:\sources\install.esd /index:2 /ApplyDir:G разворачиваем Windows 10 Home (Домашняя).
Следующая команда произведёт экспорт обновлений из «Накопительного пакета обновлений KB3194798», находящегося на диске (F:) на смонтированный раздел (G:) ( Windows 10 Home ) виртуального диска VHD.
Эта статья является логическим продолжением моей предыдущей статьи. Развивая тему добавления (установки/интеграции) пакетов обновлений в образ Windows Я решил написать скрипт оперирующий командами DISM, который автоматизирует процесс и избавляет системных администраторов от рутинных действий. Универсальность скрипта состоит в том, что с его помощью можно установить пакеты обновления на «живую» систему, либо интегрировать в образ Windows — файл install.wim. Гибкость скрипта состоит в том, что его работу можно настроить изменив значение нескольких переменных в начале всего кода.
Как и в предыдущей статье, для примера, мы будем добавлять к образу Windows так называемое Convenience rollup update (KB3125574), а также необходимое Servicing stack update (KB3177467). В ходе работы над скриптом выяснилось, что после интеграции в образ KB3177467, он (образ — install.wim), становится непригодным для дальнейших интеграций. Если устанавливать KB3177467 на «живую» ОС то проблем не возникает. У данной проблемы есть два решения: 1) интегрировать KB3177467 последним 2) заменить «проблемное» обновление его предыдущей версией — KB3020369. Я выбрал второй вариант, реализовав в скрипте ветвление по условию.
Скрипт
Файлы и папки
Использование
Как уже отмечалось, скрипт может установить обновления или интегрировать их. Если в папке запуска отсутствует файл образа — install.wim, то скрипт выполняет установку обновлений в полностью автоматическом режиме. Если в папке запуска присутствует файл образа — install.wim, то скрипт выполняет считывание из него информацию об имеющихся «индексах» и предлагает ввести номер. После этого отображается расширенная информация о выбранном «индексе» выдаётся запрос на монтирование. Нажатие любой клавиши приводит к возврату, а нажатие клавиши [m] запускает следующую цепочку действий: монтирование образа, интеграция обновлений, размонтирование образа, возврат в меню выбора «индеска». После чего можно выбрать другой «индекс» для интеграции обновлений. Выбор «индекса» под номером 0 запускает установку обновлений на «живую» ОС.
Разбор кода
:pre_menu
Предварительное меню. Получение основной информации о wim-файле с контролем ошибок. Если ошибка 2 — отсутствует wim-файл, то запуск в режиме Online. Не нашел информацию о максимальном количестве «индексов» в одном образе и установил значение 24.
:ind_menu
Индексное меню. Получение расширенной информации о выбранном «индексе» в wim-файле с контролем ошибок. Предложение смонтировать «индекс».
Определение разрядности ОС. Для интерактивного обслуживания считываются системные переменные среды, а для автономного обслуживания из образа запрашивается необходимая информация и в ней ищется ключевая строка.
Добавление пакетов. Чтобы не делать лишней работы вначале происходит запрос списка уже добавленных (установленных или интегрированных) пакетов, а потом перед каждой командой запуска осуществляется вызов псевдофункции для проверки.
:exist
Псевдофункция проверки. Работа описана в статье Проверка присутствия пакета обновления в системе перед установкой. Код слегка подправлен.
:mount
Монтирование образа. Предварительно создаётся папка монтирования. Контроль ошибок. Изменяется переменная определяющая спецификацию образа, теперь указывает на путь к автономному образу.
:unmount
Размонтирование образа. Если выполнялось интерактивное обслуживание (/Online), то размонтировать не нужно. Возвращение переменных к исходным значениям.
В данной статье рассмотрены вопросы объединения обновлений программного обеспечения для Windows, использующих средство Update.exe, с исходными установочными файлами Windows. (Под обновлениями программного обеспечения в данной статье понимаются критические обновления, пакеты дополнений, исправления, обновления безопасности, пакеты обновления, обновления и наборы обновлений.) Описанные ниже методы используются для установки обновлений в процессе установки Windows из папки, созданной администратором специально для этой цели, а также для создания установочной копии Windows, включающей требуемые обновления безопасности и защищенной от заражения вирусами на этапе установки.
Представленная методика предназначена для установки только тех обновлений, которые используют программу Update.exe. Например, некоторые обновления Internet Explorer для Windows 2000 и Windows XP устанавливаются с помощью файла INF вместо программы Update.exe, а, следовательно, не могут быть интегрированы по данной методике.
В случае интеграции обновления неправильно создаются разделы реестра Filelist, например, если интегрировать обновление безопасности 824146 в исходные установочные файлы Windows Server 2003, то неправильно будет создан следующий раздел:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows Server 2003\SP1\KB824146\Filelist
В случае интеграции для каждого обновления создается отдельная запись в составе компонента Установка и удаление программ панели управления, однако кнопка Удалить недоступна, поскольку отсутствуют файлы предыдущих версий, которые восстанавливаются при удалении обновления.
Кроме того, в случае соблюдения следующих условий администратору необходимо установить обновления для среды предварительной установки Windows:
среда предварительной установки Windows используется администратором для запуска программы установки Windows;
используется операционная система, в которую интегрированы обновления, расположенные в общей сетевой папке.
Для получения дополнительных сведений о том, как это сделать, щелкните следующий номер статьи базы знаний Майкрософт:
828217 Как установить обновление безопасности 824146 для среды предварительной установки Windows (Эта ссылка может указывать на содержимое полностью или частично на английском языке)
Указания, приведенные в данной статье, могут быть использованы для образов RISETUP служб удаленной установки (RIS), у которых структура папки I386 совпадает со структурой сетевой установочной папки. Образы RIPREP необходимо перенести на клиентский компьютер, установить обновления, а затем создать на сервере новый образ с помощью средства RIPREP.
При использовании описываемой процедуры для предотвращения заражения вирусами рекомендуется включать в установочные файлы только обновления, не требующие вмешательства со стороны пользователя. Если интегрируемые обновления не мешают завершению работы программы установки Windows, используйте раздел [guirunonce] файла Unattend.txt или выполните развертывание этих обновлений после установки Windows с помощью служб Software Update Services (SUS).
Предложенная методика предназначена только для установки нового экземпляра операционной системы и не подходит для обновления уже существующего экземпляра.
Примечание. Встраивание пакета обновления поддерживается только в Windows XP Home и Windows XP Professional. Встраивание пакета обновления не поддерживается в Windows Media Center Edition.
Дополнительная информация
В разделе «Файл Update.exe 5.4.15.0 и более поздних версий» описана процедура интеграции обновлений программного обеспечения, использующих файл Update.exe версии 5.4.15.0 или выше, а в разделе «Более ранние версии файла Update.exe» — процедура для обновлений, использующих файл Update.exe более ранних версий.
Убедиться в том, что обновление использует в качестве программы установки файл Update.exe версии 5.4.15.0 или выше, можно, выполнив следующие действия.
Извлеките обновление во временную папку. Например, чтобы извлечь файлы пакета обновления, который называется KBArticleNumber, в папку под названием ExtractedPackage на диске C, введите в командной строке следующую команду: KBArticleNumber /X:C:\ExtractedPackage
Откройте временную папку, в которую были извлечены файлы обновления (например, C:\ExtractedPackage).
Щелкните правой кнопкой мыши файл Update.exe и выберите пункт Свойства.
Сведения о версии файла содержатся на вкладке Версия. Если номер версии 5.4.15.0 или выше, значит, программа установки поддерживает рассмотренные в данной статье функции.
Программа Update.exe определяет соответствие обновления источнику установки. Например, исправление из состава пакета обновления 4 (SP4) для Windows 2000 нельзя интегрировать в исходные установочные файлы Windows 2000, которые уже содержат пакет обновления 4 (SP4). Кроме того, программа Update.exe определяет соответствие исходных файлов и аппаратной платформы. Параметр /integrate не может быть использован с уже извлеченными пакетами.
Если необходимо интегрировать обновления, которые используют в качестве программы установки файл Update.exe версии до 5.4.15.0, выполните действия 6-13; в противном случае пропустите эти действия.
Файл Update.exe 5.4.15.0 и более поздних версий
Чтобы интегрировать обновления, которые используют программу Update.exe версии 5.4.15.0 и выше, в исходные установочные файлы Windows, необходимо выполнить следующие действия.
Создайте сетевой диск, сопоставленный сетевой папке, в которой будет создана установочная папка, или войдите на компьютер, где будет создана установочная папка. В этой статье предполагается создание такой папки на диске X.
Создайте установочную папку. Например, чтобы создать установочную папку Winflat на диске X, наберите в командной строке:
mkdir X:\Winflat\
Предоставьте администраторам полный контроль над установочной папкой, а остальным пользователям — право на чтение и выполнение.
Вставьте в устройство чтения компакт-диск Windows и скопируйте содержимое компакт-диска в созданную ранее установочную папку Winflat. Для этого введите в командной строке:
xcopy /E /I /V D:X:\Winflat\
Чтобы интегрировать обновления, которые используют в качестве программы установки файл Update.exe версии 5.4.15.0 или выше, введите для каждого из них следующую команду:
KBArticleNumber /integrate:путьПримечание.Путь — это путь к установочной папке. Например, для интеграции обновления KB123456.exe в установочную папку X:\Winflat служит следующая команда:
Более ранние версии файла Update.exe
Чтобы интегрировать обновления, которые используют программу Update.exe более ранних версий, в исходные установочные файлы Windows, выполните следующие действия.
Создайте сетевой диск, сопоставленный сетевой папке, в которой будет создана установочная папка, или войдите на компьютер, где будет создана установочная папка. В этой статье предполагается создание такой папки на диске X.
Создайте установочную папку. Например, чтобы создать установочную папку Winflat на диске X, наберите в командной строке:
mkdir X:\Winflat\
Предоставьте администраторам полный контроль над установочной папкой, а остальным пользователям — право на чтение и выполнение.
Вставьте в устройство чтения компакт-диск Windows и скопируйте содержимое компакт-диска в созданную ранее установочную папку Winflat. Для этого введите в командной строке:
xcopy /E /I /V D:X:\Winflat\
Внесирте изменения в файл X:\Winflat\i386\dosnet.inf, добавив строку svcpack в раздел [OptionalSrcDirs]. Например:
[OptionalSrcDirs]
uniproc
svcpackПримечание. Раздел [OptionalSrcDirs] в файле Dosnet.inf в установочной папке Windows XP или Windows Server 2003 необходимо создать самостоятельно, а файл Dosnet.inf для Windows 2000 содержит его по умолчанию.
Создайте папку X:\Winflat\i386\svcpack. Для этого введите следующую команду:
mkdir X:\Winflat\i386\svcpack
Скопируйте подлежащие интеграции пакеты обновлений (ИмяПродукта-KBНомерСтатьи-Вариант-Язык.exe ) в папку X:\Winflat\i386\svcpack. При указании имен файлов используйте формат 8.3 (KBНомерСтатьи.exe), где НомерСтатьи — номер статьи базы знаний Майкрософт, связанной с обновлением. Если применяется несколько обновлений, скопируйте и переименуйте все пакеты обновления.
Извлеките каждое обновление в отдельную временную папку. Например, чтобы извлечь файлы пакета обновления в папку под названием ExtractedPackage на диске Y, введите в командной строке следующую команду:
C:\i386\svcpack\KBНомерСтатьи /X:Y:\ExtractedPackage
Из папки Y:\ExtractedPackage для каждого обновления необходимо скопировать файл каталога (KBНомерСтатьи.cat) и обновленные двоичные файлы (расширения EXE, DLL и SYS). выполните следующие действия:
Скопируйте файл KBНомерСтатьи.cat из папки Y:\ExtractedPackage для каждого обновления в папку X:\Winflat\i386\svcpack. Не меняйте имя файла каталога (KBНомерСтатьи.cat) и не копируйте файл Empty.cat.
Если один и тот же двоичный файл существует в папке Y:\ExtractedPackage для каждого обновления, сохраните файл с наиболее высоким номером версии.
Для каждого двоичного файла из папки Y:\ExtractedPackage для каждого обновления проверьте наличие такого же файла в папке X:\Winflat\I386. Если такой файл существует, удалите его из папки X:\Winflat\I386.
Примечание. У некоторых файлов из папки I386 вместо последнего символа расширения стоит символ подчеркивания (_). Например, Rpcss.dl_.
Скопируйте обновленные двоичные файлы из папки Y:\ExtractedPackage для каждого обновления в папку X:\Winflat\I386.
В папке Y:\ExtractedPackage для каждого обновления проверьте наличие вложенных папок с названием, совпадающим с названием вложенных папок в X:\Winflat\I386. Если такие папки существуют, скопируйте обновленные двоичные файлы из вложенной папки в Y:\ExtractedPackage в соответствующую вложенную папку в X:\Winflat\I386. Например, если папка Y:\ExtractedPackage содержит папку Uniproc, скопируйте файлы из папки Y:\ExtractedPackage\Uniproc в папку X:\Winflat\I386\Uniproc.
Корпорация Майкрософт осуществляет поддержку текущего и предыдущего пакетов обновления (N и N-1). По этой причине некоторые обновления распространяются в пакетах с двумя режимами и могут применяться на компьютерах, где установлены пакеты обновления разных версий. Например, обновление для Windows XP может содержать папки SP1 и SP2 (в папке SP1 находятся обновленные файлы для исходной версии Windows XP, а в папке SP2 — для Windows XP с пакетом обновления 1 (SP1)). Если источником установки является исходная версия Windows XP (2600), используйте файлы из папки SP1, а если Windows XP с пакетом обновления 1 (SP1) — файлы из папки SP2. Для получения дополнительных сведений об обновлениях с двумя режимами для Windows XP щелкните следующий номер статьи базы знаний Майкрософт:
328848 Описание пакетов обновлений с двумя режимами для Windows XP (Эта ссылка может указывать на содержимое полностью или частично на английском языке)После выпуска пакета обновления 1 (SP1) корпорация Майкрософт предполагает распространять обновления для Windows Server 2003 также в пакетах с двумя режимами.
Обновления для Windows Server 2003 также содержат два набора обновленных двоичных файлов для текущего и предыдущего пакетов обновления (N и N-1) в папках nnnQFE и nnnGDR, где nnn — исходная версия операционной системы, SP1, SP2 и т. д. для текущего и предыдущего пакетов обновления (N и N-1). В этом случае используйте файлы из соответствующей папки nnnQFE. Для получения дополнительных сведений об обновлениях для Windows Server 2003 щелкните следующий номер статьи базы знаний Майкрософт:
824994 Общее описание содержимого обновлений для Windows Server 2003 и Windows XP с пакетом обновления 2 (SP2)
Не следует копировать файлы, которые расположены в папках Common и Update, например Update.exe, Update*.inf, SPmsg.dll, SPcustom.dll, SPuninst.exe, Update.ver, а также символы (файлы DBG).
Для каждого файла, который копировался на шаге 9 (кроме KBНомерСтатьи.cat), проверьте, указано ли его имя в разделе [Files] файла X:\Winflat\I386\Dosnet.inf. Именам файлов в разделе [Files] предшествуют символы «d1,». Например:
d1,имя_файла
Соблюдая этот синтаксис, добавьте соответствующую запись для каждого отсутствующего файла. Например, если обновление содержит файл Win32k.sys, но он не указан в файле Dosnet.inf, добавьте запись d1,win32k.sys в раздел [Files] файла X:\Winflat\I386\Dosnet.inf. Благодаря этому в процессе установки Windows будет скопирована обновленная версия Win32k.sys.
Удалите файл X:\Winflat\I386\Svcpack.in_.
В папке X:\Winflat\I386 создайте файл Svcpack.inf. Содержимое файла приведено ниже и отличается в зависимости от того, устанавливается одно или несколько обновлений (Вместо НомерСтатьи подставьте номер соответствующей статьи базы знаний)
Windows 2000[Version]
Signature="$Windows NT$"
MajorVersion=5
MinorVersion=0
BuildNumber=2195
[SetupData]
CatalogSubDir="\i386\svcpack"
[ProductCatalogsToInstall]
KBНомерСтатьи.cat
[SetupHotfixesToRun]
KBНомерСтатьи.exe /параметры
Windows XP[Version]
Signature="$Windows NT$"
MajorVersion=5
MinorVersion=1
BuildNumber=2600
[SetupData]
CatalogSubDir="\i386\svcpack"
[ProductCatalogsToInstall]
KBНомерСтатьи.cat
[SetupHotfixesToRun]
KBНомерСтатьи.exe /параметры
Windows Server 2003[Version]
Signature="$Windows NT$"
MajorVersion=5
MinorVersion=2
BuildNumber=3790
[SetupData]
CatalogSubDir="\i386\svcpack"
[ProductCatalogsToInstall]
KBArticleNumber.cat
[SetupHotfixesToRun]
KBArticleNumber.exe /optionsПримечания.
Для установки обновлений рекомендуется использовать параметры /Q, /N и /Z. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
262841 Параметры командной строки, которые поддерживаются пакетами обновления для Windows
824687 Параметры командной строки, которые поддерживаются пакетами обновлений программного обеспечения Майкрософт (Эта ссылка может указывать на содержимое полностью или частично на английском языке)
Если устанавливается несколько обновлений, добавьте в разделах [ProductCatalogsToInstall] и [SetupHotfixesToRun] запись для каждого из них. Например:
[ProductCatalogsToInstall]
KB123456.cat
KB123478.cat
KB123490.cat
[SetupHotfixesToRun]
KB123456.exe /параметры
KB123478.exe /параметры
KB123490.exe /параметры
Установка пакета обновления производится другим процессом, и добавлять сведения о пакете обновления не нужно.
Установка обновлений на компьютерах под управлением Windows Server 2003
Примечание. В следующем примере диск:\ — это сетевой диск или диск на компьютере с установочной папкой.
Для установки обновления с помощью программы Update.exe выполните следующие действия.
Подключитесь к сети или к компьютеру, на котором следует создать установочную папку.
В общей установочной сетевой папке создайте установочную папку для файлов обновления. Например, чтобы создать установочную папку Update, введите следующее: mkdir диск:\Update
Чтобы убедиться, что изменения вступили в силу, после установки всех обновлений необходимо перезагрузить компьютер.
Техническая поддержка версий Microsoft Windows для компьютеров на базе процессоров x64
Если оборудование поставлялось с уже установленной версией системы Microsoft Windows для компьютеров на базе процессоров x64, обязанности по предоставлению соответствующей технической поддержки несет изготовитель оборудования. В этом случае обязанности по предоставлению соответствующей технической поддержки несет производитель оборудования так как Windows (64-разрядная версия) поставлялась вместе с оборудованием. Поставщик оборудования мог настроить установку 64-разрядной версии Windows, используя уникальные компоненты, например специальные драйверы устройств, и настроить определенные параметры операционной системы с целью повышения производительности оборудования. Если пользователю потребуется техническая помощь для 64-разрядной версии Windows, корпорация Майкрософт обеспечит поддержку в разумных пределах, однако в первую очередь следует обращаться непосредственно к изготовителю оборудования. Изготовитель обладает наилучшими возможностями по поддержке программного обеспечения, установленного им на свое оборудование. Если 64-разрядная версия системы Windows, например Microsoft Windows Server 2003 (64-разрядная версия), приобретена отдельно, за технической поддержкой необходимо обращаться в корпорацию Майкрософт.
Для получения дополнительных сведений о 64-разрядной версии Microsoft Windows XP Professional посетите веб-узел Майкрософт по адресу:
Ссылки
Для получения дополнительных сведений о программе Update.exe щелкните следующий номер статьи базы знаний Майкрософт:
262841 Параметры командной строки, которые поддерживаются пакетами обновления для Windows
Читайте также: