Disclaimer: Я не знаком с автором данного инструмента, не связан с ним никакими обязательствами, не собираюсь делать формальную рекламу данного продукта и не надеюсь ни на какие royalties со стороны его создателя :-).
Но … я вижу за данным скриптиком большое будущее и развитие, примерно такое, какое получил Magic DVD (кто был на Road Show 2008 Wave 1, наверное, помнит что это), который вырос из коротких штанишек самописной “тулзы” до статуса официально рекомендуемой практики под названием “Rapid Deployment Method for System Builders”. С практической точки зрения, даже в том виде, в каком этот продукт находится сейчас (RC), ему уже нет цены для сборщиков систем и тех, кто занимается проблематикой и экспериментаторством в разрезе Business Desktop Deployment.
Итак, знакомимся: WIM2VHD, живет в MSDN Code Gallery по адресу: http://code.msdn.microsoft.com/wim2vhd. Как и когда-то Magic DVD, представляет собой один единственный *.wsf скриптик в 2502 строки, с детальными комментариями. Запускается из под CScript и требует наличия Windows AIK для Windows 7 (на самом деле BCDBOOT.com, wimgapi.dll и ImageX.exe).
Делает следующее: создает vhd файлик, монтирует его, потом берет образ из wim файла, распаковывает его на этот vhd-раздел, и делает его загрузочным, затем демонтирует раздел для будущего использования.
Исходя из того, что образ ОС в дистрибутиве (да и вообще грамотно сделанный *.wim)– это сильно сжатый архив одного и более готовых образов (SKU) ОС, обработанных sysprep-ом (не бейте меня ногами, но это так 🙂 ), то после раскладки этого архива, система стартует на этапе “OOBE system”. Если это не запрещено в файле ответов (где-то в моем блоге проскакивал именно этот ключик для unattend.xml), то вначале конфигурационного прохода “OOBE system” еще раз будет сделана PnP диагностика и обнаружение устройств, и что не было доставлено из хранилища драйверов – доставится.
Лучше конечно посмотреть это все в иллюстрациях:
Шаг 1. Разворачиваем образ в *.vhd файлик.
Шаг 2. Модифицируем BCD – добавляем в него еще один контейнер ‘osloader’ и конфигурируем опцию проверки HAL при старте.
Шаг 3. Перезагружаемся и ждемс… (около 40 мин. в моем случае на виртуалке)
Шаг 4. Получаем знакомую картину для прохода OOBE, ну и далее — “по тексту”.
У wim2vhd есть ключик: wim2vhd.wsf /unattend:unattend.xml, который позволяет автоматизировать выполнение некоторых настроек для прохода OOBE.
И еще, загрузка из vhd поддерживается для SKU Entreprise and Ultimate. Иначе получите вот такую картину под конец мероприятия:
Выводы или что это дает (сборщикам систем, поддержке и проч.)?
1. Избавляет от значительного объема ручной работы.
2. Возможность держать на одной машине несколько ОС без переразбивки разделов и необходимости переконфигурации загрузчика. Конфигураций (софтварных) может быть несколько, и это позволяет сделать своеобразный безопасный “полигон” на реалбной машине, чего так не хватает временами.
3. А вот такой вариант:
cscript wim2vhd.wsf /wim:X:sourcesinstall.wim /sku:ultimate /qfe:C:Windows6.1-KB961367-x86.MSU
позволяет применять апдейты в процессе развертывания образа, без лишних заморочек. Кто разбирал msu на cab-ы и потом слипстримил их через Pkgmgr – оценят эту возможность по достоинству. С DISM дело стало по-лучше, конечно, но не намного.
Это конечно же не все. Утилита имеет еще ряд очень полезных ключиков, почитайте, пожалуйста в документации на продукт.
Ну и последнее, как говорил Штирлиц, то что должно запоминаться первым — кто же автор: г-н Mike Kolitz, Hyper-V Team, Microsoft Corporation. Он же автор еще одного замечательного средства для PowerShell, которое лежит рядышком: Install-WindowsImage.ps1. Его блог: http://blogs.msdn.com/mikekol/