Собственная сборка Windows 7 + Windows AIK + автоматичская устновка через файл ответов + WDS Server Windows 2012
Итак сегодня я занотирую чтобы не забыть такой момент как
развертывание собственных образов через WDS сервер Windows Server 2012 R2. Нашу установку мы разобъем на
несколько логических этапов, а точнее на 3:
1)
Создание собственного образа посредством
установки чистой ОС на виртуальную машину, установке и настройке программ в
режиме sysprep, выключение
и захвата образа
2)
Создание файла ответов для автоматической
установки образа по сети
3)
Установка WDS сервера и заливка образов
Немного о базовых утилитах
ImageX.exe –
утилита для создания образов диска и перегонки их в wim образ, также
проверки и разделения образов
Dism.exe – утилита работы с образами,
монтирования готовых образов, внедрения драйверов в образ и различных пактов,
таких например как telnet клиент, tftp сервер и т.д., настройка региональных параметров и т.д
Oscdimg.exe – это утилита для
создания загрузочных образов диска из папок, то есть практически аналог для
командной строки более известных программ таких как Nero.
Итак начнем
ЭТАП 1 Создание эталонного образа
1)
Создание и захват образа для этого нам
понадобиться VmWare Workstation и Windows AIK,
(можно также использовать отдельно стоящий пустой ПК),а также наш набор
программ.
Итак первое что мы делаем это устанавливаем
нашу операционную систему на виртуальную машину, но НЕ СПЕШИТЕ входить в
систему.
·
После установки системы дождитесь окна входа и
нажмите CTRL+SHIFT+F3, так мы войдем в режим аудита (sysprep), если этого не сделать то у
машин устанавливаемых из данного образа будут одинаковые SIDы, что приведет к не очень хорошим
последствиям.
·
Система перезагрузится и выполнит автоматический
вход со встроенной учеткой администратора. Не закрывайте окно показанное ниже,
все дальнейшие действия такие как установка программ и настройка и системы
выполняйте с этим открытым окном . Нам нужно обязательно разбить на 2 диска, на
второй диск D виртуальной машины мы будем захватывать наш образ
Если вы все же закрыли это окно то откройте его командой:
%SystemRoot%\system32\sysprep\sysprep.exe /generalize
/oobe /shutdown /quiet
После того как вы установили все программы и настроили систему, виртуальную машину или ПК можно выключить. Далее перейдем к созданию загрузочного образа Windows PE
Для создание загрузочного образа (то есть как бы загрузочного диска с урезанным Windows) нам понадобиться пакет Windows AIK, что мы и делаем устанавливая его. А также создадим папку на диске D:\Windows_etalon\ (Дабы не запутаться для начала в этой папке у нас будет загрузочный образ Windows PE, потом после ненужности Windows PE, мы переименуем папку ISO внутри D:\Windows_etalon\x64_pe в PE_ISO, а в папку ISO поместим оригинальный образ Windows 7 64)
Переходим в папку у установленным Windows AIK, из командной строки
cd c:\Program Files\Windows AIK\Tools\PETools
И копируем образ Windows PE в эту папку (x64_pe – в корне папки не должно существовать пока, иначе будет ругаться)
copype.cmd amd64 D:\Windows_etalon\
Туда же скопируем и утилиту imageX для захвата и нарезки образа
copy "c:\Program Files\Windows AIK\Tools\amd64\imagex.exe" D:\Windows_etalon\x64_pe\ISO
Теперь нам нужно скопировать файл boot.wim и переименовать его в boot.wim
copy D:\Windows_etalon\x64_pe\winpe.wim D:\Windows_etalon\x64_pe \ISO\sources\boot.wim
· Создаем ISO образм с помощью утилиты oscdimg. Все также запускаем командную строку средств развертывания и вводим туда следующее (без пробела после b)
oscdimg -n -b D:\Windows_etalon\x64_pe \etfsboot.com D:\Windows_etalon\x64_pe \ISO d:\winpe_x64.iso
Когда образ готов его нужно записать на болванку или с него загрузиться в виртуальной машине
Теперь мы грузимся на виртуальной машине (или на отдельно стоящей) с нашего загрузочного образа
Нам нужно проверить какой у нас системный диск с папкой Windows, т.к в Windows PE буквы дисков будут отличаться от тех, которые мы видели в виртуальной машине. Для этого запустим notepad, а потом Файл-Открыть и посмотрим на диски. Когда определились на каком диске установлен Windows, нам необходимо захватить его и сохранить в образе WIM на втором диске у меня он E:
f:\imagex.exe
/capture D: E:\install.wim "Windows 7 x64" "My Windows 7
x64" /compress maximum /verify
"Windows 7 x64" - имя образа
"My Windows 7 x64" – описание образа
Команда может выполняться довольно длительное время, поэтому пока можем
заняться своими делами
Итак у нас на нашем сервере будет создан файл-образ нашей системы install.wim. Что в последствии я рекомендую, если файл нашего
образа больше 4-х Гб то при
установке могут возникать ошибки, во всяком случае у меня возникали, когда я
устанавливал систему непосредственно с образа, для их избежания я рекомендую
разбить образ install.wim на несколько частей утилитой imageX например по 3 Гб. Не волнуйтесь,
исходный образ у вас останеться, а также вы получите два или более образов
разбитых на указанные части
imagex /split E:\install.wim
3000 /verify /check
Теперь мы можем внедрить драйвера в наш образ,
или же пропустить этот этап, и перейти непосредственно к созданию образа.
Теперь вытащим наш созданный wim файл на локальный компьютер. Для этого
смонтируем созданный VmWare виртуальный жесткий диск
Выберем наш диск и примонтируем его как Z
Скопруем его например в D:\install.wim
·
Внедрение драйверов в образ
1. Для начала смонтируем наш образ утилитой DISM
dism /mount-wim /wimfile:d:\install.wim /index:1
/mountdir:d:\mount
index
– указываем индекс нашей ОС в образе у нас она одна, но могут быть в образе и
несколько, например х64 и х86
2.
Добавляем драйверы
в наш образ, при этом учтем что они находяться в D:\drivers
dism /image:d:\ mount /add-driver /driver:d:\drivers
/recurse /forceunsigned
/recurse – позволяет добалять драйвера из
внутренних подпапок
/forceunsigned – вставляем и подписанные и не
подписанные драйвера, пох
3.
Размонтируем наш образ (МОЖЕТ ЗАНЯТЬ
ДЛИТЕЛЬНОЕ ВРЕМЯ – не пугайтесь)
dism /unmount-wim /mountdir:d:\win_pex86\mount /commit
в итоге всех этих мозговыносящих манипуляция мы полуили следующую
структуру файлов и папко
D:\VmWare\Windows_7_x64_etalon –
виртуальная машина с установленным ПО
D:\Windows_etalon\x64_pe – наш WindowsPE образ c которого мы грузанулись и захватили образ нашей виртуалки
D:\install.wim – уже готовый образ нашей вытащенный с нашей вируталки
Теперь нам нужно переименовать папку ISO в D:\Windows_etalon\x64_pe\ в pe_ISO а в саму папку D:\Windows_etalon\x64_pe\ISO мы заливаем с диска дистрибутив Windows7_x64 (вот так просто берем все на диске и копируем туда)
После копирования просто заменяем файл install.wim в папке D:\Windows_etalon\x64_pe\ISO\sources
на наш подготовленный с диска D:\.
·
Теперь если нужно записываем образ в iso файл или просто заливаем на WDS сервер
·
oscdimg -n -m -o -b D:\Windows_etalon\etfsboot.com D:\Windows_etalon \ISO d:\win7-x64.iso
ЭТАП2 Создание фала ответов для автоматической установки
Что такое файл ответов – это XML файл в котором
находяться инструкции по установке Windows, например как разбить диск, какой язык использовать,
какой устновить часовой пояс и т.д. Этот XML файл можно
сформировать вручную, у кого то слить с форума и подредактировать нужные
параметры, или создать с помощью средства
Диспетчер образов системы. Итак для более полного понятия, что же писать в
том файле ответов, давайте свпомним как происходит установка windows. Для начала выделим
хотя бы пару этапов из памяти
1)
Подготовка к установке – вспомните здесь мы выбираем
язык системы на время установки, разбиваем жесткий диск, соглашаемся с
пользовательским соглашением
2) Настройка
параметров уже после установки – выбираем время и часовой пояс, раскладку
клавиатуры, создаем первого пользователя, параметры Брандмауэра.
Ну эти этапы я выделил
не по научному а на своем языке, например чтобы в дальнейшем вы могли понимать,
что разбивка диска относиться к этапу подготовки системы или WindowsPE, создание
пользователеей к настройке системы или Specialized.
По научному же все
этапы приведены ниже
1 windowsPE
Windows PE - это среда предустановки Windows, использующаяся для подготовки
к установке операционной системы. На первом проходе производится настройка
параметров Windows PE и основных параметров установки Windows. Например, можно
сконфигурировать языковые настройки и параметры дисплея, применяющиеся в
Windows PE. Что же касается параметров установки Windows, то на этом проходе
производится управление разделами жесткого диска (их созданием, форматированием
и т. д.), указывается системный образ для установки, а также задается ключ
продукта.
2 offlineServicing
Проход для автономного обслуживания. Программа установки Windows
распаковывает и устанавливает системный образ, после чего к нему с помощью
диспетчера пакетов применяются обновления операционной системы,
языковые и другие пакеты, указанные в файле ответов для этого прохода. С
помощью этого прохода можно выполнять, например, интеграцию драйверов.
3 generalize
Проход для обобщения системных и пользовательских параметров. Он не
задействуется во время ручной установки Windows. Да и во время автоматической
установки он также будет пропущен, если переход к нему не задан явно с помощью
программы sysprep. Этот проход используется для создания эталонного
образа Windows, который впоследствии можно применять для развертывания в
организации. Под обобщением подразумевается удаление всех параметров,
относящихся к конкретной конфигурации Windows - например, идентификаторов
безопасности пользователей (SIDs) и настроек, связанных с установленным в
системе аппаратным обеспечением. Обобщение происходит только при выполнении
команды sysprep /generalize, которая ведет к выключению системы сразу
после применения параметров, указанных для этого прохода.
4 specialize
Проход для применения специализированных настроек. На этом проходе задаются
параметры, относящиеся к конкретному компьютеру. Если смотреть с точки зрения
использования этого прохода в сочетании с проходом generalize, то
именно на этом этапе происходит дальнейшая настройка эталонного образа для
различных подразделений организации - например, добавление доменной или
региональной информации. Проход specialize можно использовать и
независимо - например, указывать в нем ОЕМ информацию или выполнять синхронные
команды для внесения изменений в систему.
5 auditSystem
Проход для аудита системы. Первый из двух проходов режима аудита отвечает
за применение параметров в контексте системы. В режиме аудита можно
устанавливать драйверы и приложения. Этот режим не задействуется во время
ручной установки Windows. Переход к нему можно задать с помощью программы sysprep,
параметра файла ответов, а также с помощью сочетания клавиш SHIFT+CTRL+F3
во время ручной установки.
6 auditUser
Проход для аудита пользовательских параметров выполняется в контексте
пользователя сразу после прохода auditSystem. Для выполнения задач во
время шестого прохода необходимо выполнить автоматический вход в систему на
пятом. Во время прохода auditUser также можно выполнять установку
драйверов и приложений.
7 oobeSystem
Проход для
применения параметров OOBE (Out of Box Experience) - серии окон, появляющихся
перед первым входом пользователя в Windows на заключительной стадии установки.
Этот этап также называется экраном приветствия. Проход oobeSystem
выполняется до первого входа пользователя в систему и до загрузки оболочки. Во
время него можно создавать учетные записи и настраивать параметры
автоматического входа в систему, указывать языковые настройки и параметры
дисплея для установленной системы.
Начнем
1) Запускаем
«Диспетчер образов системы»
2) Файл -> Открыть
образ системы, появиться следующее окно «Не удается найти файл каталога
связанный с данным образом» - соглашаемся его создать, это займет некоторое
время
3) Теперь образ
подгружен для которого мы будем создавать файл ответов Меню Файл
-> Пункт Новый файл ответов
4) В правом среднем окне появиться файл ответов
Итак мы уже узнаем наши этапы, которые описаны выше
Для создания файла ответов нам нужно добавить в него компоненты из каталога
Как видим слева у нас есть много разделов в разделе «Components» и есть одинаковые
разделы для разных архитектур x86, amd64.Так как у
нас система 64, то нам необходимо добавлять разделы amd64.
Для добавления мы нажимаем на нем ПКМ, и выбираем в какой радел файла
ответов нам его добавить. По их именам в принципе можно и догадаться, например amd64_Microsoft-Windows-International-Core-WinPE_6.1.7600.16385_neutral относиться к 1
пункту установки Windows, то есть WindowsPE. А Microsoft-Windows-Shell-Setup | UserAccounts к пункут 5 AuditSystem, то есть тут мы можем добавить некоторых
пользователей.
Итак добавляем amd64_Microsoft-Windows-International-Core-WinPE_6.1.7600.16385_neutral
в пункт 1 Windows PE
5) Теперь справа в окошке параметры мы добавляем необходимые нам языки в
свойствах добавляем
SetupUILanguage
| UILanguage
|
-->
|
ru-RU
|
windowsPE | Microsoft-Windows-International-Core-WinPE | InputLocale
|
-->
|
en-US;
ru-RU
|
windowsPE | Microsoft-Windows-International-Core-WinPE | SystemLocale
|
-->
|
ru-RU
|
windowsPE | Microsoft-Windows-International-Core-WinPE | UILanguage
|
-->
|
ru-RU
|
windowsPE | Microsoft-Windows-International-Core-WinPE | UserLocale
|
-->
|
ru-RU
|
Как показанно у нас на рисунке
Компонент
|
Проход
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Microsoft-Windows-International-Core-WinPE | SetupUILanguage
|
-->
|
1
windowsPE
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Microsoft-Windows-Setup
| UserData
|
-->
|
1
windowsPE
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Microsoft-Windows-Shell-Setup
|
-->
|
4
specialize
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Microsoft-Windows-International-Core
|
-->
|
7
oobeSystem
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Microsoft-Windows-Shell-Setup
|
-->
|
7
oobeSystem
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7)И
выставим необходимые параметры
Для автоматического входа в систему (без ввода имени пользователя и
пароля) необходимо в
параметрах:
oobeSystem | Microsoft-Windows-Shell-Setup | AutoLogon | Password и oobeSystem | Microsoft-Windows-Shell-Setup | UserAccounts | LocalAccounts | LocalAccount | Password указать в качестве значения Value пустую сроку (ПКМ->"Запись пустой строки"):
7)
Также я заполнил поля для автоматической разбивки диска и создания
пользователя Admin по умолчанию, добавил его в группу Администраторы,
выставил часовые пояса и т.д, дабы минимизировать действия пользователя при
установке
Находим
amd64_Microsoft-Windows-Setup, разворачиваем и добавляем в файл ответов
пункты DiskConfiguration, ImageInstall, UserData
(размечаем диск, указываем редакцию Windows, принимаем лицензионные
соглашения):
в DiskConfiguration пкм «вставить новый диск», для созданного
диска выставляем параметры (Action - AddListItem, DiskId - 0 (номер диска к
которому будет применятся автоматическая разметка), WillWipeDisk - true (диск
будет полностью использован под установку с потерей всех данных)). Смотри на
рисунке ниже
Когда диск появился , то в правом окне выставляем ему ID, и устанавливаем WillWipe=True, то есть стереть весь диск и заполнить его новыми
разделами
в созданном диске нажимаем пкм на «CreatePartitisions» и выбираем «Create Partitision», добавляем раздел где будет находится загрузчик windows, выставляем для него параметры (Action - AddListItem, Extend - false (радел будет фиксированным), Order - 1 (номер раздела), size - 100 (в Mb), Type - Primary) в созданном диске нажимаем пкм на «CreatePartitisions» и выбираем «Create Partitision», добавляем раздел куда будет производится установка Windows, выставляем для него параметры (Action - AddListItem, Extend - true, Order - 2, Type - Primary)
Далее в ModifyPartitions мы выбираем как нам форматировать наши разделы
в созданном диске нажимаем пкм на «ModifyPartitisions» и выбираем «Create ModifyPartitision», форматируем раздел для загрузчика, выставляем для него параметры (Action - AddListItem, Active - true, Fomat - NTFS, Order - 1, PartitionID -1) в созданном диске нажимаем пкм на «ModifyPartitisions» и выбираем «Create ModifyPartitision», форматируем раздел куда будет устанавливаться Windows, выставляем для него параметры (Action - AddListItem, Active - false, Fomat - NTFS, Label - Windows, Order - 2, PartitionID -2)
в разделе UserData
выставляем параметр (AcceptEula - true (автоматически принять условия
лицензионного соглашения))
в пункте OOBE
выставляем параметры (HideEULAPage - true, HideWirelessSetupInOOBE - true,
NetworkLocation - Other, ProtectYourPC - 1 (применяются рекомендованные
параметры для windows update))
в пункте UserAccaunts создаем
пользователя, помещаем его в группу и задаем ему пароль.
В конце файл выглядит примерно так
Сохраняем готовый файл ответов AutoUnattend.xml и
помещаем его в корень нашей папки D:\Windows_etalon\ISO. Позже это файл ответов можно
залить на WDS сервер
ЭТАП3. Установка и настройка WDS сервера
Как и обычно мы это делаем из «Добавление ролей и
компонентов». Я не стал себя утруждать
заново разворачивать WDS сервер поэтому взял картиночки отсюда https://geektimes.ru/post/245918/,
спасибо доброму человеку за его труд.
Итак начнем
Далее заходим в консоль развертывания WDS как показано
на рисунке
Здесь я выбрал не интегрировать WDS службу, с AD, т.к домен у меня был на
Windows 2003 и там
такой возможности не было, да и как я понял по ссуществу суть интеграции в
том чтобы сначала создать запись ПК в AD, и потом он сможет соединяться с сервером WDS, то есть для некой безопасности.
Но я выбрал изолированный сервер. Что вролне меня устраивает
Далее выбрал «Отвечать всем компьютерам». Путь к файлам D:\WDS
После установки нам необходимо залить на сервер наши
образы, например сохраним их на сервере в какую-нибудь папку например D:\WDS, это корень папок нашего WDS сервера,
туда и сохраним, нужны всего два файла boot.wim и install.wim. Скопируем их туда
Теперь нам нужно boot.wim подключить как образ загрузки, install.wim как образ
установки. Тут все просто клацаем на «Образы загрузки» -> «Добавить образ»
указываем путь к образу
Далее вводим описание и все такое, и жмем готово
Также поступаем и с образом установки install.wim, только при этом создадим еще и
группу
Потом далее- далее и готово
Теперь мы можем добавить наш файл ответов, чтобы
установка происходила в автоматическом режиме, для этого нажимаем «Свойства»
на образе и ставим галочку «Разрешить установку образа в автоматическом
режиме» и выбираем наш файл с ответами.
Теперь зайдем в настройки и установим что установка
должна происходить только по нажатию F12, и установим таймаут ожидания нажатия этой клавиши. То есть
когда мы выставляем загрузку в BIOS с сетевой карты, DHCP выдаст
нам адрес PXE сервера, и вот перед установкой он запросит нас нажать F12, как подтверждение, что
мы действительно хотим продолжить установку. Зайти в «Свойства сервера»->
«Загрузка» и поставить галочки как на рисунке
И последнее чтобы это все работало, клиент должен
получать от сервера DHCP вместе с адресом опции 60 и 67, которые указывают на адрес
сервера и путь с PXE файлом (boot.wim)
|