2 ноября 2016 г.

Создание образа Windows 7 при помощи ImageX и sysprep.


Создание образа Windows 7 при помощи ImageX и sysprep.


Оригинал http://its-andreev.blogspot.ru/2012/10/windows-7-imagex-sysprep.html

1. Вводная

День добрый, уважаемый читатель. Сегодняшнюю техническую заметку я хочу посвятить одному важному делу, которое касается всех людей, кто так или иначе связан с обслуживанием операционных систем Microsoft, к примеру, Windows 7.






Некоторое время назад я активно подрабатывал - занимался ремонтом компьютерной техники. Сейчас у меня немного другие приоритеты, но все же, периодически, я занимаюсь таким ремонтом. Мне кажется, что ремонт компьютеров сейчас - это ремонт "программный", по большей части. Оборудование не так часто выходит из строя, как именно программная часть. Так вот... в своё время мне приходилось ремонтировать большое количество техники именно "программным" методом... и каждый раз это занимало немало времени. Копирование файлов, установка Windows, последующая настройка и установка программ отнимали много времени. И вот, я решил автоматизировать этот процесс.




Фактически, огромная часть описанной выше операции установки повторялась каждый раз, от клиента к клиенту. Уникальность того или иного факта ремонта - огромная редкость. Задачи, как правило, были одинаковые, в общей своей массе. Итак, преступим.





2. Решение




Создание некого универсального образа Windows 7 разделим на несколько этапов:
Настройка эталонного образа Windows 7 с программным обеспечением;
Подготовка образа к захвату с помощью Sysprep;
Захват образа в wim-файл с помощью ImageX.

Настройка эталонного образа Windows 7, включающего в себя все необходимое программное обеспечение - достаточно простая задача. Установку самой операционной системы я проводил с установочного диска, после этого установил все программы. Также, я почистил реестр системы, удалил все временные файлы и удалил некоторые программы из автозапуска. В общем, получилось так, как мне нравится : ) ну и каждый, безусловно, волен делать по-своему.




После того, как мой "эталонный" образ Windows 7 готов, его нужно подготовить к захвату. Подготовка образа к захвату выполняется с помощью средства подготовки системы Sysprep, из командной строки:




c:\windows\system32\sysprep\sysprep.exe /oobe /generalize /reboot




Так, параметр /oobe позволяет запустить компьютер, в последующий раз после выполнения команды, в режиме экрана приветствия. Это позволяет пользователю настроить систему: создать учетные записи, задать имя компьютера и так далее. Параметр /generalize указывает на то, что необходимо удалить из захватываемой системы все уникальный сведения. Ключ /reboot указывает на то, что после выполнения команды компьютер будет перезагружен. Процедура подготовки образа системы к захвату может занять некоторое время... так что, подождите немного : )




Официальная документация по программе sysprep находится тут:




http://technet.microsoft.com/ru-ru/library/cc721940




Кстати, хочу отметить, что увлекаться постоянной донастройкой образа с помощью sysprep не стоит. Дело в том, что во время выполнения sysprep /generalize таймер активации системы автоматически сбрасывается, перенастройку Windows с помощью sysprep можно выполнить не более трех раз - после третьего раза сбросить таймер активации системы будет невозможно. Обойти сброс таймера можно с помощью параметра SkipRearm в sysprep /generalize, установленного в 1.




Теперь дальше, к делу. Так, эталонная Windows 7 готова к захвату в образ - wim-файл. Запускаем Windows PE (я использовал загрузочную флэшку - создание такой флэшки описано ранее в одной из моих заметок). Обязательно в образе Windows PE должна находиться программа ImageX. Кстати, говоря о том образе Windows PE, который я создал ранее - я его немного исправил - добавил программу ImageX в сам образ системы - в папку Program Files. Это связано с тем, что после загрузки Windows PE флэшку я выниманию - следовательно, без наличия в Program Files, программа ImageX не была доступна, так как находилась в корне флэшки с Windows PE. Итак, для захвата образа системы используем ImageX:




imagex.exe /capture c: g:\install.wim "Windows 7 Image" /compress maximum /verify




Ключ /capture указывает на операцию - захват образа. Далее указывается путь к диску, где установлена эталонная система. Теперь, указываем wim-файл, который станет образом этой системы (для эксперимента, вы можете открыть wim-файл и увидите структуру каталогов эталонного образа). После указывается название данного образа в wim-файле (в таком файле может храниться несколько образов и внутри wim-файла они нумеруются). С помощью ключа /compress maximum указываем максимальную степень сжатия образа. Ключ /verify указывает на обязательную проверку образа на целостность, ошибки и дублирование файлов. Захват образа системы в wim-файл займет некоторое время.




