четверг, 6 сентября 2012 г.

Установка Windows 7 по сети


На днях понадобилось установить Windows 7 на нетбук. Ни usb привода, ни флешки приличного объема под руками не оказалось - потому решил сделать установку по сети. Погуглив в поисках готового решения и так и не найдя его решил попробовать сделать аналогично Windows Vista, все таки системы очень похожи.
Итак что нам понадобиться:

1. Дистрибутив с Windows 7 нужной вам редакции
2. Набор автоматической установки Windows® (AIK) для Windows® 7 
3. DHCP и TFTP серверы. Используем tftpd32

4. Компьютер с установленной:  

Windows Server 2003 with Service Pack 2
Windows Vista с пакетом обновления 1 (SP1)
семейство Windows Server 2008
семейство Windows 7
семейство Windows Server 2008 R2
Программой типа Daemon Tools Lite, хотя iso  образ можно открыть и достать из него необходимые файлы можно любым архиватором



Для начала устанавливаем "Набор автоматической установки Windows® (AIK) для Windows® 7", для этого придется смонтировать установочный образ в виртуальный привод(DaemonTools, Alcohol,UltraIso,Nero...) или распаковать в отдельную папку и запустить оттуда StartCD.exe
В меню автозапуска диска выбираем Установка Windows AIK - Далее...-Далее-Готово.

Теперь в меню пуск ищем Microsoft Windows AIK и запускаем оттуда Командная строка средств развертывания. Теперь то мы и  приступаем к интересностям  :)


Создаем образ Windows PE

В открытой консоли вводим команды
copype.cmd x86 d:\winpe
imagex /mountrw winpe.wim 1 mount.
Теперь в каталоге d:\winpe\mount у нас находится смонтированный образ winpe.wim. 

В процессе загрузки текущего образа Windows PE на экране появиться приглашение командной строки. Для того чтобы не подключать сетевой диск и не запускать программу setup вручную необходимо в каталоге d:\winpe\mount\windows\system32 отредактировать файл startnet.cmd, приведя его к следующему виду.  
wpeinit
net use y: \\192.168.1.1\seven /user:install install
if exist y:\sources\setup.exe (
y:
cd \sources
setup.exe
)
Обратите внимание подключение диска у происходит на правах пользователя install c одноименным паролем. Поэтому важно создать на машине, которая будет выступать сервером пользователя install. Сделать это например можно с помощью команды:  
net user install install /add /passwordchg:no

Если у вас экзотическая сетевая карта - прочитайте ДОПОЛНЕНИЕ в конце статьи.

После того как вся работа с образом закончена необходимо его размонтировать. Сделать это можно с помощью команды:  
imagex.exe /unmount /commit mount 
Теперь образ готов.

Создаем каталоги для загрузки по сети

Создаем корневой каталог для загрузки, например D:\Seven\ . В нем создаем каталог boot -  в котором будут храниться загрузочные файлы. Теперь копируем директорию sources c DVD диска Windows 7 в папку Seven. Также в директорию sources вы можете забросить файл autounattend.xml с настройками для автоматической установки, но и без него будет работать.

Теперь заполним каталог boot.  
Снова монтируем образ winpe.wim  для того, что бы скопировать файлы необходимые для загрузки по сети. Сделать это можно с помощью команды  
imagex /mount d:\winpe\winpe.wim 1 d:\winpe\mount. 
С помощью команд  
xcopy /ey d:\winpe\mount\windows\boot\pxe d:\seven
xcopy /iy d:\winpe\mount\windows\boot\fonts d:\seven\boot\fonts
copy /y d:\winpe\ISO\boot\boot.sdi d:\seven\boot
копируем в каталог d:\seven необходимые файлы для осуществления загрузки по сети. 
После того как вся работа закончено необходимо размонтировать используемый образ командой:
imagex.exe /unmount d:\winpe\mount 
Используемый образ WinPE необходимо также скопировать в каталог d:\seven\boot командой:
 copy /y d:\winpe\winpe.wim d:\seven\boot 
Также нужно сделать общий доступ(расшарить) к папке D:\Seven для всех пользователей или конкретно для пользователя install.

