- PVSM.RU - https://www.pvsm.ru -

Как установить Windows Server 2012 R2 и не получить 200 обновлений вдогонку

Как установить Windows Server 2012 R2 и не получить 200 обновлений вдогонку - 1 Windows Server 2012 R2 вышел 18 октября 2013 года. С тех пор на эту серверную операционную систему Microsoft выпущено несколько сотен обновлений исправляющих уязвимости и дефекты продукта, а так же улучшающие функционал.

Огромное количество обновлений — источник головной боли. Наиболее актуальный дистрибутив сервера, так называемый «Update2», в который интегрированы обновления по ноябрь 2014 года, безнадежно устарел. Установив с него операционную систему, вы получите вдогонку еще 200+ обновлений, которые будут устанавливаться 2-4 часа.

В этой короткой инструкции мы освежим ноябрьский дистрибутив, интегрировав в него все кумулятивные пакеты обновлений и обновления безопасности.

Помимо дистрибутива мы освежим и память администратора, вспомнив как обновляется носитель для установки, зачем выполняется каждый шаг, и какие нас может ожидать подвохи на разных этапах.

Делать будем по максимуму просто, используя штатные инструменты.

Все работы лучше проводить на сервере с уже развернутом Windows Server 2012 R2, чтобы не было накладок с версией утилиты DISM. Так же на нем удобно подключать ISO файлы, не распаковывая их.

Готовим рабочие директории

Для работы потребуются следующие каталоги:

ISO — в этот каталог копируются файлы дистрибутива. В скопируйте в него содержимое дистрибутива SW_DVD9_Windows_Svr_Std_and_DataCtr_2012_R2_64Bit_English_-4_MLF_X19-82891.ISO, предварительно смонтировав образ, а затем размонтировав.

Как установить Windows Server 2012 R2 и не получить 200 обновлений вдогонку - 2
MOUNT — пустой каталог, в него будут монтироваться образы из wim-файла.
CU — в этот каталог поместим кумулятивные обновления
SU — в этом каталоге будут находиться обновления безопасности и другие обновления

mkdir D:WS2012R2ISO
mkdir D:WS2012R2MOUNT
mkdir D:WS2012R2CU
mkdir D:WS2012R2SU

Скачиваем кумулятивные обновления

Tip & Trick #1. Microsoft выпускает для Windows Server 2012 R2 кумулятивные пакеты обновлений, но в них входят только обновления, исправляющие ошибки и улучшающие функционал. Обновления безопасности не включены. При этом обновления и не особо кумулятивны. Чаще они не включают в себя предыдущие, и надо ставить за каждый месяц. А некоторые включают. Бардак. В октябре эта ситуация изменится к лучшему.

Со списком кумулятивных обновлений вы можете ознакомиться на этой wiki странице [1].

С ноября 2014 года нам потребуется интегрировать следующие обновления:

1. December 2014 Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2. KB3013769, cкачать [2].

2. July 2016 Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2. KB3172614, скачать [3].

Пакеты за май и июнь поглощены этим июльским пакетом.
Но перед установкой обязательно обновление April 2015 servicing stack update for Windows 8.1 and Windows Server 2012 R2 [4]. KB3021910, скачать [5].

3. August 2016 Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2. KB3179574, скачать [6].

4. Для порядка интегрируем обновленный клиент центра обновления Windows от марта 2016 года. KB3138615, скачать [7].

Tip & Trick #2. В разных статьях для интеграции обновлений предлагается извлечь из msu cab-файл. Делать это необязательно — интегрируйте msu без распаковки.

В папку CU разместите упомянутые выше msu файлы — Windows8.1-KB3013769-x64.msu, Windows8.1-KB3021910-x64.msu, Windows8.1-KB3138615-x64.msu, Windows8.1-KB3172614-x64.msu, Windows8.1-KB3179574-x64.msu.

Скачиваем обновления безопасности

Помимо кумулятивных обновлений интегрируем обновления, которые способна скачать утилита WSUS Offline Update.
Для этого:

  1. Скачиваем программу download.wsusoffline.net [8]
  2. Выбираем обновления для Windows Server 2012 R2 Как установить Windows Server 2012 R2 и не получить 200 обновлений вдогонку - 3
  3. После скачивания открываем каталог wsusofflineclientw63-x64glb и *.cab файлы копируем в каталог C:WS2012R2SU

Обновления готовы, приступим к интеграции.

Интеграция обновлений

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

  1. Смонтировать содержимое одного из образов в install.wim
    dism /mount-wim /wimfile:{путь к wim файлу} /Index:{N} /mountdir:{путь к директории монтирования}
    

  2. Интегрировать в offline установку каждое обновление
    dism /image:{путь к директории монтирования} /add-package /packagepath:{путь к *.msu или *.cab файлу}
    

  3. Сохранить изменения
    dism /Unmount-WIM /MountDir:{путь к директории монтирования} /Commit
    

Этот процесс легко следующим автоматизировать командным файлом:

