Универсальный сервер сетевой загрузки и установки. Окончание

В файле «install_menu.cmd» реализован выбор операционных систем для установки:

@ECHO OFF
CD /D "%~dp0"
SETLOCAL
COLOR 1E
wselect.exe install_menu.lst "Выбор системы для установки" /menu /cmdCenter /oemlist /fixedfont /fs=20
CALL :M%ERRORLEVEL%
ENDLOCAL
GOTO :EOF
:M0
:M1
::Тело скрипта при отказе
ECHO Cancel
EXIT
:M2
:: Тело скрипта запуска X86
ECHO Выбрана система X86
NET USE Z: \\192.168.1.7\win7
IF EXIST Z:\SOURCES\setup.exe (
CD /D Z:\SOURCES
setup.exe /unattend:Z:\autounattend.xml
)
GOTO :EOF

:M3
:: Тело скрипта запуска X64
ECHO Выбрана система X64
NET USE Z: \\192.168.1.7\win7x64
IF EXIST Z:\SOURCES\setup.exe (
CD /D Z:\SOURCES
setup.exe /unattend:Z:\autounattendX64.xml
)
GOTO :EOF

         Скачать архив с этим файлом можно по адресу [12].  Содержание этого архива так же необходимо скопировать в c:\windows7pe-x86\mount\windows\system32. Далее добавляем необходимые вам драйвера (сетевых карт) с помощью команды Dism с параметром /Add-Driver. Эта программа командной строки,  доступна в пакете Windows Automated Installation Kit 2.0  (Windows AIK).

Dism /image:c:\windowspe-x86\mount /Add-Driver /driver:c:\mydriver\video\myvideo.inf

Dism /image:c:\windowspe-x86\mount /Add-Driver /driver:c:\mydriver\net\vboxdrv.inf

        Заканчиваем редактирование, переходим в каталог c:\windowspe-x86\. Выполняем запись и размонтирование исправленного образа:

Dism /Unmount-WIM /MountDir:c:\windowspe-x86\mount /Commit

        Этими нехитрыми действиями получается простейший загрузочный диск Microsoft Windows PE с необходимыми нам драйверами без графического интерфейса.
        Переходим к нашему серверу. Создаем в /srv/tftpboot/ папку boot и sources копируем из c:\windowspe-x86\ISO\boot файлы «bcd», «boot.sdi» и папку «fonts» в /srv/tftpboot/boot/. Из c:\windowspe-x86\ файл «winpe.wim» под именем «boot.wim» в /srv/tftpboot/sources/.
Из папки c:\windowspe-x86\ISO\ в корень tftp помещаем файл «bootmgr.exe», а файл «pxeboot.0»  в /srv/tftpboot/sources/. Создаем папку /srv/tftpboot/win7, монтируем образ iso с Microsoft Windows 7 и копируем содержимое диска в win7/. Эту операцию (если нужно) повторяем для  64-х разрядной системы. Проверяем загрузку. В случае успеха вы увидите такую картину как на рис.11.

Рисунок 11 Окно выбора устанавливаемой системы 

 
          Используя указание файла ответов:  «setup.exe /unattend: autounattend.xml» можно создать любое количество конфигураций конечных систем. Изменяя имя файла конфигурации и вызов программы установки в «install_meniu.cmd» получаем всего один дистрибутивный ресурс и множество конфигураций установки.
 

Заключение


        Мы достаточно подробно рассмотрели установку сервера сетевой загрузки и теоретические принципы его работы, познакомились с настройкой пакета Syslinux [2], научились использовать комплект скриптов RIS for Linux [4] и создавать для него комплекты драйверов сетевых карт, а так же настроили сетевую установку двух дистрибутивов Microsoft  Windows XP и  Microsoft Windows 7.
