Windows Deployment Services FAQ
Перенос моей статьи, для истории, из ЖЖ (livejournal.com)
С момента написания заметок по Windows Deployment Сервисам прошел почти год. За это время в комментариях появилось множество вопросов которые я решился собрать в небольшой FAQ.
Секция WinPE2.0
Q. Какими драйверами можно «кормить» WinPe2.0 и как?
A. Вообще как правило PEшка новая знает просто мегатонны RAID контроллеров, сетевых адаптеров. Но всегда найдется такой которого в дистрибутиве нету или он «несовсем» правильный. Драйвера могут быть от win2000,winXP,win2003,winVista. Добавлять новый драйвер очень просто:
1. создаем каталог C:\winpe в нём подкаталог mount
2. копируем в C:\winpe наш загрузочный образ boot.wim
3. монтируем образ imagex /mountrw boot.wim 1 C:\winpe\mount
4. берем комплект с драйверами. "раскурочиваем" их любым доступным способом - нам нужно получить из них файлы драйвера (обычно .inf, .cat, .sys, .dll, бывают дополнительные файлы с расширением!!!). Кладем раскуроченное содержимое в C:\winpe. Предположим, у нас один INF главный который называется driver.inf.
5. добавляем в сам образ: peimg /inf=C:\winpe\driver.inf /image=C:\winpe\mount
6. размонтируем образ подтверждая изменения imagex /unmount C:\winpe\mount /commit
Q. Можно-ли "налету" загрузить драйвера под мой сетевой контроллер ?
A. конечно если драйвер не требует для своей специфической установки перезагрузки. Через drvload в командной строке делаем это.
Q. У меня сеть никак не подымается. wpeutil initializenetwork завершается ошибкой 0x800704b8.
A. У вас похоже нехватка ОЗУ. Добавьте еще и всё должно пройти по маслу. Минимальный обьем на котором WinPE2.0 ПОЛНОСТЬЮ ОБРЕЗАННАЯ работала у меня - 256 мегабайт озу.
Q. Загружаю WinPE «из коробки». Он видит мой RAID контроллер аппаратный но роздные программы контроллера отказываются с ним работать (разметить, продиагностировать и т.п.). Да и скорость какая-то странная копирования на него…
A. У меня было примерно тоже самое один раз. Решилось когда добавил в WinPE поверх драйвер контроллера от Windows2003. Тогда и фирменные утилиты заработали, и скорострельность появилась.
Секция WDS:
Q. Очень много букв. Ничего не понимаю по-английски.
A. Видел не так давно появился русский WAIK. Скачивайте и используйте
Q. Какие порты использует клиент-сервер ?
A. Для PXE загрузки используются UDP порты 67, 68, 69, 4011. Для самого клиента WDS используются TCP порты 135, 5040, 137,138,139.
Q. Загрузившись WinPE наотрез отказывается видеть мой сервер WDS.
A.
1. удостоверьтесь что вам хватило ОЗУ - для работы с WDS-клиентом вам понадобится минимум 450 мегабайт ОЗУ.
2. нажмите Shift+F10 и в появившемся шелле посмотрите есть-ли сеть и доступен ли-ваш сервер.
3. проверьте доступность всех портов указанных в предыдущем ответе.
4. у меня стабильно выскакивала ошибка связи с сервером когда был неправильно настроен unattended.xml лежащий "внутри" загрузочного образа.
Q. Полный список поддерживаемого WinPE2.0 железа.
A. Не встречал оффициально но логичнее всего (и мои ручные чесания показывают) что в части сетевых контроллеров и жестких дисков он повторяет тот что изначально "знает" виста 6.0.6000.
Q. Может ли автор по просьбам трудяшихся обосновать технические преимущества WDS перед RIS?
A.
1. Прежде всего стоит свыкнуться с тем что WDS является дальнейшим развитием RISа и возврата обратно уже не будет в будущем.
2. Версия WDS включенная в 2008й сервер поддерживает мультикаст (понятно думаю как это ускорит раздачу и уменьшит нагрузку на сеть и сервер при задачах типа "развернуть за 2е рабочих дней 100 рабочих станций")
3. В RISе Вы раздаете саму операционку по-голому ее развертывая на машинах а в WDS Вы раздаете уже готовый комплект ОС + набор базового софта настроенного уже.
4. Процесс обслуживания (изменение или добавление чего-то). В WDS это пара минут - изменить что-то в образе.
5. В WDS возможность полной "скриптизации" процесса развертывания\снятия образов. Пример: вы ставите ноутбуки и рабочие станции с "одного" образа только для ноутбуков скрипт добавляет специфичные утилиты производите (SONY скажем 6 моделей ноутбуков поставить без ручника, на автомате?)
6. Про тормознутость RISа думаю сами вкурсе раз используете - WDS достаточно проворно разворачивает образы.
7. Обьемы! ХРюша которую раздадите через RIS будет примерно такого-же обьема как отданый через WDS образ ХР+оффис+антивирус корпоративный и что-то по мелочи.
8. Работа с образами архитектуры отличной от 32х битной х86 ;)
9. Вы безболезненно сможете Vista развертывать не прилагая затрат на "доверчивание" WDS-сервера.
10. Возможно очень хитро настроить КАК именно поделить диск.
11. Ну и не стоит забывать о том что .WIM это по-файловый образ а не "посекторный" тоесть можно в хитрых случаях НЕ УНИЧТОЖАТЬ вообще информацию с жесткого диска пользователя а просто развернуть поверх. С RISом вы всегда уничтожаете данные перед тем как лить.
12. HALонезависимость. Наконец-то действительно один загрузочный образ подойдет для "окучивания" сотни разных самых конфигураций железа несовместимого раньше между версиями HALа.
13. Очень существенная экономия на пространстве файлового сервера где хранятся образы - контейнер WIM "оптимизирует" лежащие в нём файлы таким образом что два и более одинаковых файла будут содержаться в единственном экземпляре (остальные будут "внутренними ссылками").
Q. Вот загрузился я c WDS сервера дефолтовым boot.wim от WAIK, вижу wpeinit отработавший и комадную строку (черное окно). Что делать дальше то?
A. Поздравляю с загрузкой! Для развертывания образов вам нужно "инжектить" в образ загрузочный еще и дополнительные утилиты из WAIK: imagex.exe, bootsect.exe. Брать их из установленного WAIK и класть в образ прямо Windows\System32. Дальше думаю разберетесь читая imagex /? и bootsect /?. Или используйте boot.wim от установочного DVD Vista – там графический GUI клиент есть.
Q. У меня тут сеть порядка 300 компов и надо сделать установку. Как это лучше сделать?
A. Подумав внимательно и разработав определенный план. Навскидку я предложил бы это сделать такими вариантами (при учете что компы все одинаковые):
1. формируем "правильный" unattended.xml подсовываем его в WDS Клиента с ДВД Висты, заливаем на сервер этот загрузочный образ и образ конечной операционной системы. Дальше грузимся с сети и остальное уже будет автоматически...
2. не используя WDS клиент с ДВД Висты. Берем образ загрузочный WAIKа. Пользуясь навыками написания командных файлов .cmd пишем свой который залогинится на шару (net.exe) некую где лежит образ, сформирует правильно разделы жесткого диска (diskpart.exe), зальет образ (imagex.exe), пропишет загрузчик (bootsect.exe), перезагрузит машину (wpeutil.exe)
3. тоже пользуясь WAIKовым образом инжектим туда WMI,VBScript и пользуясь мощным инструментом пишем примерно тоже самое только "автоматом" понимающее всякие вкусности типа разных HALов для windows xp, разных драйверов на разные устройства и так далее.
Да, кстати и незабываем помечать раздел АКТИВНЫМ после форматирования. это частая ошибка!
Q. Вот у меня раньше через RIS и менюшки его ставились то или инное програмное обеспечение в зависимости от некоей структуры подразделений компании, накатывался общий набор некоего софта ну и сама операционка естественно. Полтора часа (а то и час) - получал винду со всяческими тяжеленными приложениями.
A. Во-первых для того чтобы развертывать софт в зависимости от условий разных и в частности его обновлять следует применять программные продукты несколько другие семейство продуктов System Center (SMS2003,SCCM2007). Не будем путать мух с котлетами.
Но если хотите - через тот-же VBScript,СУБД и т.д. вы можете делать как делали раньше.
Во-вторых попробуйте создайте образ WIM с вашим комплектом софта и дальше разверните его замерив время на развертывание. Уверяю вас при системах не слабее P4-2.66G/512 и сервере шустром вы не больше чем за 15 минут получите рабочую машинку )
Если развертывать будете висту там поддерживается технология offline servicing. Об этом всём можно почитать в WAIK.
Q. При загрузке по сети в WinPE, все отлично грузится, далее вручную запускаю wdscapture, выбираю там диск c:\, добавляю описание и название, а потом он предлагает ввести название WDS сервера. Ввожу, нажимаю кнопку connect, появляется выбор групп в которые можно сохранять. Выбираю любую группу, а кнопочка "Finish" не активна. При этом если выбрать создание образа на локальный диск то все нормально создается.
A. Вы проверьте точно-ли порты доступны с машинки на сервер все которые перечисленны в начале. Shift+f10 и проверьте также поднята-ли сеть нормально. Потом советую проверить доступ на шару чтобы был и права на файловую систему сами были верные. Проверяется тоже ручками «создавая» файл какой-либо.
Q. Настроил WDS, добавил образы загрузки и установки от Висты. Все отлично работает. Снял образ WinXP, отправил его на сервер службы WDS. Через консоль на сервере его видно. Гружусь на машинах домена и вижу только установочный образ Висты. Никак не могу добится чтобы образ XP тоже был виден
A. Вы "наткнулись" на автоматическую фильтрацию downlevel образов "неподходящей" HAL-архитектуры. Образы висты не зависят от железа так сильно как старые windows xp/2k/etc
На эту тему можно почитать внимательно WAIK Guide Update 3: Chapter 6 Windows Deployment Services Client.
Q. Можно ли сконвертировать инсталляционный ISO Windows XP в WIM контейнер?
A. Нет. Можно RIPPrep-образ конвертнуть в .WIM. Делается например через консольную команду wdsutil /convert … Посмотрите справку WDSUTIL /Convert-RiPrepImage /?
Q. Можно добавлять драйвера в образы также как я делаю это в WinPE-образе?
A. Для downlevel-образов - нет, нельзя. Они не поддерживают такую систему.
Q. А в каком именно месте должны появляться образы инсталляционные (установочные) при загрузке через PXE ?
A. В WDS Клиенте (Setup'е). Процесс вкратце просиходит так: 1. PXE рабочая станция грузится с сервера стягивая BOOTMGR. 2. Загрузчик передает управление бут манагеру. 3. Бут манагер выводит список доступных на сервере BOOT(загрузочных!)-образов. 4. Выбрав нужный начинается его закачка. 5. Закачанный образ начинает загрузку и инициализацию 6. После окончания загрузки выводится либо командная строка, либо WDS Setup запускается мастер 7. Вы указываете локаль и авторизовавшись на WDS сервере получаете список образ инсталляционных (установочных!) уже.
Q. В свойствах образов инсталляционных есть пункт автоматизации установки образов (unattended) но он никак не хочет мой sysprep.inf принимать!
A. Логично. Он хочет новый Unattended файл XML-формата. Его поддерживают только образы новых операционных систем – Vista, Server 2008. Для Downlevel-образов придется воспользоваться правилами $OEM$ подкаталога и класть туда sysprep.inf. Подробнее я описывал (и в документации по WAIK этот вопрос затрагивается).
Q. Процесс разворачивания образа засыпает на Expanding Files (1%) и висит так...
A. Попробуйте применить другие драйвера сетевого контроллера. Интегрируйте их в образ загрузочный WinPE.
Q. Образ снят с Win XP с ПК (многопроцессорный, hal_тип: acpiapic_mp).
Хочу развернуть образ на ПК. В меню не вижу этого образа. Как оказалось ПК - однопроцессорный. Значит я тот образ не могу развернуть на этом ПК?
A. Можете, только по другому. Дело в фильтрации HAL которую автоматически выполняет WDS. Отказаться от неё можно делая развертывание не через WDS Client а через комадную строчку и imagex.exe. Подмонтируйте шару с образами установочными и пользуясь imagex /apply разверните интересующий образ на конечную машину.
Q. Кратко как процесс выглядит весь установки новой машинки со старыми ОС?
A. Вот примерно так можно обрисовать его:
1. загружаемся через PXE в образ winpe из комплекта WAIK.
2. как WinPE загрузится и проинициализируется станет доступна командная строка.
3. оттуда пишем net use Z: \\wds_server_name\reminst$ и цепляемся к своему серверу с зашареными образами операционок (*.wim)
4. форматируем диск целевой diskpart.exe, делаем его активным и присваиваем ему букву диска(C:)
5. дальше imagex /apply Z:\...\образ.wim 1 C:
6. после этого bootsect /nt52 C: прописываем старый загрузчик 2к\хр\2003
7. перезагружаемся wdsutil reboot
Q. У меня есть клиент который не поддерживает PXE, соответственно для него нужно создать загрузочный диск с WDS клиентом. А вот как это сделать я не могу понять.
A. 1. Значит открываем консоль управления WDS севером.
2. Дальше выбираем загрузочный образ с клиентом WDS (от висты).
3. Правой кнопкой мышки на образе щелкаем и выбираем создание образа обнаружения.
4. Заполняем графы предложенные (имя, комментарии, имя файла ИТОГОВОГО, если нужно - конкретный WDS сервер).
5. Дальше мы открываем WAIK Command prompt и из комадной строки строим новую структуру copype.cmd X86 C:\winpeiso
6. Копируем в C:\winpeiso\iso\sources наш полученный на 4м шаге .wim файл
7. создаем итоговый образ ISO: oscdimg.exe –n –bC:\winpeiso\iso\boot\etfsboot.com C:\winpeiso\ISO C:\winpeiso\out.iso
Q. Файл ответов можно создать как понимаю гуевой прогой "Диспетчер образов системы". Пытаюсь это сделать. Во первых при открытии boot.wim от Висты вываливается окошко с выбором образа. Во-вторых он хочет создать некий файл каталога и при попытке его создать падает с ошибкой. Как быть
A. Да файл ответов создается этим приложением, только вот «натравливать» нужно его не на загрузочные образы (boot) а на образы Vista/server 2008 установочные. Соответственно и «падать» он не будет после такого.
Q. Встретился с ошибкой: "WdsClient: An error occurred while obtaining an IP address from the DHCP server. Please check to ensure that there is an operational DHCP server on this network segment."
A. На машине наверное два сетевых интерфейса и WDS клиент по каким-то причинам хочет получать адрес с DHCP на первом интерфейсе. Рецепт достаточно прост. Вам нужно внести изменения в образ: чтобы сначала делось получение адреса (ipconfig /renew) а уже потом исполнялся setup.exe /wds /wdsdiscover ......
Q. При попытке загрузки машины вылезают ошибки:
PXE-T01: File not found
PXE-e3b TFTP Error - file not found
PXE-M0F: Exiting PXE ROM
A. Сервер и клиент находятся в разных подсетях а между ними роутер? Настройте ip-helper и DHCP параметры у роутера чтобы он «отдавал» их клиенту указывая на правильный сервер загрузки. Я выше писал про порты. Подробнее можете почитать «Deployment And Managing The Windows Services Update on Windows Server 2003»
Q. Пример autounattended.xml файла для WinPE русского который бы без вопросов развертывал windows xp sp2 ?
A. Пожалуйста:
<?xml version="1.0" ?></p><unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="windowsPE">
<component name="Microsoft-Windows-Setup" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" processorArchitecture="x86">
<WindowsDeploymentServices>
<Login>
<WillShowUI>OnError</WillShowUI>
<Credentials>
<Username>wds_server_user</Username>
<Domain>testdomain</Domain>
<Password>passwd</Password>
</Credentials>
</Login>
<ImageSelection>
<WillShowUI>OnError</WillShowUI>
<InstallImage>
<ImageName>windows xp sp2</ImageName>
<ImageGroup>First Image Group</ImageGroup>
<Filename>outimage.wim</Filename>
</InstallImage>
<InstallTo>
<DiskID>0</DiskID>
<PartitionID>1</PartitionID>
</InstallTo>
</ImageSelection>
</WindowsDeploymentServices>
<DiskConfiguration>
<WillShowUI>OnError</WillShowUI>
<Disk>
<DiskID>0</DiskID>
<WillWipeDisk>false</WillWipeDisk>
<ModifyPartitions>
<ModifyPartition>
<Order>1</Order>
<PartitionID>1</PartitionID>
<Letter>C</Letter>
<Label>TestOS</Label>
<Format>NTFS</Format>
<Active>true</Active>
<Extend>false</Extend>
</ModifyPartition>
</ModifyPartitions>
</Disk>
</DiskConfiguration>
</component>
<component name="Microsoft-Windows-International-Core-WinPE" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" processorArchitecture="x86">
<SetupUILanguage>
<WillShowUI>OnError</WillShowUI>
<UILanguage>en-US</UILanguage>
</SetupUILanguage>
<UILanguage>en-US</UILanguage>
</component>
</settings>
</unattend>
По мере поступления вопросов ФАК буду дополнять и расширять =)
There are no published comments.
New comment