Для захвата образа я использовал флэшку - там и был создан wim-файл. Вы можете использовать, к примеру, сетевую папку для сохранения образа - это достаточно удобно при работе в организации. Подключается она с помощью команды net use.




Описание ImageX от Microsoft можно посмотреть тут:




http://technet.microsoft.com/ru-ru/library/cc748966




И ещё, урок от Brickhouselabs по захвату образа Windows 7 с помощью ImageX:









По окончанию захвата мы получаем wim-файл - файл с эталонным образом, который можно использовать для быстрого развёртывания. Примеры развёртывания с помощью ImageX я приведу немного позже, а теперь поговорим о замечаниях, проблема и нюансах, на которые я натолкнулся в ходе работы.





3. Подводные камни при захвате и развёртывании




Первая ошибка, про которую я хочу рассказать, связана с установкой программного обеспечения в образ системы. Не все программы успешно развёртываются.




Некоторое время назад, когда я только готовил этот эталонный образ, после захвата системы у меня всегда выскакивала ошибка о невозможности запуска служб, или о том, что Windows не может продолжить установку системы. Все это происходило после того, как я переводил эталонную систему в режим подготовки к захвату, используя sysprep с параметрами /oobe и /generalize - захват проводился (успешно создавался wim-файл), но сама система после захвата не запускалась, как и после развёртывания с полученного wim-файла возникали те же самые ошибки.




Я долго искал, в чем же дело. А проблему составлял установленный антивирус - будь то Avira, Avast или Kaspersky - все было одинаково. Итак, система после sysprep оживала только тогда, когда антивируса в ней не было. Тут я принял решение - монтировать готовый образ (wim-файл) для обслуживания (с помощью того же ImageX (можно и с помощью dism) с параметрами /mountrw для обслуживания и последующим /umnount /commit для сборки) и скопировать в него на рабочий стол дистрибутивы антивирусных продуктов - так, после развёртывания эталонного образа пользователь будет волен сам себе выбрать любимый для него бесплатный продукт (я скопировал дистрибутивы Avira и Avast).




Также, по окончанию захвата стоит обратить внимание на размер образа. Мои первые wim-файлы, со всем установленными обновлениями и большим количеством программ занимали достаточно солидное место - около 5 Гб. Это вызывало проблему.




Как мы знаем, в файловой системе FAT32 не получится работать с такими файлами из-за их большого размера (более чем 2 в степени 32; проблема касается тех, кто в дальнейшем захочет сделать установочную флэшку с файловой системой FAT32). Также, система, устанавливаемая в режиме архитектуры x86, не сможет работать с wim-файлами размером более 4295 Мб.




В качестве решения первой части проблемы я использовал загрузочную флэшку в режиме NTFS - создавал на ней загрузочную запись. А при решении второй части проблемы нашел инструмент в ImageX - программа умеет делить wim-файл на части с помощью команды /split. Разделенный образ можно подводить под нужный объём - для записи на CD, DVD, флэшки с различными файловыми системами и объёмами.





4. Пример развёртывания Windows из wim-файла




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




Итак, к примеру. Для того, чтобы развернуть образ системы на компьютер, необходимо сделать следующие шаги:
Запустить на компьютере Windows PE;
Разметить жесткий диск с помощью команды diskpart;
Применить wim-файл к разделу жесткого диска с помощью ImageX;
Инициализировать системный раздел с помощью bcdboot.


Запускаем Windows PE. В открывшемся окне командной строки запускаем diskpart и размечаем диск для предстоящего развёртывания Windows 7:






diskpart

list disk

select disk 0

clean

create partition primary

assign letter c:


active

format fs=ntfs quick

exit




Теперь, с помощью ImageX разделим получившийся до этого wim-файл на несколько частей, чтобы он успешно принимался системой (образ захватываемой мной системой был архитектуры x86):




imagex /split g:\install.wim g:\install.swm 3000




Теперь, фактически, мы разрезали исходный wim-файл на swm-файлы максимальным объёмом 3000 Мб. Файлы получают имена install.swm и install2.swm соответственно, в порядке разделения. После, нам необходимо применить эти файлы к нашему размеченному диску:




imagex /apply g:\install.swm /ref g:\install2.swm 1 c:




Мы указываем с помощью команды /apply операцию применения swm-файлов, номер образа системы в наборе этих файлов и диск c: в качестве приёмника образа. Если бы мы использовали более маленький по размеру образ (позволяющий выполнить установку с архитектурой x86), то команда имела бы следующий вид:




