среда, 13 сентября 2017 г.

Собственная сборка Windows 7 + Windows AIK + автоматичская устновка через файл ответов + WDS Server Windows 2012



Собственная сборка 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
Как показанно у нас на рисунке

6)      По аналогии добавим все остальные компоненты
Компонент

Проход
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)И выставим необходимые параметры
Параметр

Значение
windowsPE | Microsoft-Windows-International-Core-WinPE | 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
windowsPE | Microsoft-Windows-Setup | UserData | AcceptEula
 --> 
true
specialize | Microsoft-Windows-Shell-Setup | ComputerName
 --> 
1
oobeSystem | Microsoft-Windows-International-Core | InputLocale
 --> 
en-US; ru-RU
oobeSystem | Microsoft-Windows-International-Core | SystemLocale
 --> 
ru-RU
oobeSystem | Microsoft-Windows-International-Core | UILanguage
 --> 
ru-RU
oobeSystem | Microsoft-Windows-International-Core | UserLocale
 --> 
ru-RU
oobeSystem | Microsoft-Windows-Shell-Setup | TimeZone
 --> 
Ekaterinburg Standard Time
oobeSystem | Microsoft-Windows-Shell-Setup | AutoLogon | Enabled
 --> 
true
oobeSystem | Microsoft-Windows-Shell-Setup | AutoLogon | Username
 --> 
Admin
oobeSystem | Microsoft-Windows-Shell-Setup | AutoLogon | Password
 --> 
"Запись пустой строки"
oobeSystem | Microsoft-Windows-Shell-Setup | OOBE | HideEULAPage
 --> 
true
oobeSystem | Microsoft-Windows-Shell-Setup | OOBE | HideWirelessSetupInOOBE
 --> 
true
oobeSystem | Microsoft-Windows-Shell-Setup | OOBE | NetworkLocation
 --> 
Home
oobeSystem | Microsoft-Windows-Shell-Setup | OOBE | ProtectYourPC
 --> 
1
oobeSystem | Microsoft-Windows-Shell-Setup | UserAccounts | LocalAccounts | LocalAccount | DisplayName
 --> 
Admin
oobeSystem | Microsoft-Windows-Shell-Setup | UserAccounts | LocalAccounts | LocalAccount | Group
 --> 
Administrators
oobeSystem | Microsoft-Windows-Shell-Setup | UserAccounts | LocalAccounts | LocalAccount | Name
 --> 
Admin
oobeSystem | Microsoft-Windows-Shell-Setup | UserAccounts | LocalAccounts | LocalAccount | Password
 --> 
"Запись пустой строки"


Для автоматического входа в систему (без ввода имени пользователя и пароля) необходимо в параметрах:
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)
Указываем эти опции для области dhcpВсе теперь все готово можем пробовать загружаться по сети!!














1 комментарий:

  1. Slot Machines: Casinos | The JTM Hub
    JTM Hub 청주 출장안마 offers 안양 출장마사지 all the best of the best slot 전주 출장안마 machines 논산 출장마사지 from Pragmatic Play. This interactive 군산 출장샵 casino offers you the opportunity to win big.

    ОтветитьУдалить