alegz81
27-12-2009, 14:33
Создание установочного диска Windows 7 SP1 EN RU TR x86 или x64
ВНИМАНИЕ. Если вы работаете в 64-х битной системе, то создать файл каталога (.clg) для Windows x86 у вас не получится. (инфо (http://technet.microsoft.com/ru-RU/library/hh825004.aspx))
Вот то что мне понадобилось для работы:
1. Установочный диск Microsoft Windows AIK для Windows 7 v 2.0 (у меня русская версия).
2. Дополнение к Microsoft Windows AIK для Windows 7 (waik_supplement_ru-ru.iso). Не обязательно.
3. VMware Workstation 11.0.0 (виртуалка).
4. Оригинальный установочный диск или образ Windows 7 SP1 EN x86 или Windows 7 SP1 EN x64.
5. Языковые пакеты (http://www.mydigitallife.info/2011/02/27/windows-7-sp1-mui-language-packs-official-direct-download-links/) для Windows 7 SP1 (Я собирал диск с тремя языками – английский, русский и турецкий. Соответственно я использовал русский и турецкий пакеты. ВНИМАНИЕ пакеты для х86 и х64 разные.).
6. Эмулятор CD-DVD (Alcohol 120%).
7. Редактор SciTE (версия 3.2.5 .99Ru) или FAR.
8. Обновления для Windows 7 SP1. Можно взять здесь (http://forum.ru-board.com/topic.cgi?forum=62&topic=24100&start=6&limit=1&m=1#1), здесь (http://forum.oszone.net/thread-257198.html), или с помощью этой (http://forums.mydigitallife.info/threads/44645) программы.
9. Драйвера для контролера жестких дисков (http://downloadcenter.intel.com/ru/download/24293/-RAID-Intel-Rapid) и USB 3.0 (http://downloadcenter.intel.com/ru/search?keyword=%D0%94%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80+%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D1%8F %D0%B5%D0%BC%D0%BE%D0%B3%D0%BE+%D1%85%D0%BE%D1%81%D1%82-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D0%B0+Intel%C2%AE+USB+3.0) от Intel (99% компьютеров с которыми я имею дело сделаны на базе Intel).
Установите Microsoft Windows AIK для Windows 7.
После этого, если он у вас есть, смонтируйте образ waik_supplement_ru-ru.iso или вставьте в дисковод диск с ним.
Запустите командную строку от имени Администратора и выполните команду
xcopy F:\ "C:\Program Files\Windows AIK\Tools\PETools" /E /H /R /Y
Где F:\ это привод с waik_supplement_ru-ru.iso.
Рекомендую установить в виртуальную машину Windows 7 SP1 x86, необходимые инструменты и все манипуляции проводить в ней.
Это гарантирует отсутствие конфликтов и ошибок из-за других программ. Так же виртуальные машины позволяют создавать снимки состояний.
Поставил Windows, установил все необходимое, настроил - создал снимок состояния.
Теперь в любой момент можно вернуться к чистой и подготовленной системе.
В статье показываю все на примере Windows 7 Ultimate SP1 x86, но все так же работает и на других редакциях и архитектурах.
Надо создать структуру папок для работы.
Вот текст батника который это делает:
@echo off
SET work=%CD%\window7SP1_x86
:Start
ECHO.
ECHO Этот командный файл создает структуру папок для
ECHO работы над автоматической установкой Windows 7.
ECHO.
ECHO Для начала просто нажмите любую клавишу.
PAUSE > NUL
:CreateFolders
CLS
ECHO.
ECHO Создание папок . . .
IF NOT EXIST %work%\NUL MKDIR %work%
IF NOT EXIST %work%\DVD\NUL MKDIR %work%\DVD
IF NOT EXIST %work%\drv\NUL MKDIR %work%\drv
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
ECHO.
ECHO Процесс создания структуры папок завершен!
pause
exit
Сохраните его в файл с названием Windows7SP1-x86.cmd в DOS(OEM866) кодировке. Это можно сделать с помощью FARа или SciTE. Скопируйте файл в то место где вы хотите создать папки и запустите. А для windows x64 сохраните в файл с названием Windows7SP1-x64.cmd, и измените строчку «SET work=%CD%\window7_x32» на «SET work=%CD%\window7SP1_x64».
Копируем весь установочный диск windows в папку ..\DVD.
В папке ..\mui я создал две папки «ru-RU» и «tr-TR», в которые соответственно и поместил языковые пакеты для Windows 7 sp1.
Напоминаю что языковые пакеты для x86 и x64 разные, и друг к другу не подходят.
Языковые пакеты для WinPE находятся на установочном диске Microsoft Windows AIK для Windows 7 в папке WinPE_LangPacks\x86 для x86, а в WinPE_LangPacks\amd64 для x64. Так же новые версии пакетов находятся на диске waik_supplement_ХХ-ХХ.iso в папке \X86\WINPE_FPS для x86, а в H:\AMD64\WINPE_FPS для x64.
Если же вы установили waik_supplement_ХХ-ХХ.iso, то языковые пакеты находятся в C:\Program Files\Windows AIK\Tools\PETools\x86\WinPE_FPs для x86, а в C:\Program Files\Windows AIK\Tools\PETools\amd64\WinPE_FPs для x64.
Я взял папки «ru-ru» и «tr-tr», и скопировал их в ..\bootwim\lp, переименовав файлы lp_ru-ru.cab и lp_tr-tr.cab в lp.cab.
В папке ..\drv создал папку sata в которую распаковал содержимое f6flpy-x86.zip (для архитектуры х64 - f6flpy-x64.zip).
У компании Intel есть два контролера USB 3.0.
Первый (http://downloadcenter.intel.com/ru/download/21129/USB-3-0-Driver-Intel-USB-3-0-eXtensible-Host-Controller-Driver-for-Intel-7-Series-C216-Chipset-Family) используется с процессорами 2-го и 3-го поколений.
Второй (http://downloadcenter.intel.com/ru/download/22824/USB-3-0-Driver-Intel-USB-3-0-eXtensible-Host-Controller-Driver-for-Intel-8-9-Series-and-C220-C610-Chipset-Family) с процессорами 4-го и 5-го поколений.
И драйвера разные. Но идентификатор одинаковый. Если интегрировать оба драйвера, то при определенной ситуации получим BSOD.
А интегрировать надо.
Большинство ноутбуков приходят теперь вообще без USB 2.0, а некоторые и без устройства для чтения CD, DVD и т.д. Так что приходиться устанавливать систему через USB.
Так же надо помнить о WinRE. Без драйверов USB 3.0 не будут работать ни тачпад, ни клавиатура, ни любая usb-периферия.
Пока решения нет. Я интегрирую драйвер для процессоров 4-го и 5-го поколений.
В папке ..\drv создал папку usbGen4-5 и скопировал туда файлы из папок ..\Drivers\Win7\x86 и ..\Drivers\HCSwitch\x86 архива Intel(R)_USB_3.0_eXtensible_Host_Controller_Driver_3.0.4.65.zip
Для модификации я подготовил батник Win7Build.cmd
В батнике надо изменить параметр wd указывающий на папку с рабочим окружением -> set wd=D:\window7sp1_x86
Для временных файлов используется %wd%\Sandbox\.
Все логи записываются в %wd%\Logs\.
Перед каждым отключением образа, делается пауза.
Перед изменением install.wim, батник покажет информацию об имеющихся в нем образах и их индексах и попросит указать нужный.
Win7Build.cmd надо сохранить в DOS(OEM866) кодировке.
Запускаем с правами Администратора «Командная строка средств развертывания», и запустить батник из нее.
Например так
D:\tools\Win7Build.cmd
@Echo off
::Alegz81 2015
rem папка с рабочим окружением
set wd=D:\window7sp1_x86
ECHO Этот командный файл интегрирует языковые пакеты и драйвера в дистрибутив Windows 7 SP1
ECHO.
ECHO Выбрана папка %wd%
ECHO Для начала просто нажмите любую клавишу.
PAUSE > NUL
DEL /Q %wd%\DVD\sources\ei.cfg
DEL /Q %wd%\DVD\sources\install_*.clg
cls
::================boot.wim====================
ECHO .
ECHO Создаю резервную копию %wd%\bootwim\boot.wim.bak
copy /Y %wd%\DVD\sources\boot.wim %wd%\bootwim\boot.wim.bak
ECHO .
ECHO Просмотр имеющихся образов и их индексы в boot.wim
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Get-WIMInfo /WimFile:%wd%\DVD\sources\boot.wim
::================index 1=====================
ECHO .
ECHO Подключение первого образа WinPE(index:1)
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Mount-Wim /WimFile:%wd%\DVD\sources\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
ECHO .
ECHO Установка локализации пакетов
rem winpe-scripting, winpe-srt, winpe-wds-tools, winpe-wmi
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Add-Package /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-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 /Add-Driver /Driver:%wd%\drv\sata
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Add-Driver /Driver:%wd%\drv\usbGen4-5
ECHO .
ECHO Просмотр установленных пакетов и драйверов
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Get-Packages
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Get-Drivers /Format:List
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 Отключение образа с сохранением всех изменений
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /unmount-Wim /MountDir:%wd%\bootwim\mount /Commit
::================index 2=====================
ECHO .
ECHO Подключение второго образа WinPE (index:2)
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Mount-Wim /WimFile:%wd%\DVD\sources\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
ECHO .
ECHO Установка локализации пакетов
rem winpe-scripting, winpe-setup-client, winpe-setup, winpe-srt, winpe-wds-tools, winpe-wmi
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Add-Package /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-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 /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 /Add-Driver /Driver:%wd%\drv\sata
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Add-Driver /Driver:%wd%\drv\usbGen4-5
ECHO .
ECHO Просмотр установленных пакетов и драйверов
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Get-Packages
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Get-Drivers /Format:List
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 Отключение образа с сохранением всех изменений
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /unmount-Wim /MountDir:%wd%\bootwim\mount /Commit
::================optimisation=================
ECHO .
ECHO Оптимизация образа boot.wim
Imagex /LogFile %wd%\Logs\imagex.log /Export %wd%\DVD\sources\boot.wim 1 %wd%\bootwim\boot[opt].wim
Imagex /LogFile %wd%\Logs\imagex.log /Export %wd%\DVD\sources\boot.wim 2 %wd%\bootwim\boot[opt].wim
ECHO .
ECHO Копирую новый boot.wim в %wd%\DVD\sources
copy /Y %wd%\bootwim\boot[opt].wim %wd%\DVD\sources\boot.wim
::================end boot.wim=================
ECHO Работа над boot.wim закончена
ECHO Начинаем работать с install.wim
pause
cls
::================install.wim==================
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 Просмотр установленных языков
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
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 /Add-Driver /Driver:%wd%\drv\sata
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\Mount /Add-Driver /Driver:%wd%\drv\usbGen4-5
ECHO .
ECHO Просмотр установленных драйверов
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\Mount /Get-Drivers /Format:List
::================winRE.wim===================
ECHO .
ECHO Изменение WinRE
ECHO .
ECHO Копирую WinRE.wim из %wd%\Mount\Windows\System32\Recovery\ в %wd%\winrewim
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 Установка драйверов
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winrewim\mount /Add-Driver /Driver:%wd%\drv\sata
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winrewim\mount /Add-Driver /Driver:%wd%\drv\usbGen4-5
ECHO .
ECHO Просмотр установленных драйверов
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winrewim\mount /Get-Drivers /Format:List
ECHO Работа над WinRE.wim закончена
ECHO Что бы отключить образ с сохранением нажмите любую клавишу
pause > NUL
cls
ECHO Отключение образа с сохранением всех изменений
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /unmount-Wim /MountDir:%wd%\winrewim\mount /Commit
ECHO .
ECHO Оптимизация образа WinRE.wim
Imagex /LogFile %wd%\Logs\imagex.log /Export %wd%\winrewim\winRE.wim 1 %wd%\winrewim\winRE[opt].wim
ECHO .
ECHO Копирую новый WinRE.wim в %wd%\Mount\Windows\System32\Recovery\
copy /Y %wd%\winrewim\winRE[opt].wim %wd%\Mount\Windows\System32\Recovery\winRE.wim
::================end winRE.wim===============
ECHO Работа над install.wim закончена
ECHO Что бы отключить образ с сохранением нажмите любую клавишу
pause > NUL
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /unmount-Wim /MountDir:%wd%\Mount /Commit
ECHO Работа закончена
ECHO Что бы выйти нажмите любую клавишу
pause > NUL
exit /b 0
должен называться «AUTOUNATTEND.XML», и лежать в ..\DVD.
Запускаем «Диспетчер образов системы Windows», всё так же с правами Администратора. Открываем наш Install.wim(..\DVD\sources) – Файл-Выбрать образ Windows. Потом выбираем нужную версию Windows (у меня ULTIMATE). Появится предупреждение о том что файл каталога не найден или устарел , и его надо создать заново. Говорим «Да», и очень долго ждем. Может показаться что компьютер завис, но это не так, процедура очень долгая, особенно на слабых машинах. После завершения операции можно создавать (http://forum.oszone.net/thread-128794.html) файл ответов.
x86
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="windowsPE">
<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SetupUILanguage>
<WillShowUI>Always</WillShowUI>
</SetupUILanguage>
</component>
<component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DiskConfiguration>
<WillShowUI>Always</WillShowUI>
</DiskConfiguration>
<UserData>
<AcceptEula>true</AcceptEula>
</UserData>
<ImageInstall>
<OSImage>
<InstallFrom>
<MetaData wcm:action="add">
<Key>/IMAGE/INDEX</Key>
<Value>5</Value>
</MetaData>
</InstallFrom>
</OSImage>
</ImageInstall>
</component>
</settings>
<settings pass="offlineServicing">
<component name="Microsoft-Windows-LUA-Settings" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EnableLUA>false</EnableLUA>
</component>
</settings>
<settings pass="specialize">
<component name="Microsoft-Windows-Security-Licensing-SLC-UX" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SkipAutoActivation>true</SkipAutoActivation>
</component>
<component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
<Order>1</Order>
<Path>cmd /c "FOR %i IN (C D E F G H I J K L N M O P Q R S T U V W X Y Z) DO IF EXIST %i:\CD.ROM SETX DiskRoot %i: -m"</Path>
<Description>DVD Letter</Description>
</RunSynchronousCommand>
</RunSynchronous>
</component>
</settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<OOBE>
<HideEULAPage>true</HideEULAPage>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
<NetworkLocation>Home</NetworkLocation>
<ProtectYourPC>3</ProtectYourPC>
<SkipMachineOOBE>false</SkipMachineOOBE>
<SkipUserOOBE>true</SkipUserOOBE>
</OOBE>
<TimeZone>West Asia Standard Time</TimeZone>
<StartPanelOff>true</StartPanelOff>
<ShowWindowsLive>true</ShowWindowsLive>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:d:/window7sp1_x86/dvd/sources/install.wim#Windows 7 ULTIMATE" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
x64
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="windowsPE">
<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SetupUILanguage>
<WillShowUI>Always</WillShowUI>
</SetupUILanguage>
</component>
<component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DiskConfiguration>
<WillShowUI>Always</WillShowUI>
</DiskConfiguration>
<UserData>
<AcceptEula>true</AcceptEula>
<FullName></FullName>
<Organization></Organization>
</UserData>
<ImageInstall>
<OSImage>
<InstallFrom>
<MetaData wcm:action="add">
<Key>/IMAGE/INDEX</Key>
<Value>4</Value>
</MetaData>
</InstallFrom>
</OSImage>
</ImageInstall>
</component>
</settings>
<settings pass="offlineServicing">
<component name="Microsoft-Windows-LUA-Settings" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EnableLUA>false</EnableLUA>
</component>
</settings>
<settings pass="specialize">
<component name="Microsoft-Windows-Security-Licensing-SLC-UX" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SkipAutoActivation>true</SkipAutoActivation>
</component>
<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
<Order>1</Order>
<Path>cmd /c "FOR %i IN (C D E F G H I J K L N M O P Q R S T U V W X Y Z) DO IF EXIST %i:\CD.ROM SETX DiskRoot %i: -m"</Path>
<Description>DVD Letter</Description>
</RunSynchronousCommand>
</RunSynchronous>
</component>
</settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<OOBE>
<HideEULAPage>true</HideEULAPage>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
<NetworkLocation>Home</NetworkLocation>
<ProtectYourPC>3</ProtectYourPC>
<SkipMachineOOBE>false</SkipMachineOOBE>
<SkipUserOOBE>true</SkipUserOOBE>
</OOBE>
<TimeZone>West Asia Standard Time</TimeZone>
<ShowWindowsLive>true</ShowWindowsLive>
<StartPanelOff>true</StartPanelOff>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:d:/window7sp1_x64/dvd/sources/install.wim#Windows 7 ULTIMATE" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
В нём оставлена возможность выбора языка для установки, выбора диска и раздела для установки, ввод имени пользователя (не хотелось делать всех User), сетевая безопасность (ProtectYourPC) равна 3, т.е. выключена. Еак же отключен UAC.
У меня устанавливается Ultimate, это указывается здесь - 1windowsPE в x86_Microsoft-Windows-Setup__neutral-ImageInstal-OSImage-InstallFrom-MetaData-Key-/IMAGE/INDEX и Value-5(то есть устанавливать по индексу образа. Ultimate номер 5, а в x64 - 4 ).
Так же установлен часовой пояс GMT+5 (West Asia Standard Time), если хотите поменять, то это здесь - x86_Microsoft-Windows-Shell-Setup_neutral-TimeZone, который добавляется к 7 oobeSystem. Значения TimeZone можно посматреть в REGEDIT здесь - HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones.
И ещё у меня в 4specialize определяется буква DVD-привода по файлу CD.ROM, и ему назначается переменная %DiskRoot%. Что бы это заработало создайте файл-пустышку «CD.ROM» (например создайте файл Блокнота и переименуйте его, согласившись с изменением расширения), и поместите его в ..\DVD. Я ещё создавал там папку Install, и сложил туда всё что хотел установить автоматом (кряк windows7,твики и т.д.). Потом в x86_Microsoft-Windows-Shell-Setup_neutral-FirstLogonCommand, который добавляется к 7 oobeSystem создаю команды, типа такой «cmd /c %DiskRoot%\Install\setupProg.exe».
Если будете делать свой файл ответов, то в нём обязательно должно быть вот так - x86_Microsoft-Windows-International-Core-WinPE_neutral-SetupUILanguage-WillShowUI-Always в 1windowsPE. Эта настройка заставляет всегда показывать окно выбора языка для системы. Ну и для x64 вместо «x86_», будет «amd64_».
Запускаем с правами Администратора «Командная строка средств развертывания».
Указываем рабочую папку для удобства
set wd=D:\window7_x86
Создание загрузочного образа x86
oscdimg -h -lWindows7sp1x86 -n -m -oc -b"%wd%\DVD\boot\etfsboot.com" %wd%\DVD %wd%\ISO\windows7SP1_x86.iso
Создание загрузочного образа x64
oscdimg -h -lWindows7sp1x64 -n -m -oc -b"%wd%\DVD\boot\etfsboot.com" %wd%\DVD %wd%\ISO\windows7SP1_x64.iso
Остальное в процессе создания
Здесь (http://forum.oszone.net/thread-241734.html) статья про Windows 8.1
[hr]
Альтернативы, обсуждающиеся в этой теме:
Lego Project - набор для создания AIO x86-x64 (http://forum.oszone.net/post-1561544.html#post1561544) от CtrlSoft
ВНИМАНИЕ. Если вы работаете в 64-х битной системе, то создать файл каталога (.clg) для Windows x86 у вас не получится. (инфо (http://technet.microsoft.com/ru-RU/library/hh825004.aspx))
Вот то что мне понадобилось для работы:
1. Установочный диск Microsoft Windows AIK для Windows 7 v 2.0 (у меня русская версия).
2. Дополнение к Microsoft Windows AIK для Windows 7 (waik_supplement_ru-ru.iso). Не обязательно.
3. VMware Workstation 11.0.0 (виртуалка).
4. Оригинальный установочный диск или образ Windows 7 SP1 EN x86 или Windows 7 SP1 EN x64.
5. Языковые пакеты (http://www.mydigitallife.info/2011/02/27/windows-7-sp1-mui-language-packs-official-direct-download-links/) для Windows 7 SP1 (Я собирал диск с тремя языками – английский, русский и турецкий. Соответственно я использовал русский и турецкий пакеты. ВНИМАНИЕ пакеты для х86 и х64 разные.).
6. Эмулятор CD-DVD (Alcohol 120%).
7. Редактор SciTE (версия 3.2.5 .99Ru) или FAR.
8. Обновления для Windows 7 SP1. Можно взять здесь (http://forum.ru-board.com/topic.cgi?forum=62&topic=24100&start=6&limit=1&m=1#1), здесь (http://forum.oszone.net/thread-257198.html), или с помощью этой (http://forums.mydigitallife.info/threads/44645) программы.
9. Драйвера для контролера жестких дисков (http://downloadcenter.intel.com/ru/download/24293/-RAID-Intel-Rapid) и USB 3.0 (http://downloadcenter.intel.com/ru/search?keyword=%D0%94%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80+%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D1%8F %D0%B5%D0%BC%D0%BE%D0%B3%D0%BE+%D1%85%D0%BE%D1%81%D1%82-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D0%B0+Intel%C2%AE+USB+3.0) от Intel (99% компьютеров с которыми я имею дело сделаны на базе Intel).
Установите Microsoft Windows AIK для Windows 7.
После этого, если он у вас есть, смонтируйте образ waik_supplement_ru-ru.iso или вставьте в дисковод диск с ним.
Запустите командную строку от имени Администратора и выполните команду
xcopy F:\ "C:\Program Files\Windows AIK\Tools\PETools" /E /H /R /Y
Где F:\ это привод с waik_supplement_ru-ru.iso.
Рекомендую установить в виртуальную машину Windows 7 SP1 x86, необходимые инструменты и все манипуляции проводить в ней.
Это гарантирует отсутствие конфликтов и ошибок из-за других программ. Так же виртуальные машины позволяют создавать снимки состояний.
Поставил Windows, установил все необходимое, настроил - создал снимок состояния.
Теперь в любой момент можно вернуться к чистой и подготовленной системе.
В статье показываю все на примере Windows 7 Ultimate SP1 x86, но все так же работает и на других редакциях и архитектурах.
Надо создать структуру папок для работы.
Вот текст батника который это делает:
@echo off
SET work=%CD%\window7SP1_x86
:Start
ECHO.
ECHO Этот командный файл создает структуру папок для
ECHO работы над автоматической установкой Windows 7.
ECHO.
ECHO Для начала просто нажмите любую клавишу.
PAUSE > NUL
:CreateFolders
CLS
ECHO.
ECHO Создание папок . . .
IF NOT EXIST %work%\NUL MKDIR %work%
IF NOT EXIST %work%\DVD\NUL MKDIR %work%\DVD
IF NOT EXIST %work%\drv\NUL MKDIR %work%\drv
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
ECHO.
ECHO Процесс создания структуры папок завершен!
pause
exit
Сохраните его в файл с названием Windows7SP1-x86.cmd в DOS(OEM866) кодировке. Это можно сделать с помощью FARа или SciTE. Скопируйте файл в то место где вы хотите создать папки и запустите. А для windows x64 сохраните в файл с названием Windows7SP1-x64.cmd, и измените строчку «SET work=%CD%\window7_x32» на «SET work=%CD%\window7SP1_x64».
Копируем весь установочный диск windows в папку ..\DVD.
В папке ..\mui я создал две папки «ru-RU» и «tr-TR», в которые соответственно и поместил языковые пакеты для Windows 7 sp1.
Напоминаю что языковые пакеты для x86 и x64 разные, и друг к другу не подходят.
Языковые пакеты для WinPE находятся на установочном диске Microsoft Windows AIK для Windows 7 в папке WinPE_LangPacks\x86 для x86, а в WinPE_LangPacks\amd64 для x64. Так же новые версии пакетов находятся на диске waik_supplement_ХХ-ХХ.iso в папке \X86\WINPE_FPS для x86, а в H:\AMD64\WINPE_FPS для x64.
Если же вы установили waik_supplement_ХХ-ХХ.iso, то языковые пакеты находятся в C:\Program Files\Windows AIK\Tools\PETools\x86\WinPE_FPs для x86, а в C:\Program Files\Windows AIK\Tools\PETools\amd64\WinPE_FPs для x64.
Я взял папки «ru-ru» и «tr-tr», и скопировал их в ..\bootwim\lp, переименовав файлы lp_ru-ru.cab и lp_tr-tr.cab в lp.cab.
В папке ..\drv создал папку sata в которую распаковал содержимое f6flpy-x86.zip (для архитектуры х64 - f6flpy-x64.zip).
У компании Intel есть два контролера USB 3.0.
Первый (http://downloadcenter.intel.com/ru/download/21129/USB-3-0-Driver-Intel-USB-3-0-eXtensible-Host-Controller-Driver-for-Intel-7-Series-C216-Chipset-Family) используется с процессорами 2-го и 3-го поколений.
Второй (http://downloadcenter.intel.com/ru/download/22824/USB-3-0-Driver-Intel-USB-3-0-eXtensible-Host-Controller-Driver-for-Intel-8-9-Series-and-C220-C610-Chipset-Family) с процессорами 4-го и 5-го поколений.
И драйвера разные. Но идентификатор одинаковый. Если интегрировать оба драйвера, то при определенной ситуации получим BSOD.
А интегрировать надо.
Большинство ноутбуков приходят теперь вообще без USB 2.0, а некоторые и без устройства для чтения CD, DVD и т.д. Так что приходиться устанавливать систему через USB.
Так же надо помнить о WinRE. Без драйверов USB 3.0 не будут работать ни тачпад, ни клавиатура, ни любая usb-периферия.
Пока решения нет. Я интегрирую драйвер для процессоров 4-го и 5-го поколений.
В папке ..\drv создал папку usbGen4-5 и скопировал туда файлы из папок ..\Drivers\Win7\x86 и ..\Drivers\HCSwitch\x86 архива Intel(R)_USB_3.0_eXtensible_Host_Controller_Driver_3.0.4.65.zip
Для модификации я подготовил батник Win7Build.cmd
В батнике надо изменить параметр wd указывающий на папку с рабочим окружением -> set wd=D:\window7sp1_x86
Для временных файлов используется %wd%\Sandbox\.
Все логи записываются в %wd%\Logs\.
Перед каждым отключением образа, делается пауза.
Перед изменением install.wim, батник покажет информацию об имеющихся в нем образах и их индексах и попросит указать нужный.
Win7Build.cmd надо сохранить в DOS(OEM866) кодировке.
Запускаем с правами Администратора «Командная строка средств развертывания», и запустить батник из нее.
Например так
D:\tools\Win7Build.cmd
@Echo off
::Alegz81 2015
rem папка с рабочим окружением
set wd=D:\window7sp1_x86
ECHO Этот командный файл интегрирует языковые пакеты и драйвера в дистрибутив Windows 7 SP1
ECHO.
ECHO Выбрана папка %wd%
ECHO Для начала просто нажмите любую клавишу.
PAUSE > NUL
DEL /Q %wd%\DVD\sources\ei.cfg
DEL /Q %wd%\DVD\sources\install_*.clg
cls
::================boot.wim====================
ECHO .
ECHO Создаю резервную копию %wd%\bootwim\boot.wim.bak
copy /Y %wd%\DVD\sources\boot.wim %wd%\bootwim\boot.wim.bak
ECHO .
ECHO Просмотр имеющихся образов и их индексы в boot.wim
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Get-WIMInfo /WimFile:%wd%\DVD\sources\boot.wim
::================index 1=====================
ECHO .
ECHO Подключение первого образа WinPE(index:1)
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Mount-Wim /WimFile:%wd%\DVD\sources\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
ECHO .
ECHO Установка локализации пакетов
rem winpe-scripting, winpe-srt, winpe-wds-tools, winpe-wmi
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Add-Package /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-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 /Add-Driver /Driver:%wd%\drv\sata
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Add-Driver /Driver:%wd%\drv\usbGen4-5
ECHO .
ECHO Просмотр установленных пакетов и драйверов
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Get-Packages
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Get-Drivers /Format:List
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 Отключение образа с сохранением всех изменений
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /unmount-Wim /MountDir:%wd%\bootwim\mount /Commit
::================index 2=====================
ECHO .
ECHO Подключение второго образа WinPE (index:2)
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /Mount-Wim /WimFile:%wd%\DVD\sources\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
ECHO .
ECHO Установка локализации пакетов
rem winpe-scripting, winpe-setup-client, winpe-setup, winpe-srt, winpe-wds-tools, winpe-wmi
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Add-Package /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-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 /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 /Add-Driver /Driver:%wd%\drv\sata
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Add-Driver /Driver:%wd%\drv\usbGen4-5
ECHO .
ECHO Просмотр установленных пакетов и драйверов
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Get-Packages
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\bootwim\mount /Get-Drivers /Format:List
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 Отключение образа с сохранением всех изменений
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /unmount-Wim /MountDir:%wd%\bootwim\mount /Commit
::================optimisation=================
ECHO .
ECHO Оптимизация образа boot.wim
Imagex /LogFile %wd%\Logs\imagex.log /Export %wd%\DVD\sources\boot.wim 1 %wd%\bootwim\boot[opt].wim
Imagex /LogFile %wd%\Logs\imagex.log /Export %wd%\DVD\sources\boot.wim 2 %wd%\bootwim\boot[opt].wim
ECHO .
ECHO Копирую новый boot.wim в %wd%\DVD\sources
copy /Y %wd%\bootwim\boot[opt].wim %wd%\DVD\sources\boot.wim
::================end boot.wim=================
ECHO Работа над boot.wim закончена
ECHO Начинаем работать с install.wim
pause
cls
::================install.wim==================
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 Просмотр установленных языков
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
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 /Add-Driver /Driver:%wd%\drv\sata
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\Mount /Add-Driver /Driver:%wd%\drv\usbGen4-5
ECHO .
ECHO Просмотр установленных драйверов
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\Mount /Get-Drivers /Format:List
::================winRE.wim===================
ECHO .
ECHO Изменение WinRE
ECHO .
ECHO Копирую WinRE.wim из %wd%\Mount\Windows\System32\Recovery\ в %wd%\winrewim
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 Установка драйверов
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winrewim\mount /Add-Driver /Driver:%wd%\drv\sata
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winrewim\mount /Add-Driver /Driver:%wd%\drv\usbGen4-5
ECHO .
ECHO Просмотр установленных драйверов
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /image:%wd%\winrewim\mount /Get-Drivers /Format:List
ECHO Работа над WinRE.wim закончена
ECHO Что бы отключить образ с сохранением нажмите любую клавишу
pause > NUL
cls
ECHO Отключение образа с сохранением всех изменений
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /unmount-Wim /MountDir:%wd%\winrewim\mount /Commit
ECHO .
ECHO Оптимизация образа WinRE.wim
Imagex /LogFile %wd%\Logs\imagex.log /Export %wd%\winrewim\winRE.wim 1 %wd%\winrewim\winRE[opt].wim
ECHO .
ECHO Копирую новый WinRE.wim в %wd%\Mount\Windows\System32\Recovery\
copy /Y %wd%\winrewim\winRE[opt].wim %wd%\Mount\Windows\System32\Recovery\winRE.wim
::================end winRE.wim===============
ECHO Работа над install.wim закончена
ECHO Что бы отключить образ с сохранением нажмите любую клавишу
pause > NUL
Dism /LogPath:%wd%\Logs\DISM.log /ScratchDir:%wd%\Sandbox /unmount-Wim /MountDir:%wd%\Mount /Commit
ECHO Работа закончена
ECHO Что бы выйти нажмите любую клавишу
pause > NUL
exit /b 0
должен называться «AUTOUNATTEND.XML», и лежать в ..\DVD.
Запускаем «Диспетчер образов системы Windows», всё так же с правами Администратора. Открываем наш Install.wim(..\DVD\sources) – Файл-Выбрать образ Windows. Потом выбираем нужную версию Windows (у меня ULTIMATE). Появится предупреждение о том что файл каталога не найден или устарел , и его надо создать заново. Говорим «Да», и очень долго ждем. Может показаться что компьютер завис, но это не так, процедура очень долгая, особенно на слабых машинах. После завершения операции можно создавать (http://forum.oszone.net/thread-128794.html) файл ответов.
x86
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="windowsPE">
<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SetupUILanguage>
<WillShowUI>Always</WillShowUI>
</SetupUILanguage>
</component>
<component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DiskConfiguration>
<WillShowUI>Always</WillShowUI>
</DiskConfiguration>
<UserData>
<AcceptEula>true</AcceptEula>
</UserData>
<ImageInstall>
<OSImage>
<InstallFrom>
<MetaData wcm:action="add">
<Key>/IMAGE/INDEX</Key>
<Value>5</Value>
</MetaData>
</InstallFrom>
</OSImage>
</ImageInstall>
</component>
</settings>
<settings pass="offlineServicing">
<component name="Microsoft-Windows-LUA-Settings" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EnableLUA>false</EnableLUA>
</component>
</settings>
<settings pass="specialize">
<component name="Microsoft-Windows-Security-Licensing-SLC-UX" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SkipAutoActivation>true</SkipAutoActivation>
</component>
<component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
<Order>1</Order>
<Path>cmd /c "FOR %i IN (C D E F G H I J K L N M O P Q R S T U V W X Y Z) DO IF EXIST %i:\CD.ROM SETX DiskRoot %i: -m"</Path>
<Description>DVD Letter</Description>
</RunSynchronousCommand>
</RunSynchronous>
</component>
</settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<OOBE>
<HideEULAPage>true</HideEULAPage>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
<NetworkLocation>Home</NetworkLocation>
<ProtectYourPC>3</ProtectYourPC>
<SkipMachineOOBE>false</SkipMachineOOBE>
<SkipUserOOBE>true</SkipUserOOBE>
</OOBE>
<TimeZone>West Asia Standard Time</TimeZone>
<StartPanelOff>true</StartPanelOff>
<ShowWindowsLive>true</ShowWindowsLive>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:d:/window7sp1_x86/dvd/sources/install.wim#Windows 7 ULTIMATE" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
x64
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="windowsPE">
<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SetupUILanguage>
<WillShowUI>Always</WillShowUI>
</SetupUILanguage>
</component>
<component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DiskConfiguration>
<WillShowUI>Always</WillShowUI>
</DiskConfiguration>
<UserData>
<AcceptEula>true</AcceptEula>
<FullName></FullName>
<Organization></Organization>
</UserData>
<ImageInstall>
<OSImage>
<InstallFrom>
<MetaData wcm:action="add">
<Key>/IMAGE/INDEX</Key>
<Value>4</Value>
</MetaData>
</InstallFrom>
</OSImage>
</ImageInstall>
</component>
</settings>
<settings pass="offlineServicing">
<component name="Microsoft-Windows-LUA-Settings" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EnableLUA>false</EnableLUA>
</component>
</settings>
<settings pass="specialize">
<component name="Microsoft-Windows-Security-Licensing-SLC-UX" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SkipAutoActivation>true</SkipAutoActivation>
</component>
<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
<Order>1</Order>
<Path>cmd /c "FOR %i IN (C D E F G H I J K L N M O P Q R S T U V W X Y Z) DO IF EXIST %i:\CD.ROM SETX DiskRoot %i: -m"</Path>
<Description>DVD Letter</Description>
</RunSynchronousCommand>
</RunSynchronous>
</component>
</settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<OOBE>
<HideEULAPage>true</HideEULAPage>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
<NetworkLocation>Home</NetworkLocation>
<ProtectYourPC>3</ProtectYourPC>
<SkipMachineOOBE>false</SkipMachineOOBE>
<SkipUserOOBE>true</SkipUserOOBE>
</OOBE>
<TimeZone>West Asia Standard Time</TimeZone>
<ShowWindowsLive>true</ShowWindowsLive>
<StartPanelOff>true</StartPanelOff>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:d:/window7sp1_x64/dvd/sources/install.wim#Windows 7 ULTIMATE" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
В нём оставлена возможность выбора языка для установки, выбора диска и раздела для установки, ввод имени пользователя (не хотелось делать всех User), сетевая безопасность (ProtectYourPC) равна 3, т.е. выключена. Еак же отключен UAC.
У меня устанавливается Ultimate, это указывается здесь - 1windowsPE в x86_Microsoft-Windows-Setup__neutral-ImageInstal-OSImage-InstallFrom-MetaData-Key-/IMAGE/INDEX и Value-5(то есть устанавливать по индексу образа. Ultimate номер 5, а в x64 - 4 ).
Так же установлен часовой пояс GMT+5 (West Asia Standard Time), если хотите поменять, то это здесь - x86_Microsoft-Windows-Shell-Setup_neutral-TimeZone, который добавляется к 7 oobeSystem. Значения TimeZone можно посматреть в REGEDIT здесь - HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones.
И ещё у меня в 4specialize определяется буква DVD-привода по файлу CD.ROM, и ему назначается переменная %DiskRoot%. Что бы это заработало создайте файл-пустышку «CD.ROM» (например создайте файл Блокнота и переименуйте его, согласившись с изменением расширения), и поместите его в ..\DVD. Я ещё создавал там папку Install, и сложил туда всё что хотел установить автоматом (кряк windows7,твики и т.д.). Потом в x86_Microsoft-Windows-Shell-Setup_neutral-FirstLogonCommand, который добавляется к 7 oobeSystem создаю команды, типа такой «cmd /c %DiskRoot%\Install\setupProg.exe».
Если будете делать свой файл ответов, то в нём обязательно должно быть вот так - x86_Microsoft-Windows-International-Core-WinPE_neutral-SetupUILanguage-WillShowUI-Always в 1windowsPE. Эта настройка заставляет всегда показывать окно выбора языка для системы. Ну и для x64 вместо «x86_», будет «amd64_».
Запускаем с правами Администратора «Командная строка средств развертывания».
Указываем рабочую папку для удобства
set wd=D:\window7_x86
Создание загрузочного образа x86
oscdimg -h -lWindows7sp1x86 -n -m -oc -b"%wd%\DVD\boot\etfsboot.com" %wd%\DVD %wd%\ISO\windows7SP1_x86.iso
Создание загрузочного образа x64
oscdimg -h -lWindows7sp1x64 -n -m -oc -b"%wd%\DVD\boot\etfsboot.com" %wd%\DVD %wd%\ISO\windows7SP1_x64.iso
Остальное в процессе создания
Здесь (http://forum.oszone.net/thread-241734.html) статья про Windows 8.1
[hr]
Альтернативы, обсуждающиеся в этой теме:
Lego Project - набор для создания AIO x86-x64 (http://forum.oszone.net/post-1561544.html#post1561544) от CtrlSoft