imagex /apply g:\install.wim 1 c:




После некоторого времени образ системы развернется в указанный раздел. Теперь нам необходимо инициализировать хранилище BCD и скопировать файлы среды загрузки в системный раздел. Делается это следующей командой:




c:\windows\system32\bcdboot.exe c:\windows




Теперь можно перезагружать компьютер. После перезагрузки система будет частично настроена пользователем и готова к использованию.





5. Результат




В результате нашей работы мы получили готовый настроенный образ Windows 7 с предустановленным пакетом обновлений и программ в виде wim-файла. Развёртывание такого образа легко осуществить с помощью Windows PE, ImageX, diskpart и bcdboot.




В следующей заметке мы поговорим о том, как сделать установочную флэшку Windows 7 с минимальным участием в процессе установки системы.




Хорошего Вам дня! : )



Автор: Владимир Андреев на 21:31


Отправить по электронной почтеНаписать об этом в блогеОпубликовать в TwitterОпубликовать в FacebookПоделиться в Pinterest













12 комментариев:






Иван Башарин26 декабря 2012 г., 13:25


Добрый день!

Спасибо за заметку, благодаря ей разобрался немного с winpe. Правда почему-то не получается запустить imagex если записывать её в образ, а вот если в Program Files то всё ок.

Ответить






Ответы

















Владимир Андреев26 декабря 2012 г., 13:55


Иван, её точно можно запустить... просто в таком случае она будет запускаться не с виртуального жесткого диска (X:), а с CD / DVD - привода, или с флэшки. Точно могу сказать, что сам запускал... и всё работает.

Если что - обращайтесь.









Иван Башарин26 декабря 2012 г., 18:11


Спасибо, Владимир!

Действительно, как-то я прошляпил этот момент, создаётся диск привода и оттуда её можно запустить, видимо поторопился. Как я понял буква диска рандом, в отличие от x:, а вот как узнать букву кроме как перебирать при помощи cd?









Владимир Андреев26 декабря 2012 г., 18:29


Иван, я, к примеру, добавил в образ ImageX бесплатный Shell - Far Manager :) им и пользуюсь при загрузке - запускаю Shell с командной строки... ну а потом всё тривиально, и, главное - очень удобно!








Ответить











Unknown20 августа 2013 г., 10:10


Что будет елси развернуть образ на комп с иной видяхой или иным чипсетом или иными настройками SATA/AHCI?

Ответить






Ответы

















Владимир Андреев20 августа 2013 г., 10:22


Система попросит установить драйвера (а, скорее всего, сама установит).

Что значит "иными настройками SATA/AHCI?"??? Что за "настройки"?








Ответить











Andrey Kondratyev12 сентября 2013 г., 14:09


Добрый день! У меня так же возникли проблемы с запуском Imagex, прошу подсказати пути решения это проблемки если возможно подробнее. Заранее благодарю

Ответить






Ответы

















Владимир Андреев12 сентября 2013 г., 14:11


Андрей, день добрый!

Скажите, какая проблема произошла? По-конкретней, пожалуйста.








Ответить











Andrey Kondratyev12 сентября 2013 г., 14:59


Проблема заключается в том, что программа не запускается. Т.е я загружаюсь с флешки появляется консоль. Я ввожу название программы imagex и получаю в ответ сообщение о том что программа не найдена. Как то так. Причем diskpart запускается аналогичным способом. Пробовал размещать imagex в разные папки. Например mount.

Ответить






Ответы

















Владимир Андреев12 сентября 2013 г., 15:35


Андрей, обратите внимание на статью http://its-andreev.blogspot.ru/2012/10/windows-pe.html - попробуйте разместить imagex.exe файл в папке Program Files в образе WinPE.

Также, при выполнении команды, укажите ЯВНЫМ образом (полный путь) исполняемый файл imagex.exe








Ответить











Furious Fire7 октября 2013 г., 18:43


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

Ответить







Валентина Халилова25 октября 2013 г., 1:39


Добрый день.

Я сделал wim образ, переписал его в дистрибутив, а когда начал с него устанавливать Винду, после окна с кнопкой "Установить" высветилось окно "ВВеденный ключ продукта не соответствует ни одному из образов Windows, доступных для установки. Введите другой ключ продукта" Подскажите плиз выход из сложившейся ситуации. Заранее спасибо!

Ответить



Ярлыки:

Комментарии: 0:

Отправить комментарий

Коммент

Подпишитесь на каналы Комментарии к сообщению [Atom]

<< Главная страница