В следующей статье будут рассмотрены вопросы создания образа автоматической установки Microsoft Windows 7 и файла ответов «autounattend.xml», конфигурация сетевой загрузки операционных систем семейства Unix, а так же создание дистрибутивов «спасательных» систем, загружаемых по сети, на базе Windows PE и FreeDOS.
 

Ссылки и литература:

1.Проект WDSLINUX (]]>http://syslinux.zytor.com/wiki/index.php/WDSLINUX]]>)
2.Проект Syslinux (]]>http://syslinux.zytor.com/wiki/index.php/The_Syslinux_Project]]>)
3.Комплект конфигурационных файлов для графического меню (]]>http://win.infin.ru/ftp/distrib/risserver/pxelinux.cfg.zip]]>)
4.RIS for Linux (]]>http://oss.netfarm.it/guides/pxe.php]]>)
5.Язык программирования Python (]]>http://www.python.ru]]>)
6.Набор автоматической установки Windows® (AIK) для Windows® 7
(]]>http://www.microsoft.com/downloads/details.aspx?familyid=696DD665-9F76-4...]]>)
7.Набор драйверов сетевых карт (]]>http://win.infin.ru/ftp/distrib/risserver/lan-drivers.zip]]>)
8.Файл winnt.sif (]]>http://win.infin.ru/ftp/distrib/risserver/winnt_sif.zip]]>)
9.Описание параметров файла winnt.sif от Microsoft (]]>http://unattended.msfn.org/unattended.xp/view/web/19/]]>)
10.Описание автоматической установки XP (]]>http://unattendedxp.com/]]>)
11.Хорошее описание WAIK (]]>http://www.windowsfaq.ru/content/view/624/90/]]>)
12.Скрипт выбора ОС (]]>ftp://infin.ru/distrib/risserver/menu7.zip]]>)
13.СУБД Oracle (]]>http://ru.wikipedia.org/wiki/Oracle_]]>(СУБД))
14.Sybase Adaptive Server Anywhere (ASA) (]]>http://www.sybase.ru]]>)
15.Настройка DHCP (]]>http://lantan.chat.ru/dhcpd.conf.5.html]]>)
16.Проект Whireshark (]]>http://www.wireshark.org/]]>)

Внимание! Все используемые в статье конфигурационные файлы можно скачать по этой ссылке 

http://www.winpe.ru/content/universalnyy_server_setevoy_zagruzki_i_ustanovki_fayly

Похожие материалы по этой теме на сайте

Содержимое
Универсальный сервер сетевой загрузки и установки. Часть 3

         Начнем с подготовки фалов для установки Windows XP. Монтируем образ диска с системой: 

mount -o loop /home/iso/winxpsp3.iso /home/temp/xp

Распаковываем и переименовываем файлы...

Универсальный сервер сетевой загрузки и установки. Часть 4.
Часть 3 закончилась на рассмотрении ошибок возникающих при загрузке wim образа с Windows 7. Продолжим настройку WDS.
server_args = -s...
Интерпретатор CMD - вывод переменных со спецсимволами на экран и в файл

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

Скрипты для CMD

Скрипты выполняемые интерпретатором CMD.EXE - стандартной консольной оболочкой для Win2000/WinXP/Vista/Seven/Win8/Win2000 Server/Win2003/Win2008.

Страховое копирование по списку

Относительно простой вариант резервного копирования по списку файлов/папок с учетом типа резервной копии и количества хранимых копий по типам. Классические типы: дневная-недельная-месячная-годовая копии. Кодировка скрипта CP866....

Преобразование файлов 1CClientBankExchange в табличную форму

Лично мне периодически приходилось сталкиваться с обработкой данных не в табличной форме, а в "именованном формате" то есть когда каждый параметр пишется на отдельной строке в виде Параметр=Значение параметра причем файл...

Чтение данных из реестра в переменную окружения

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

Перевод столбца в строку

Преобразование столбца в строку с заданными разделителями и обрамлением. Кодировка скрипта CP866.
Символ двойной кавычки при этом не удастся использовать как разделитель или обрамление.