alegz81
31-08-2012, 14:54
Создание установочного диска Windows 8.1 Update EN RU TR x86 и x64
В общем работа с windows 8 практически не отличается от windows 7.
Так что подробно будет описано только то, что относится к windows 8.
Если же вы в первые решили создать сборку или что-то не понятно, то прочитайте статью
Создание мультиязычного установочного диска Windows 7 SP1 x86 и x64 (http://forum.oszone.net/thread-161637.html)
ВНИМАНИЕ. Если вы работаете в 64-х битной системе, то создать файл каталога (.clg) для Windows x86 у вас не получится. (инфо (http://technet.microsoft.com/ru-RU/library/hh825004.aspx))
Вот то что мне понадобилось для работы:
1. Комплект средств для развертывания и оценки Windows (ADK) для Windows 8.1 Update скачать (http://www.microsoft.com/en-us/download/details.aspx?id=39982)
2. Оригинальный установочный диск Windows 8.1 Update EN x86 или Windows 8.1 Update EN x64.
3. Языковые пакеты для Windows 8.1, отдельных пакетов для Windows 8.1 Update нет (я собираю диск с тремя языками – английский, русский и турецкий. Соответственно я использовал русский и турецкий пакеты. ВНИМАНИЕ пакеты для х86 и х64 разные). Для OEM-ов Microsoft предоставила обновления для языковых пакетов (http://technet.microsoft.com/en-us/library/dn613858.aspx). Обычным пользователям оно не доступно, но кто ищет тот найдет. :smirk:
4. VMware Workstation 10.0.1 или VirtualBox 4.3.12.
5. Эмулятор CD-DVD (Alcohol 120%). Если работаете в Windows 8.x, то не нужен.
6. Редактор SciTE или FAR 2.0
7. Обновления для Windows 8.1 Update. Можно взять здесь (http://forum.ru-board.com/topic.cgi?forum=62&topic=25328&start=824&limit=1&m=1#1), или с помощью этой (http://forums.mydigitallife.info/threads/44645) программы.
Для установки ADK нужно скачать файл adksetup.exe, который является веб-установщиком.
При установке есть два варианта:
1 Установка нужных компонентов на компьютер.
2 Скачивание всего пакета для последующей off-line установки.
Первый способ самый быстрый и экономичный в плане интернет-трафика - будет скачано только то что нужно.
При втором будет скачан весь пакет со всеми дополнительными зависимостями , но потом можно ставить уже без интернета.
Из всего ADK нужно установить только "Средства развертывания" и "Среда предустановки Windows (Windows PE)"
Я буду показывать все действия на примере Windows 8.1 Update Ent x64, но все это так же работает и на других редакциях Windows 8.1 Update.
Теперь надо создать структуру папок для работы.
Вот текст батника который это делает:
@echo off
:Start
ECHO.
ECHO Этот командный файл создает структуру папок для
ECHO работы над автоматической установкой Windows 8.1 Update
ECHO.
ECHO Для начала просто нажмите любую клавишу.
PAUSE > NUL
:CreateFolders
CLS
ECHO.
ECHO Создание папок . . .
SET work=%CD%\window8.1updEntx64
IF NOT EXIST %work%\NUL MKDIR %work%
IF NOT EXIST %work%\DVD\NUL MKDIR %work%\DVD
IF NOT EXIST %work%\ISO\NUL MKDIR %work%\ISO
IF NOT EXIST %work%\Logs\NUL MKDIR %work%\Logs
IF NOT EXIST %work%\Mount\NUL MKDIR %work%\Mount
IF NOT EXIST %work%\wim\NUL MKDIR %work%\wim
IF NOT EXIST %work%\Sandbox\NUL MKDIR %work%\Sandbox
IF NOT EXIST %work%\Updates\NUL MKDIR %work%\Updates
IF NOT EXIST %work%\xml\NUL MKDIR %work%\xml
IF NOT EXIST %work%\bootwim\NUL MKDIR %work%\bootwim
IF NOT EXIST %work%\bootwim\lp\NUL MKDIR %work%\bootwim\lp
IF NOT EXIST %work%\bootwim\mount\NUL MKDIR %work%\bootwim\mount
IF NOT EXIST %work%\winREwim\NUL MKDIR %work%\winREwim
IF NOT EXIST %work%\winREwim\mount\NUL MKDIR %work%\winREwim\mount
IF NOT EXIST %work%\mui\NUL MKDIR %work%\mui
IF NOT EXIST %work%\mui\upd\NUL MKDIR %work%\mui\upd
ECHO.
ECHO Процесс создания структуры папок завершен!
pause
exit
Сохраните его в файл с названием Windows8.1updEntx64.cmd в DOS(OEM866) кодировке. Это можно сделать с помощью FARа или SciTE. Скопируйте файл в то место где вы хотите создать папки и запустите (у меня С:\win). А для windows x86 сохраните в файл с названием Windows8.1updEntx86.cmd, и измените строчку «SET work=%CD%\window8.1updEntx64» на «SET work=%CD%\window8.1updEntx86».
Копирую языковые пакеты для Windows 8.1 x64 ( у меня папки ru-ru и tr-tr в которых находятся lp.cab) в С:\win\window8Entx64\mui. Обновления для языковых пакетов в С:\win\window8Entx64\mui\upd (папки ru-ru и tr-tr в которых находятся Windows8.1-KB2938307-x64.msu и Windows8.1-KB2938315-x64.msu соответственно).
Копирую языковые пакеты для Win PE x64 из C:\Program Files\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs (для х86 C:\Program Files\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs) в С:\win\window8Entx64\bootwim\lp. Я уже давно делаю сборки на виртуальной машине, на данный момент это Windows 8.1 Update x86 в которой стоит только необходимый софт. Во первых нет ни каких конфликтов с другими программами, которые обязательно вылезли бы на рабочей системе. Во вторых можно собирать все разрядности (архитектура x86, x64, Windows(R) RT ARM) без всяких проблем (http://technet.microsoft.com/ru-RU/library/hh825004.aspx).
Копирую весь установочный диск windows 8.1 Update Ent x64 в папку С:\win\window8.1updEntx64\DVD.
Обновления, если они есть, копирую в С:\win\window8.1updEntx64\Updates в соответствии с рекомендациями по интеграции.
Пути подставите свои.
С подготовкой закончено.
Теперь можно установить нужные языки в дистрибутив.
Для этого я подготовил батник Win8.1Build.cmd.
Он хорошо прокомментирован, так что думаю будет всем понятен.
Для временных файлов используется %wd%\Sandbox\.
Все логи записываются в %wd%\Logs\.
Перед каждым отключением образа, делается пауза.
Так что можно внести еще свои изменения в подключенный образ.
В батнике надо изменить параметр wd указывающий на папку с рабочим окружением -> set wd=C:\win\window8.1updEntx64
Перед изменением install.wim, батник покажет информацию об имеющихся в нем образах и их индексах и попросит указать нужный.
Так же можно указать индекс нужного образа в install.wim, если точно знаете какая редакция Windows 8.1 Update нужна.
Для этого надо раскомментировать (стр. 12)
rem индекс нужного образа в install.wim
rem set indx=1
что бы было вот так
rem индекс нужного образа в install.wim
set indx=1
и закомментировать запрос нужного индекса (стр. 116)
set /P indx="Укажите индекс нужного образа -> "
что бы было вот так
rem set /P indx="Укажите индекс нужного образа -> "
Если у вас нет обновлений для языковых пакетов (http://technet.microsoft.com/en-us/library/dn613858.aspx), то не страшно. Все необходимое скачается через Windows Update.
Команды для установки этих обновлений в скрипте есть (строки 135-137 и 184-186), но они закомментированы.
rem ECHO .
rem ECHO Установка обновлений для языковых пакетов Install.wim
rem Dism /LogPath:%wd%\Logs\DISM.log /Image:%wd%\Mount /ScratchDir:%wd%\Sandbox /Add-Package /PackagePath:%wd%\mui\upd\ru-ru\Windows8.1-KB2938307-x64.msu /PackagePath:%wd%\mui\upd\tr-tr\Windows8.1-KB2938315-x64.msu
и
rem ECHO .
rem ECHO Установка обновлений для языковых пакетов Winre.wim
rem Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winREwim\mount /Add-Package /PackagePath:%wd%\mui\upd\ru-ru\Windows8.1-KB2938307-x64.msu /PackagePath:%wd%\mui\upd\tr-tr\Windows8.1-KB2938315-x64.msu
Ну а если эти пакеты у вас есть, то раскомментируйте эти строки и измените под себя.
Для x86 свои файлы, название отличается только указанием архитектуры - Windows8.1-KB2938307-x86.msu - для русского языкового пакета.
Для нормальной работы многих программ нужен .Net Framework 2 или 3, которые по умолчанию не установлены в Windows 8.1 Update и доступны в виде компонента.
По этому включаем этот компонент в дистрибутиве, что бы в установленной системе он уже был.
ВНИМАНИЕ. Первым всегда надо включать компонент .Net Framework, а потом интегрировать языковые пакеты. Иначе будут проблемы.
К другим компонентам это не относится.(инфо (http://msdn.microsoft.com/ru-ru/library/hh506443.aspx))
Команда для интеграции обновлений так же закомментирована (стр. 147-149)
Предполагается что все обновления находятся в одной папке Updates.
rem ECHO .
rem ECHO Установка обновлений
rem Dism /LogPath:%wd%\Logs\DISM.log /Image:%wd%\Mount /ScratchDir:%wd%\Sandbox /Add-Package /PackagePath:%wd%\Updates
Win8.1Build.cmd надо сохранить в DOS(OEM866) кодировке.
Открыть от имени Администратора "Среда средств развертывания и работы с образами" и запустить батник из нее.
С:\win\Win8.1Build.cmd
@Echo off
::Alegz81 2014
ECHO Этот командный файл интегрирует языковые пакеты и обновления в дистрибутив Windows 8.1 Update
ECHO.
ECHO Для начала просто нажмите любую клавишу.
PAUSE > NUL
rem папка с рабочим окружением
set wd=C:\win\window8.1updEntx64
rem индекс нужного образа в install.wim
rem set indx=1
cls
ECHO .
ECHO Копирую boot.wim из %wd%\DVD\sources\ в %wd%\bootwim\ , и создаю резервную копию %wd%\bootwim\boot.wim.bak
copy /Y %wd%\DVD\sources\boot.wim %wd%\bootwim\boot.wim.bak
copy /Y %wd%\DVD\sources\boot.wim %wd%\bootwim\
ECHO .
ECHO Просмотр имеющихся образов и их индексы в boot.wim
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Get-WIMInfo /WimFile:%wd%\bootwim\boot.wim
ECHO .
ECHO Подключение первого образа WinPE(index:1)
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Mount-Wim /WimFile:%wd%\bootwim\boot.wim /index:1 /MountDir:%wd%\bootwim\mount
ECHO .
ECHO Просмотр установленных языков
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Get-Intl
ECHO .
ECHO Установка языков
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Add-Package /PackagePath:%wd%\bootwim\lp\ru-ru\lp.cab /PackagePath:%wd%\bootwim\lp\tr-tr\lp.cab
rem Установлены следующие пакеты (6 штук):
rem WinPE-EnhancedStorage-Package, WinPE-Scripting-Package, WinPE-SecureStartup-Package, WinPE-SRT-Package, WinPE-WDS-Tools-Package, WinPE-WMI-Package
ECHO .
ECHO Установка локализации пакетов
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Add-Package /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-EnhancedStorage_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-EnhancedStorage_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-Scripting_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-Scripting_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-SecureStartup_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-SecureStartup_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-SRT_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-SRT_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-WDS-Tools_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-WDS-Tools_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-WMI_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-WMI_tr-tr.cab
ECHO .
ECHO Создание нового файла lang.ini
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Gen-LangINI /distribution:%wd%\bootwim\mount
ECHO .
ECHO Просмотр установленных пакетов
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Get-Packages
ECHO .
ECHO Просмотр установленных языков
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Get-Intl
ECHO Работа над первым образом boot.wim закончена
ECHO Что бы отключить образ с сохранением нажмите любую клавишу
pause > NUL
cls
ECHO .
ECHO Отключение образа с сохранением всех изменений
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /unmount-Wim /MountDir:%wd%\bootwim\mount /Commit
ECHO .
ECHO Подключение второго образа WinPE (index:2)
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Mount-Wim /WimFile:%wd%\bootwim\boot.wim /index:2 /MountDir:%wd%\bootwim\mount
ECHO .
ECHO Просмотр установленных языков
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Get-Intl
ECHO .
ECHO Установка языков
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Add-Package /PackagePath:%wd%\bootwim\lp\ru-ru\lp.cab /PackagePath:%wd%\bootwim\lp\tr-tr\lp.cab
rem Установлены следующие пакеты (8 штук):
rem WinPE-EnhancedStorage-Package, WinPE-Scripting-Package, WinPE-SecureStartup-Package, WinPE-Setup-Client-Package, WinPE-Setup-Package, WinPE-SRT-Package, WinPE-WDS-Tools-Package, WinPE-WMI-Package
ECHO .
ECHO Установка локализации пакетов
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Add-Package /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-EnhancedStorage_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-EnhancedStorage_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-Scripting_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-Scripting_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-SecureStartup_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-SecureStartup_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-SRT_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-SRT_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-WDS-Tools_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-WDS-Tools_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-WMI_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-WMI_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-Setup-Client_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-Setup-Client_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-Setup_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-Setup_tr-tr.cab
ECHO .
ECHO Создание нового файла lang.ini
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Gen-LangINI /distribution:%wd%\bootwim\mount
ECHO .
ECHO Просмотр установленных пакетов
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Get-Packages
ECHO .
ECHO Просмотр установленных языков
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Get-Intl
ECHO Работа над вторым образом boot.wim закончена
ECHO Что бы отключить образ с сохранением нажмите любую клавишу
pause > NUL
cls
ECHO .
ECHO Отключение образа с сохранением всех изменений
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /unmount-Wim /MountDir:%wd%\bootwim\mount /Commit
ECHO .
ECHO Копирую новый boot.wim в %wd%\DVD\sources
copy /Y %wd%\bootwim\boot.wim %wd%\DVD\sources\
ECHO Работа над boot.wim закончена
ECHO Начинаем работать с install.wim
pause
cls
ECHO .
ECHO Просмотр имеющихся образов и их индексы в %wd%\DVD\sources\install.wim
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Get-WIMInfo /WimFile:%wd%\DVD\sources\install.wim
ECHO .
set /P indx="Укажите индекс нужного образа -> "
ECHO Подключение образа № %indx%
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Mount-WIM /WimFile:%wd%\DVD\sources\install.wim /index:%indx% /MountDir:%wd%\Mount
ECHO .
ECHO Включаем компонент .Net Framework 3.5
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Image:%wd%\Mount /Enable-Feature /FeatureName:NetFx3 /Source:%wd%\DVD\sources\sxs
ECHO .
ECHO Проверяем состояние компонента .Net Framework 3.5
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Image:%wd%\Mount /Get-FeatureInfo /FeatureName:NetFx3
ECHO .
ECHO Просмотр установленных языков
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\Mount /Get-Intl
ECHO .
ECHO Установка языков
Dism /LogPath:%wd%\Logs\DISM.log /Image:%wd%\Mount /ScratchDir:%wd%\Sandbox /Add-Package /PackagePath:%wd%\mui\ru-ru\lp.cab /PackagePath:%wd%\mui\tr-tr\lp.cab
rem ECHO .
rem ECHO Установка обновлений для языковых пакетов install.wim
rem Dism /LogPath:%wd%\Logs\DISM.log /Image:%wd%\Mount /ScratchDir:%wd%\Sandbox /Add-Package /PackagePath:%wd%\mui\upd\ru-ru\Windows8.1-KB2938307-x64.msu /PackagePath:%wd%\mui\upd\tr-tr\Windows8.1-KB2938315-x64.msu
ECHO .
ECHO Создание нового файла lang.ini
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Image:%wd%\Mount /Gen-LangINI /Distribution:%wd%\DVD
ECHO .
ECHO Просмотр установленных языков
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\Mount /Get-Intl
rem ECHO .
rem ECHO Установка обновлений
rem Dism /LogPath:%wd%\Logs\DISM.log /Image:%wd%\Mount /ScratchDir:%wd%\Sandbox /Add-Package /PackagePath:%wd%\Updates
ECHO Работа над install.wim закончена
ECHO Что бы начать работу над WinRE нажмите любую клавишу
pause > NUL
cls
ECHO ========================================
ECHO Изменение WinRE
ECHO ========================================
ECHO .
ECHO Изменение атрибутов winre.wim
attrib -s -h %wd%\Mount\Windows\System32\Recovery\winre.wim
ECHO .
ECHO Копирую WinRE.wim из %wd%\Mount\Windows\System32\Recovery\ в %wd%\winREwim\ , и создаю резервную копию %wd%\winREwim\Winre.wim.bak
copy /Y %wd%\Mount\Windows\System32\Recovery\winre.wim %wd%\winREwim\Winre.wim.bak
copy /Y %wd%\Mount\Windows\System32\Recovery\winre.wim %wd%\winREwim\
ECHO .
ECHO Просмотр имеющихся образов и их индексы в %wd%\winREwim\Winre.wim
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Get-WIMInfo /WimFile:%wd%\winREwim\Winre.wim
ECHO .
ECHO Подключение первого образа Winre.wim(index:1)
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Mount-Wim /WimFile:%wd%\winREwim\Winre.wim /index:1 /MountDir:%wd%\winREwim\mount
ECHO .
ECHO Просмотр установленных языков Winre.wim
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winREwim\mount /Get-Intl
ECHO .
ECHO Установка языков Winre.wim
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winREwim\mount /Add-Package /PackagePath:%wd%\bootwim\lp\ru-ru\lp.cab /PackagePath:%wd%\bootwim\lp\tr-tr\lp.cab
rem ECHO .
rem ECHO Установка обновлений для языковых пакетов Winre.wim
rem Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winREwim\mount /Add-Package /PackagePath:%wd%\mui\upd\ru-ru\Windows8.1-KB2938307-x64.msu /PackagePath:%wd%\mui\upd\tr-tr\Windows8.1-KB2938315-x64.msu
ECHO .
ECHO Просмотр установленных пакетов Winre.wim
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winREwim\mount /Get-Packages
rem Установлены следующие пакеты (8 штук):
rem WinPE-EnhancedStorage-Package WinPE-Rejuv-Package WinPE-Scripting-Package WinPE-SecureStartup-Package WinPE-SRT-Package WinPE-StorageWMI-Package WinPE-WDS-Tools-Package WinPE-WMI-Package
ECHO .
ECHO Установка локализации пакетов Winre.wim
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winREwim\mount /Add-Package /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-EnhancedStorage_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-EnhancedStorage_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-Rejuv_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-Rejuv_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-Scripting_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-Scripting_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-SecureStartup_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-SecureStartup_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-SRT_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-SRT_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-StorageWMI_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-StorageWMI_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-WDS-Tools_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-WDS-Tools_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-WMI_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-WMI_tr-tr.cab
ECHO .
ECHO Создание нового файла lang.ini
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winREwim\mount /Gen-LangINI /distribution:%wd%\winREwim\mount
cls
ECHO .
ECHO Просмотр установленных пакетов Winre.wim
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winREwim\mount /Get-Packages
ECHO .
ECHO Просмотр установленных языков Winre.wim
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winREwim\mount /Get-Intl
ECHO ========================================
ECHO Изменение WinRE закончено
ECHO ========================================
ECHO Что бы отключить WinRE с сохранением нажмите любую клавишу
pause > NUL
ECHO Отключение образа WinRE.wim с сохранением всех изменений
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /unmount-Wim /MountDir:%wd%\winREwim\mount /Commit
ECHO .
ECHO Копирую новый WinRE.wim в %wd%\Mount\Windows\System32\Recovery\
ECHO И меняю атрибуты
copy /Y %wd%\winREwim\winre.wim %wd%\Mount\Windows\System32\Recovery\
attrib +s +h %wd%\Mount\Windows\System32\Recovery\winre.wim
ECHO ========================================
ECHO ========================================
ECHO Работа над install.wim закончена
ECHO Что бы отключить образ с сохранением нажмите любую клавишу
pause > NUL
ECHO Отключение образа install.wim с сохранением всех изменений
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /unmount-Wim /MountDir:%wd%\Mount /Commit
ECHO Работа закончена
ECHO Что бы выйти нажмите любую клавишу
pause > NUL
exit /b 0
Теперь осталось подготовить файл ответов и создать загрузочный диск.
Запускаем "Диспетчер установки Windows" с правами Администратора. Открываем наш Install.wim – Файл-Выбрать образ Windows. Потом выбираем нужную версию Windows и создаем файл каталога.
На форуме есть раздел посвященный файлу ответа в котором есть ссылки на статьи с подробным описанием. Хоть в статье показывается на примере Windows Vista, все это подходит и к Windows 8.
Есть важное замечание.
В отличии от Windows 7, где можно установить нужную редакцию без ввода ключа, в Windows 8 это не возможно.
В файле ответов обязательно должен быть ключ подходящий для устанавливаемой редакции.
Исключение составляет Windows 8 Enterprise, в которой ключ уже "вшит" в дистрибутив.
Для других редакций ключ должен быть в секции 1windowsPE Microsoft-Windows-Setup__neutral-UserData/ProductKey
Файл должен называться «AUTOUNATTEND.XML», и лежать в ..\DVD.
В форуме действует ограничение на количество символов с посте - 30000.
Если я включу примеры файлов ответа, то выйду за это ограничение.
Так что примеров не будет.
Запускаем с правами Администратора «Среда средств развертывания и работы с образами». Не забываем про «set wd=C:\win\window8.1updEntx64».
Будем делать загрузочный образ с двойной загрузкой - BIOS\MBR и UEFI\GPT
Создание загрузочного образа x86
oscdimg -h -lWindows8.1Upd_Ent_x86 -m -u1 -udfver102 -oc -bootdata:2#p0,e,b"%wd%\DVD\boot\etfsboot.com"#pEF,e,b"%wd%\DVD\efi\microsoft\boot\efisys.bin" %wd%\DVD %wd%\ISO\Windows8.1Upd_Ent_x86.iso
Создание загрузочного образа x64
oscdimg -h -lWindows8.1Upd_Ent_x64 -m -u1 -udfver102 -oc -bootdata:2#p0,e,b"%wd%\DVD\boot\etfsboot.com"#pEF,e,b"%wd%\DVD\efi\microsoft\boot\efisys.bin" %wd%\DVD %wd%\ISO\Windows8.1Upd_Ent_x64.iso
В папке ISO появится готовый образ, который можно проверить на виртуальной машине.
В общем работа с windows 8 практически не отличается от windows 7.
Так что подробно будет описано только то, что относится к windows 8.
Если же вы в первые решили создать сборку или что-то не понятно, то прочитайте статью
Создание мультиязычного установочного диска Windows 7 SP1 x86 и x64 (http://forum.oszone.net/thread-161637.html)
ВНИМАНИЕ. Если вы работаете в 64-х битной системе, то создать файл каталога (.clg) для Windows x86 у вас не получится. (инфо (http://technet.microsoft.com/ru-RU/library/hh825004.aspx))
Вот то что мне понадобилось для работы:
1. Комплект средств для развертывания и оценки Windows (ADK) для Windows 8.1 Update скачать (http://www.microsoft.com/en-us/download/details.aspx?id=39982)
2. Оригинальный установочный диск Windows 8.1 Update EN x86 или Windows 8.1 Update EN x64.
3. Языковые пакеты для Windows 8.1, отдельных пакетов для Windows 8.1 Update нет (я собираю диск с тремя языками – английский, русский и турецкий. Соответственно я использовал русский и турецкий пакеты. ВНИМАНИЕ пакеты для х86 и х64 разные). Для OEM-ов Microsoft предоставила обновления для языковых пакетов (http://technet.microsoft.com/en-us/library/dn613858.aspx). Обычным пользователям оно не доступно, но кто ищет тот найдет. :smirk:
4. VMware Workstation 10.0.1 или VirtualBox 4.3.12.
5. Эмулятор CD-DVD (Alcohol 120%). Если работаете в Windows 8.x, то не нужен.
6. Редактор SciTE или FAR 2.0
7. Обновления для Windows 8.1 Update. Можно взять здесь (http://forum.ru-board.com/topic.cgi?forum=62&topic=25328&start=824&limit=1&m=1#1), или с помощью этой (http://forums.mydigitallife.info/threads/44645) программы.
Для установки ADK нужно скачать файл adksetup.exe, который является веб-установщиком.
При установке есть два варианта:
1 Установка нужных компонентов на компьютер.
2 Скачивание всего пакета для последующей off-line установки.
Первый способ самый быстрый и экономичный в плане интернет-трафика - будет скачано только то что нужно.
При втором будет скачан весь пакет со всеми дополнительными зависимостями , но потом можно ставить уже без интернета.
Из всего ADK нужно установить только "Средства развертывания" и "Среда предустановки Windows (Windows PE)"
Я буду показывать все действия на примере Windows 8.1 Update Ent x64, но все это так же работает и на других редакциях Windows 8.1 Update.
Теперь надо создать структуру папок для работы.
Вот текст батника который это делает:
@echo off
:Start
ECHO.
ECHO Этот командный файл создает структуру папок для
ECHO работы над автоматической установкой Windows 8.1 Update
ECHO.
ECHO Для начала просто нажмите любую клавишу.
PAUSE > NUL
:CreateFolders
CLS
ECHO.
ECHO Создание папок . . .
SET work=%CD%\window8.1updEntx64
IF NOT EXIST %work%\NUL MKDIR %work%
IF NOT EXIST %work%\DVD\NUL MKDIR %work%\DVD
IF NOT EXIST %work%\ISO\NUL MKDIR %work%\ISO
IF NOT EXIST %work%\Logs\NUL MKDIR %work%\Logs
IF NOT EXIST %work%\Mount\NUL MKDIR %work%\Mount
IF NOT EXIST %work%\wim\NUL MKDIR %work%\wim
IF NOT EXIST %work%\Sandbox\NUL MKDIR %work%\Sandbox
IF NOT EXIST %work%\Updates\NUL MKDIR %work%\Updates
IF NOT EXIST %work%\xml\NUL MKDIR %work%\xml
IF NOT EXIST %work%\bootwim\NUL MKDIR %work%\bootwim
IF NOT EXIST %work%\bootwim\lp\NUL MKDIR %work%\bootwim\lp
IF NOT EXIST %work%\bootwim\mount\NUL MKDIR %work%\bootwim\mount
IF NOT EXIST %work%\winREwim\NUL MKDIR %work%\winREwim
IF NOT EXIST %work%\winREwim\mount\NUL MKDIR %work%\winREwim\mount
IF NOT EXIST %work%\mui\NUL MKDIR %work%\mui
IF NOT EXIST %work%\mui\upd\NUL MKDIR %work%\mui\upd
ECHO.
ECHO Процесс создания структуры папок завершен!
pause
exit
Сохраните его в файл с названием Windows8.1updEntx64.cmd в DOS(OEM866) кодировке. Это можно сделать с помощью FARа или SciTE. Скопируйте файл в то место где вы хотите создать папки и запустите (у меня С:\win). А для windows x86 сохраните в файл с названием Windows8.1updEntx86.cmd, и измените строчку «SET work=%CD%\window8.1updEntx64» на «SET work=%CD%\window8.1updEntx86».
Копирую языковые пакеты для Windows 8.1 x64 ( у меня папки ru-ru и tr-tr в которых находятся lp.cab) в С:\win\window8Entx64\mui. Обновления для языковых пакетов в С:\win\window8Entx64\mui\upd (папки ru-ru и tr-tr в которых находятся Windows8.1-KB2938307-x64.msu и Windows8.1-KB2938315-x64.msu соответственно).
Копирую языковые пакеты для Win PE x64 из C:\Program Files\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs (для х86 C:\Program Files\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs) в С:\win\window8Entx64\bootwim\lp. Я уже давно делаю сборки на виртуальной машине, на данный момент это Windows 8.1 Update x86 в которой стоит только необходимый софт. Во первых нет ни каких конфликтов с другими программами, которые обязательно вылезли бы на рабочей системе. Во вторых можно собирать все разрядности (архитектура x86, x64, Windows(R) RT ARM) без всяких проблем (http://technet.microsoft.com/ru-RU/library/hh825004.aspx).
Копирую весь установочный диск windows 8.1 Update Ent x64 в папку С:\win\window8.1updEntx64\DVD.
Обновления, если они есть, копирую в С:\win\window8.1updEntx64\Updates в соответствии с рекомендациями по интеграции.
Пути подставите свои.
С подготовкой закончено.
Теперь можно установить нужные языки в дистрибутив.
Для этого я подготовил батник Win8.1Build.cmd.
Он хорошо прокомментирован, так что думаю будет всем понятен.
Для временных файлов используется %wd%\Sandbox\.
Все логи записываются в %wd%\Logs\.
Перед каждым отключением образа, делается пауза.
Так что можно внести еще свои изменения в подключенный образ.
В батнике надо изменить параметр wd указывающий на папку с рабочим окружением -> set wd=C:\win\window8.1updEntx64
Перед изменением install.wim, батник покажет информацию об имеющихся в нем образах и их индексах и попросит указать нужный.
Так же можно указать индекс нужного образа в install.wim, если точно знаете какая редакция Windows 8.1 Update нужна.
Для этого надо раскомментировать (стр. 12)
rem индекс нужного образа в install.wim
rem set indx=1
что бы было вот так
rem индекс нужного образа в install.wim
set indx=1
и закомментировать запрос нужного индекса (стр. 116)
set /P indx="Укажите индекс нужного образа -> "
что бы было вот так
rem set /P indx="Укажите индекс нужного образа -> "
Если у вас нет обновлений для языковых пакетов (http://technet.microsoft.com/en-us/library/dn613858.aspx), то не страшно. Все необходимое скачается через Windows Update.
Команды для установки этих обновлений в скрипте есть (строки 135-137 и 184-186), но они закомментированы.
rem ECHO .
rem ECHO Установка обновлений для языковых пакетов Install.wim
rem Dism /LogPath:%wd%\Logs\DISM.log /Image:%wd%\Mount /ScratchDir:%wd%\Sandbox /Add-Package /PackagePath:%wd%\mui\upd\ru-ru\Windows8.1-KB2938307-x64.msu /PackagePath:%wd%\mui\upd\tr-tr\Windows8.1-KB2938315-x64.msu
и
rem ECHO .
rem ECHO Установка обновлений для языковых пакетов Winre.wim
rem Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winREwim\mount /Add-Package /PackagePath:%wd%\mui\upd\ru-ru\Windows8.1-KB2938307-x64.msu /PackagePath:%wd%\mui\upd\tr-tr\Windows8.1-KB2938315-x64.msu
Ну а если эти пакеты у вас есть, то раскомментируйте эти строки и измените под себя.
Для x86 свои файлы, название отличается только указанием архитектуры - Windows8.1-KB2938307-x86.msu - для русского языкового пакета.
Для нормальной работы многих программ нужен .Net Framework 2 или 3, которые по умолчанию не установлены в Windows 8.1 Update и доступны в виде компонента.
По этому включаем этот компонент в дистрибутиве, что бы в установленной системе он уже был.
ВНИМАНИЕ. Первым всегда надо включать компонент .Net Framework, а потом интегрировать языковые пакеты. Иначе будут проблемы.
К другим компонентам это не относится.(инфо (http://msdn.microsoft.com/ru-ru/library/hh506443.aspx))
Команда для интеграции обновлений так же закомментирована (стр. 147-149)
Предполагается что все обновления находятся в одной папке Updates.
rem ECHO .
rem ECHO Установка обновлений
rem Dism /LogPath:%wd%\Logs\DISM.log /Image:%wd%\Mount /ScratchDir:%wd%\Sandbox /Add-Package /PackagePath:%wd%\Updates
Win8.1Build.cmd надо сохранить в DOS(OEM866) кодировке.
Открыть от имени Администратора "Среда средств развертывания и работы с образами" и запустить батник из нее.
С:\win\Win8.1Build.cmd
@Echo off
::Alegz81 2014
ECHO Этот командный файл интегрирует языковые пакеты и обновления в дистрибутив Windows 8.1 Update
ECHO.
ECHO Для начала просто нажмите любую клавишу.
PAUSE > NUL
rem папка с рабочим окружением
set wd=C:\win\window8.1updEntx64
rem индекс нужного образа в install.wim
rem set indx=1
cls
ECHO .
ECHO Копирую boot.wim из %wd%\DVD\sources\ в %wd%\bootwim\ , и создаю резервную копию %wd%\bootwim\boot.wim.bak
copy /Y %wd%\DVD\sources\boot.wim %wd%\bootwim\boot.wim.bak
copy /Y %wd%\DVD\sources\boot.wim %wd%\bootwim\
ECHO .
ECHO Просмотр имеющихся образов и их индексы в boot.wim
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Get-WIMInfo /WimFile:%wd%\bootwim\boot.wim
ECHO .
ECHO Подключение первого образа WinPE(index:1)
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Mount-Wim /WimFile:%wd%\bootwim\boot.wim /index:1 /MountDir:%wd%\bootwim\mount
ECHO .
ECHO Просмотр установленных языков
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Get-Intl
ECHO .
ECHO Установка языков
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Add-Package /PackagePath:%wd%\bootwim\lp\ru-ru\lp.cab /PackagePath:%wd%\bootwim\lp\tr-tr\lp.cab
rem Установлены следующие пакеты (6 штук):
rem WinPE-EnhancedStorage-Package, WinPE-Scripting-Package, WinPE-SecureStartup-Package, WinPE-SRT-Package, WinPE-WDS-Tools-Package, WinPE-WMI-Package
ECHO .
ECHO Установка локализации пакетов
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Add-Package /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-EnhancedStorage_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-EnhancedStorage_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-Scripting_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-Scripting_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-SecureStartup_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-SecureStartup_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-SRT_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-SRT_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-WDS-Tools_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-WDS-Tools_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-WMI_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-WMI_tr-tr.cab
ECHO .
ECHO Создание нового файла lang.ini
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Gen-LangINI /distribution:%wd%\bootwim\mount
ECHO .
ECHO Просмотр установленных пакетов
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Get-Packages
ECHO .
ECHO Просмотр установленных языков
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Get-Intl
ECHO Работа над первым образом boot.wim закончена
ECHO Что бы отключить образ с сохранением нажмите любую клавишу
pause > NUL
cls
ECHO .
ECHO Отключение образа с сохранением всех изменений
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /unmount-Wim /MountDir:%wd%\bootwim\mount /Commit
ECHO .
ECHO Подключение второго образа WinPE (index:2)
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Mount-Wim /WimFile:%wd%\bootwim\boot.wim /index:2 /MountDir:%wd%\bootwim\mount
ECHO .
ECHO Просмотр установленных языков
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Get-Intl
ECHO .
ECHO Установка языков
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Add-Package /PackagePath:%wd%\bootwim\lp\ru-ru\lp.cab /PackagePath:%wd%\bootwim\lp\tr-tr\lp.cab
rem Установлены следующие пакеты (8 штук):
rem WinPE-EnhancedStorage-Package, WinPE-Scripting-Package, WinPE-SecureStartup-Package, WinPE-Setup-Client-Package, WinPE-Setup-Package, WinPE-SRT-Package, WinPE-WDS-Tools-Package, WinPE-WMI-Package
ECHO .
ECHO Установка локализации пакетов
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Add-Package /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-EnhancedStorage_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-EnhancedStorage_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-Scripting_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-Scripting_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-SecureStartup_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-SecureStartup_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-SRT_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-SRT_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-WDS-Tools_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-WDS-Tools_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-WMI_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-WMI_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-Setup-Client_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-Setup-Client_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-Setup_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-Setup_tr-tr.cab
ECHO .
ECHO Создание нового файла lang.ini
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Gen-LangINI /distribution:%wd%\bootwim\mount
ECHO .
ECHO Просмотр установленных пакетов
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Get-Packages
ECHO .
ECHO Просмотр установленных языков
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Get-Intl
ECHO Работа над вторым образом boot.wim закончена
ECHO Что бы отключить образ с сохранением нажмите любую клавишу
pause > NUL
cls
ECHO .
ECHO Отключение образа с сохранением всех изменений
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /unmount-Wim /MountDir:%wd%\bootwim\mount /Commit
ECHO .
ECHO Копирую новый boot.wim в %wd%\DVD\sources
copy /Y %wd%\bootwim\boot.wim %wd%\DVD\sources\
ECHO Работа над boot.wim закончена
ECHO Начинаем работать с install.wim
pause
cls
ECHO .
ECHO Просмотр имеющихся образов и их индексы в %wd%\DVD\sources\install.wim
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Get-WIMInfo /WimFile:%wd%\DVD\sources\install.wim
ECHO .
set /P indx="Укажите индекс нужного образа -> "
ECHO Подключение образа № %indx%
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Mount-WIM /WimFile:%wd%\DVD\sources\install.wim /index:%indx% /MountDir:%wd%\Mount
ECHO .
ECHO Включаем компонент .Net Framework 3.5
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Image:%wd%\Mount /Enable-Feature /FeatureName:NetFx3 /Source:%wd%\DVD\sources\sxs
ECHO .
ECHO Проверяем состояние компонента .Net Framework 3.5
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Image:%wd%\Mount /Get-FeatureInfo /FeatureName:NetFx3
ECHO .
ECHO Просмотр установленных языков
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\Mount /Get-Intl
ECHO .
ECHO Установка языков
Dism /LogPath:%wd%\Logs\DISM.log /Image:%wd%\Mount /ScratchDir:%wd%\Sandbox /Add-Package /PackagePath:%wd%\mui\ru-ru\lp.cab /PackagePath:%wd%\mui\tr-tr\lp.cab
rem ECHO .
rem ECHO Установка обновлений для языковых пакетов install.wim
rem Dism /LogPath:%wd%\Logs\DISM.log /Image:%wd%\Mount /ScratchDir:%wd%\Sandbox /Add-Package /PackagePath:%wd%\mui\upd\ru-ru\Windows8.1-KB2938307-x64.msu /PackagePath:%wd%\mui\upd\tr-tr\Windows8.1-KB2938315-x64.msu
ECHO .
ECHO Создание нового файла lang.ini
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Image:%wd%\Mount /Gen-LangINI /Distribution:%wd%\DVD
ECHO .
ECHO Просмотр установленных языков
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\Mount /Get-Intl
rem ECHO .
rem ECHO Установка обновлений
rem Dism /LogPath:%wd%\Logs\DISM.log /Image:%wd%\Mount /ScratchDir:%wd%\Sandbox /Add-Package /PackagePath:%wd%\Updates
ECHO Работа над install.wim закончена
ECHO Что бы начать работу над WinRE нажмите любую клавишу
pause > NUL
cls
ECHO ========================================
ECHO Изменение WinRE
ECHO ========================================
ECHO .
ECHO Изменение атрибутов winre.wim
attrib -s -h %wd%\Mount\Windows\System32\Recovery\winre.wim
ECHO .
ECHO Копирую WinRE.wim из %wd%\Mount\Windows\System32\Recovery\ в %wd%\winREwim\ , и создаю резервную копию %wd%\winREwim\Winre.wim.bak
copy /Y %wd%\Mount\Windows\System32\Recovery\winre.wim %wd%\winREwim\Winre.wim.bak
copy /Y %wd%\Mount\Windows\System32\Recovery\winre.wim %wd%\winREwim\
ECHO .
ECHO Просмотр имеющихся образов и их индексы в %wd%\winREwim\Winre.wim
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Get-WIMInfo /WimFile:%wd%\winREwim\Winre.wim
ECHO .
ECHO Подключение первого образа Winre.wim(index:1)
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Mount-Wim /WimFile:%wd%\winREwim\Winre.wim /index:1 /MountDir:%wd%\winREwim\mount
ECHO .
ECHO Просмотр установленных языков Winre.wim
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winREwim\mount /Get-Intl
ECHO .
ECHO Установка языков Winre.wim
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winREwim\mount /Add-Package /PackagePath:%wd%\bootwim\lp\ru-ru\lp.cab /PackagePath:%wd%\bootwim\lp\tr-tr\lp.cab
rem ECHO .
rem ECHO Установка обновлений для языковых пакетов Winre.wim
rem Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winREwim\mount /Add-Package /PackagePath:%wd%\mui\upd\ru-ru\Windows8.1-KB2938307-x64.msu /PackagePath:%wd%\mui\upd\tr-tr\Windows8.1-KB2938315-x64.msu
ECHO .
ECHO Просмотр установленных пакетов Winre.wim
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winREwim\mount /Get-Packages
rem Установлены следующие пакеты (8 штук):
rem WinPE-EnhancedStorage-Package WinPE-Rejuv-Package WinPE-Scripting-Package WinPE-SecureStartup-Package WinPE-SRT-Package WinPE-StorageWMI-Package WinPE-WDS-Tools-Package WinPE-WMI-Package
ECHO .
ECHO Установка локализации пакетов Winre.wim
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winREwim\mount /Add-Package /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-EnhancedStorage_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-EnhancedStorage_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-Rejuv_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-Rejuv_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-Scripting_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-Scripting_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-SecureStartup_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-SecureStartup_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-SRT_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-SRT_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-StorageWMI_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-StorageWMI_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-WDS-Tools_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-WDS-Tools_tr-tr.cab /PackagePath:%wd%\bootwim\lp\ru-ru\WinPE-WMI_ru-ru.cab /PackagePath:%wd%\bootwim\lp\tr-tr\WinPE-WMI_tr-tr.cab
ECHO .
ECHO Создание нового файла lang.ini
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winREwim\mount /Gen-LangINI /distribution:%wd%\winREwim\mount
cls
ECHO .
ECHO Просмотр установленных пакетов Winre.wim
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winREwim\mount /Get-Packages
ECHO .
ECHO Просмотр установленных языков Winre.wim
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winREwim\mount /Get-Intl
ECHO ========================================
ECHO Изменение WinRE закончено
ECHO ========================================
ECHO Что бы отключить WinRE с сохранением нажмите любую клавишу
pause > NUL
ECHO Отключение образа WinRE.wim с сохранением всех изменений
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /unmount-Wim /MountDir:%wd%\winREwim\mount /Commit
ECHO .
ECHO Копирую новый WinRE.wim в %wd%\Mount\Windows\System32\Recovery\
ECHO И меняю атрибуты
copy /Y %wd%\winREwim\winre.wim %wd%\Mount\Windows\System32\Recovery\
attrib +s +h %wd%\Mount\Windows\System32\Recovery\winre.wim
ECHO ========================================
ECHO ========================================
ECHO Работа над install.wim закончена
ECHO Что бы отключить образ с сохранением нажмите любую клавишу
pause > NUL
ECHO Отключение образа install.wim с сохранением всех изменений
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /unmount-Wim /MountDir:%wd%\Mount /Commit
ECHO Работа закончена
ECHO Что бы выйти нажмите любую клавишу
pause > NUL
exit /b 0
Теперь осталось подготовить файл ответов и создать загрузочный диск.
Запускаем "Диспетчер установки Windows" с правами Администратора. Открываем наш Install.wim – Файл-Выбрать образ Windows. Потом выбираем нужную версию Windows и создаем файл каталога.
На форуме есть раздел посвященный файлу ответа в котором есть ссылки на статьи с подробным описанием. Хоть в статье показывается на примере Windows Vista, все это подходит и к Windows 8.
Есть важное замечание.
В отличии от Windows 7, где можно установить нужную редакцию без ввода ключа, в Windows 8 это не возможно.
В файле ответов обязательно должен быть ключ подходящий для устанавливаемой редакции.
Исключение составляет Windows 8 Enterprise, в которой ключ уже "вшит" в дистрибутив.
Для других редакций ключ должен быть в секции 1windowsPE Microsoft-Windows-Setup__neutral-UserData/ProductKey
Файл должен называться «AUTOUNATTEND.XML», и лежать в ..\DVD.
В форуме действует ограничение на количество символов с посте - 30000.
Если я включу примеры файлов ответа, то выйду за это ограничение.
Так что примеров не будет.
Запускаем с правами Администратора «Среда средств развертывания и работы с образами». Не забываем про «set wd=C:\win\window8.1updEntx64».
Будем делать загрузочный образ с двойной загрузкой - BIOS\MBR и UEFI\GPT
Создание загрузочного образа x86
oscdimg -h -lWindows8.1Upd_Ent_x86 -m -u1 -udfver102 -oc -bootdata:2#p0,e,b"%wd%\DVD\boot\etfsboot.com"#pEF,e,b"%wd%\DVD\efi\microsoft\boot\efisys.bin" %wd%\DVD %wd%\ISO\Windows8.1Upd_Ent_x86.iso
Создание загрузочного образа x64
oscdimg -h -lWindows8.1Upd_Ent_x64 -m -u1 -udfver102 -oc -bootdata:2#p0,e,b"%wd%\DVD\boot\etfsboot.com"#pEF,e,b"%wd%\DVD\efi\microsoft\boot\efisys.bin" %wd%\DVD %wd%\ISO\Windows8.1Upd_Ent_x64.iso
В папке ISO появится готовый образ, который можно проверить на виртуальной машине.