for /l %%N in (1,1,4) do (
dism /mount-wim /wimfile:"D:WS2012R2ISOsourcesinstall.wim" /Index:%%N /mountdir:D:WS2012R2MOUNT
for %%f in (D:WS2012R2CU*.*) DO (dism /image:D:WS2012R2MOUNT /add-package /packagepath:%%f)
for %%f in (D:WS2012R2SU*.*) DO (dism /image:D:WS2012R2MOUNT /add-package /packagepath:%%f)
dism /unmount-WIM /MountDir:D:WS2012R2MOUNT /Commit
)

В результате мы получим файл D:WS2012R2ISOsourcesinstall.wim размером в 6.15Gb.
Можем ли мы его уменьшить? Да, с помощью экспорта можно получить оптимизированный файл размером в 5.85Gb.

Экономия небольшая, кроме того после этого не очень красиво выглядит диалог выбора операционной системы при установке, поэтому следующий шаг опционален.

Что надо сделать?

Для получения сжатого образа необходимо:

  1. Экспортировать первый образ из оригинального wim-файла в новый файл
    dism /export-image /sourceimagefile:{путь к исходному файлу wim} /sourceindex:1 /destinationimagefile:{путь к новому файлу wim}  /compress:max
    
  2. Подключить следующий образ из оригинального wim-файла в точку монтирования
    dism /mount-wim /wimfile:"D:WS2012R2ISOsourcesinstall.wim" /Index:2 /mountdir:{директория для монтированния образа}
    
  3. Добавить в новый файл следующий образ методом «захвата»
    dism /append-image /imagefile:{путь к новому файлу wim} /captureDir:{директория с смонтированным образом} /name:{оригинальное имя} /description:{оригинальное описание}
    
  4. Размонтировать образ, повторить итерацию добавления для каждого дополнительного образа
    dism /unmount-WIM /MountDir:{директория с смонтированным образом}  /Discard
    

Автоматизируем скриптом:

dism /export-image /sourceimagefile:D:WS2012R2ISOsourcesinstall.wim /sourceindex:1 /destinationimagefile:D:WS2012R2ISOsourcesinstall1.wim  /compress:max

dism /mount-wim /wimfile:"D:WS2012R2ISOsourcesinstall.wim" /Index:2 /mountdir:D:WS2012R2MOUNT

dism /append-image /imagefile:D:WS2012R2ISOsourcesinstall1.wim /captureDir:mount /name:"Windows Server 2012 R2 SERVERSTANDARD" /description:"Windows Server 2012 R2 SERVERSTANDARD"

dism /unmount-WIM /MountDir:D:WS2012R2MOUNT /discard

dism /mount-wim /wimfile:"D:WS2012R2ISOsourcesinstall.wim" /Index:3 /mountdir:D:WS2012R2MOUNT

dism /append-image /imagefile:D:WS2012R2ISOsourcesinstall1.wim /captureDir:mount /name:"Windows Server 2012 R2 SERVERDATACENTERCORE" /description:"Windows Server 2012 R2 SERVERDATACENTERCORE"

dism /unmount-WIM /MountDir:D:WS2012R2MOUNT /discard

dism /mount-wim /wimfile:"D:WS2012R2ISOsourcesinstall.wim" /Index:4 /mountdir:D:WS2012R2MOUNT

dism /append-image /imagefile:D:WS2012R2ISOsourcesinstall1.wim /captureDir:mount /name:"Windows Server 2012 R2 SERVERDATACENTER" /description:"Windows Server 2012 R2 SERVERDATACENTER"

dism /unmount-WIM /MountDir:D:WS2012R2MOUNT /discard

Удалите оригинальный install.wim, а сформированный install1.wim переименуйте в install.wim

Сборка ISO файла

Для сборки нам потребуется утилита oscdimg.exe из комплекта Windows ADK [9]. Если у вас ее не оказалось, можно просто скачать утилиту по ссылке [10](не используйте из этого комплекта ничего, кроме самой утилиты).

Tip & Trick #3. Для того, чтобы не было проблем с загрузкой из образа, следует расположить загрузочные файлы в пределах первых 4 гигабайт образа [11]. Для этого используем файл bootorder.txt

bootbcd
bootboot.sdi
bootbootfix.bin
bootbootsect.exe
bootetfsboot.com
bootmemtest.exe
booten-usbootsect.exe.mui
bootfontschs_boot.ttf
bootfontscht_boot.ttf
bootfontsjpn_boot.ttf
bootfontskor_boot.ttf
bootfontswgl4_boot.ttf
sourcesboot.wim

Пути в этом файле указываются относительно корневой директории с образом, поэтому подстраивать пути на ваши фактические не требуется.

Tip & Trick #4. Если install.wim имеет размер больше 4700Mb, то инсталлятор вылетит с ошибкой «Windows cannot open the required file D:sourcesinstall.wim. Error code: 0x8007000D».

Нас учили что жизнь — это бой, поэтому разделим исходный install.wim на два командой