Теперь создадим файл BCD – boot configuration data (хранилище параметров загрузки)
Для этого нам понадобиться скрипт d:\winpe\createbcd.cmd с таким содержанием:


ДЛЯ РУССКОГО ДИСТРИБУТИВА


bcdedit -createstore %1\BCD
bcdedit -store %1\BCD -create {ramdiskoptions} /d "Ramdisk options" 
bcdedit -store %1\BCD -set {ramdiskoptions} ramdisksdidevice  boot
bcdedit -store %1\BCD -set {ramdiskoptions} ramdisksdipath  \boot\boot.sdi
for /F "tokens=2" %%i in ('bcdedit -store %1\BCD -create /d "MyWinPE Boot Image" /application osloader') do  set guid=%%i
bcdedit -store %1\BCD -set %guid% systemroot \Windows
bcdedit -store %1\BCD -set %guid% detecthal Yes
bcdedit -store %1\BCD -set %guid% winpe Yes
bcdedit -store %1\BCD -set %guid% osdevice ramdisk=[boot]\Boot\winpe.wim,{ramdiskoptions}
bcdedit -store %1\BCD -set %guid% device ramdisk=[boot]\Boot\winpe.wim,{ramdiskoptions}
bcdedit -store %1\BCD -create {bootmgr} /d "Windows VISTA BootManager"
bcdedit -store %1\BCD -set {bootmgr} timeout 30 
bcdedit -store %1\BCD -set {bootmgr} displayorder %guid%

ДЛЯ АНГЛИЙСКОГО ДИСТРИБУТИВА

bcdedit -createstore %1\BCD
bcdedit -store %1\BCD -create {ramdiskoptions} /d "Ramdisk options" 
bcdedit -store %1\BCD -set {ramdiskoptions} ramdisksdidevice  boot
bcdedit -store %1\BCD -set {ramdiskoptions} ramdisksdipath  \boot\boot.sdi
for /F "tokens=3" %%i in ('bcdedit -store %1\BCD -create /d "MyWinPE Boot Image" /application osloader') do  set guid=%%i
bcdedit -store %1\BCD -set %guid% systemroot \Windows
bcdedit -store %1\BCD -set %guid% detecthal Yes
bcdedit -store %1\BCD -set %guid% winpe Yes
bcdedit -store %1\BCD -set %guid% osdevice ramdisk=[boot]\Boot\winpe.wim,{ramdiskoptions}
bcdedit -store %1\BCD -set %guid% device ramdisk=[boot]\Boot\winpe.wim,{ramdiskoptions}
bcdedit -store %1\BCD -create {bootmgr} /d "Windows VISTA BootManager"
bcdedit -store %1\BCD -set {bootmgr} timeout 30 
bcdedit -store %1\BCD -set {bootmgr} displayorder %guid%

Теперь в нашей консоли выполняем команду:
createbcd.cmd d:\seven\boot



Настройка программы TFTPD32

Запускаем tftpd32.exe , переходим на закладку DHCP и выставляем все как на скриншоте


Теперь жмем Settings, выставляем как на скриншоте, перезапускаем сервер.


ВСЕ ГОТОВО!

Теперь вам нужно подключить пациента к этому серверу по сети и включить в биосе загрузку с сетевой карты. После этого будет получен IP-адрес  через DHCP и выполниться pxeboot.n12 - который запустит WinPE c файла winpe.wim. Сразу после загрузки WinPE будет автоматически примонтирован каталог Seven и с него запуститься установка. Далее установка проходит точно также как и с DVD-диска.

ДОПОЛНЕНИЕ 
Если у вас экзотическая сетевая карта, драйвера которой не входят в дистрибутив Windows Seven, вы можете сами их добавить на стадии создания WinPE образа. Для этого из драйвера берем файлы *.cat, *.inf, *.sys и копируем в каталог d:\landrv.
Теперь можно приступать к установки этих драйверов в смонтированный образ, в каталоге mount. Сделать это можно с помощью команды:
peimg.exe /inf=d:\landrv\{DRIVERNAME} mount\windows 
Где вместо {DRIVERNAME} имя вашего *.inf - файла



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

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