dism /split-Image /imagefile:D:WS2012R2ISOsourcesinstall.wim /swmfile:D:WS2012R2ISOsourcesinstall.swm /filesize:4096

Оригинальный файл install.wim можно удалить.

Tip & Trick #5. Вообще Microsoft говорит, что пить так делать нельзя.

In Windows 8.1 and Windows 8, Windows Setup does not support installing a split .wim file.

Мы говорим, что будем! Инсталлятор прекрасно подхватывает swm-файл. Проблем с установкой не будет.

Собираем образ командой:

oscdimg -m -n -yoD:WS2012R2bootorder.txt -bD:WS2012R2ISOBOOTetfsboot.com -lIR5_SSS_X64FREV_EN-US_DV9 D:WS2012R2ISO en_windows_server_2012R2_August_2016.iso

Уважаемый ildarz [12] подсказывает [13], что для создания образа, одинаково хорошо работающего с BIOS и EFI, следует руководствоваться KB947024 [14] и создавать образ так:

oscdimg -m -u2 -udfver102 -yoD:WS2012R2bootorder.txt -bootdata:2#p0,e,bD:WS2012R2ISOBOOTEtfsboot.com#pEF,e,bD:WS2012R2ISOEFImicrosoftBOOTefisys.bin -lIR5_SSS_X64FREV_EN-US_DV9 D:WS2012R2ISO en_windows_server_2012R2_August_2016.iso

Работоспособность проверена в ESXi с любым типом загрузки (BIOS/EFI).

Все получилось?
Поздравляю!
Как установить Windows Server 2012 R2 и не получить 200 обновлений вдогонку - 4

Но решена ли проблема полностью? Для идеала необходимо интегрировать еще сотню «опциональных» и «рекомендованных» обновлений, но с этим не будем торопиться. Дадим Microsoft шанс самим разобраться в том бардаке, который они устроили с обновлениями.

PS. Зачем мы все это делали? Для того, чтобы освежить память, сделать работу чуть удобнее и получить несколько простых командных файлов, при помощи которых в дальнейшем можно практически автоматизированно интегрировать обновления в серверный дистрибутив, экономя время ввода сервера в эксплуатацию. Тем более есть надежда, что начиная с октября интегрировать обновления станет гораздо проще [15].
Точно так же вы сможете интегрировать Windows 7 convenience rollup и не наступить на грабли распаковки обновлений, невозможности загрузки из образа, превышения размера install.wim.

Спасибо за внимание и до новых встреч, друзья.

Если есть возможность поделиться опытом — жду вас в комментариях.

Автор: gotch

Источник [16]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/sistemnoe-administrirovanie/177792

Ссылки в тексте:

[1] этой wiki странице: http://social.technet.microsoft.com/wiki/contents/articles/23823.windows-8-1-and-windows-server-2012-r2-list-of-rollup-updates.aspx

[2] KB3013769, cкачать: https://download.microsoft.com/download/4/5/2/4523ACEE-9CF5-4209-AE2D-52BA993A1CD4/Windows8.1-KB3013769-x86.msu

[3] KB3172614, скачать: https://download.microsoft.com/download/A/8/6/A8686706-78A3-4AC9-ABD2-64DC20A4581F/Windows8.1-KB3172614-x64.msu

[4] April 2015 servicing stack update for Windows 8.1 and Windows Server 2012 R2: https://support.microsoft.com/en-us/kb/3021910

[5] KB3021910, скачать: https://download.microsoft.com/download/7/7/4/77476115-26DA-42FC-B00F-031D2BB3740F/Windows8.1-KB3021910-x64.msu

[6] KB3179574, скачать: https://download.microsoft.com/download/0/E/3/0E303248-4BCD-49CC-A901-0040B055FC3C/Windows8.1-KB3179574-x64.msu

[7] KB3138615, скачать: https://download.microsoft.com/download/0/C/8/0C8FD323-3B21-4D78-BA1C-C1851609ADD2/Windows8.1-KB3138615-x64.msu

[8] download.wsusoffline.net: http://download.wsusoffline.net/

[9] Windows ADK: https://developer.microsoft.com/ru-ru/windows/hardware/windows-assessment-deployment-kit

[10] ссылке : http://www.oszone.net/user_img/ua_vista_files/create_iso.7z

[11] расположить загрузочные файлы в пределах первых 4 гигабайт образа: https://technet.microsoft.com/ru-ru/library/dd799243(v=ws.10).aspx

[12] ildarz: https://habrahabr.ru/users/ildarz/

[13] подсказывает: https://habrahabr.ru/post/308314/#comment_9766754

[14] KB947024: https://support.microsoft.com/en-us/kb/947024

[15] станет гораздо проще: https://blogs.technet.microsoft.com/windowsitpro/2016/08/15/further-simplifying-servicing-model-for-windows-7-and-windows-8-1/

[16] Источник: https://habrahabr.ru/post/308314/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best