Статьи

В этом разделе размещаются статьи различной направленности.

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


Данная статья посвящена описанию настройки сервера сетевой загрузки и установки с его помощью разнообразных ОС.

Введение

          Каждому системному администратору, даже не большой локальной сети, приходиться устанавливать или обновлять разнообразные операционные системы. Довольно часто конфигурация оборудования настолько разнообразна, что ни о какой установке ОС с заранее подготовленного образа установленной и настроенной системы, речи быть не может. Для компаний занимающихся разработками клиент-серверного программного обеспечения работа с СУБД Sybase SQL Anywhere [14], Oracle Database [13] и т.д. список ОС для тестирования серверной части продукта может быть очень большим. Работы по созданию кроссплатформенных приложений тоже требуют наличия разнообразных платформ. В этот список могут входить как все версии серверных и десктопных ОС от Microsoft, так и целый зоопарк популярных операционных систем семейства Unix. Так же время от времени возникает необходимость решения таких «насущных» задач как восстановление систем, загрузчиков, удаление вирусов и т.д. и т.п. Для этого администратору удобно иметь под рукой как минимум два live-дистрибутива (Windows и Unix). Из всего выше сказанного следует, что администратору необходимы носители на которых располагаются все эти ОС, а это достаточно большое количество дисков. Тем более, что в разнообразные системы желательно интегрировать последние сервис-паки и обновления, которые выходят достаточно часто. Это приводит к тому, что носители периодически необходимо перезаписывать, что неэффективно с точки зрения затрат времени.
          Следует также отметить, что, из соображений безопасности и по причине экономии при комплектовании рабочих станций не всегда устанавливается DVD привод, а многие системы инсталлируются с DVD дисков. В такой ситуации облегчить жизнь системному администратору поможет сервер сетевой загрузки и установки операционных систем. В интернете существует огромное количество статей и сайтов посвященных этой теме. Но во многих случаях описание процесса установки уже не соответствует новым реалиям, так как написаны достаточно давно. После недавнего внедрения системы сетевой установки на новом сервере, возникло желание поделиться этим опытом.

 

Сетевая установка

           Существует два стандартных варианта решения этой задачи. Для установки операционных систем семейства Windows существуют всем известные WDS (Windows Deployment Services) и SMS (Microsoft System Management Server). У Unix-подобных систем с давних пор была возможность установки разнообразными методами, в том числе и по сети. Нет сомнения, что для развертывания и установки Windows систем WDS удобен и выполняет свои обязанности, но для инсталляции операционных систем семейства Unix он не очень подходит.

            Как известно, основным компонентом сервера сетевой установки является TFTP сервер. Его расположение (IP - адрес) указывается при помощи параметров DHCP. Если DHCP-сервер в вашей сети один, то перенаправлять сетевой загрузчик то на один TFTP сервер, то на другой для загрузки не получится. Поэтому нельзя объявить сразу два источника установки – такой сервер должен быть один. Существует решение для установки Linux систем с помощью Windows WDS - проект WDSLINUX [1]. Его основной минус заключается в том, что не все дистрибутивы поддерживают подключение по smb и http протоколу к серверу установки (для примера ]]>http://www.openfiler.com)]]>. Обычно такие дистрибутивы требуют подключения по nfs. Мне хотелось получить универсальную схему для установки разных версий Microsoft Windows и Linux, а так же сетевую загрузку разнообразных «спасательных» систем.

           Для начала немного теории. Принцип сетевой установки очень прост. При включении компьютера управление передается ПЗУ сетевой карты. Обычно используется среда PXE (Pre-Execution Environment). После распаковки в оперативную память, она активирует сетевую карту и начинает посылать широковещательный запрос в сеть для нахождения сервера DHCP. При ответе DHCP, PXE запрашивает у него IP адрес, который необходимо присвоить сетевой карте, маску сети, IP адрес сервера TFTP, имя файла для загрузки и т.д. Далее, если ответы на вопросы получены при помощи встроенного TFTP-клиента, PXE обращается к указанному серверу с запросом на получение указанного в параметрах файла. Если файл найден и получен то управление передается на него. Всеми последующими действиями будет руководить именно он.

         Широкое распространение получил проект Питера Анвина (Peter Anvin) под названием — Syslinux [2]. Он имеет простые конфигурационные файлы и включен в поставку многих Linux дистрибутивов. На официальном сайте дается такое определение этому пакету: «SYSLINUX является загрузчиком для операционных системы Linux, который работает на MS-DOS/Windows FAT файловых системах. Он предназначен для простой загрузки и установки Linux. А также для создания спасательных и других специальных загрузочных конфигураций». В этот пакет входит PXELINUX, который является производной от SYSLINUX и используется для загрузки Linux с сетевого сервера. PXELINUX соответствует Intel PXE (Pre-Execution Environment) спецификации. Основой PXELINUX является файл «pxelinux.0» — это и есть загрузчик. Этот файл располагается в корне TFTP сервера. Его конфигурационные файлы размещаются в папке «/tftpboot/pxelinux.cfg/». После запуска на клиентской машине «pxelinux.0» скачивает с сервера и отображает файл «message». Это простой текстовый файл, в котором описаны доступные варианты загрузки. Затем он скачивает свой конфигурационный файл («/tftpboot/pxelinux.cfg/default») и переходит в режим ожидания ввода имени предоставленных конфигураций. Имя раздела пишется после метки label. В ответ на ввод имени варианта установки «pxelinux.0» начинает выполнять действия описанные в нем. Для создания простого текстового меню файл «/tftpboot/pxelinux.cfg/default» может выглядеть так:

default pe
label xpinstall   # Установка Windows XP
  kernel startrom.0
label win7  # Установка Windows 7
  kernel sources/pxeboot.0

label pe   # Запуск Live-CD WindowsPE
  pxe keep
  kernel pe.0
  append initrd=winpe.wim ramdisk_size=262144
label suse112   # Установка openSuSe11.2
  kernel suse/suse112x32/linux
  append initrd=suse/suse112x32/initrd ramdisk_size=65536 install=nfs://192.168.1.7/  srv/tftpboot/suse/suse112x32/CD1/

 

       Так же возможно создание графического меню выбора операционных систем (рис.1-3).

Рисунок 1 Главное окно загрузочного меню

Главное окно загрузочного меню

Рисунок 2 Меню «спасательных» систем и утилит

Меню «спасательных» систем и утилит

Рисунок 3 Меню установки ОС

Меню установки ОС


 

Главная     Часть 2

 

]]>Google]]>

Теги: 

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

       В связи с тем, что было много вопросов и обращений по поводу  цикла статей посвященных установке и загрузке  по сети различных сборок Windows XP и WinPE, под общим названием   "Универсальный сервер сетевой загрузки и установки". Я решил: во первых выложить ВСЕ конфигурационные файлы используемые в статьях. Далее привожу список файлов и директорий (как они распологаются у меня) сервера установки. Во вторых попросить всех поделиться своими наработками в этом направлении с описанием "подводных камней" с которыми пришлось столкнуться на разных конфигурациях. И в третьих задать вопрос: "А оно было надо?".
Буду всем благодарен и признателен за ответы.

Содержание файлов в папках в корне tftpboot/

23.09.2010  12:22             4 952 bootfont.bin
23.09.2010  16:32           523 328 bootmgr.exe
27.01.2012  08:12        90 349 568 filesystem.squashfs
27.01.2012  08:12         9 765 456 initrd.img
23.01.2012  18:03           392 540 ipxe.lkn
27.09.2010  16:08            20 068 memdisk
23.09.2010  12:10            54 576 menu.c32
21.09.2012  12:53             3 545 new_winxp.sif
23.09.2010  12:24            47 564 ntdetect.com
13.12.2010  11:55           298 496 ntld1
13.12.2010  11:55           298 496 ntld2
24.01.2011  18:10           298 496 ntld7
29.06.2009  22:14           298 496 NTLDR
23.09.2010  11:51            14 646 pxelinux.0
21.09.2012  12:54                 0 tt.txt
27.01.2012  08:12         2 651 200 vmlinuz
13.12.2010  12:08               168 winn1.sif
13.12.2010  12:10               173 winn2.sif
24.01.2011  18:07               166 winn7.sif
21.09.2012  12:51             3 571 winxp.sif
23.09.2010  12:18           241 664 xpldr

Содержание файлов в папках (от корня tftpboot/) и архивах.

Содержание tftpboot/pe/

01.11.2010  13:56       125 984 891 boot.wim
21.09.2012  12:37                 0 dir.txt
12.09.2008  15:11         2 949 120 freedos.ima
21.06.2008  00:00           111 864 memtest
24.08.2009  12:28            22 454 startrom1.0
13.12.2010  11:51            22 454 startrom2.0
24.01.2011  18:06            22 454 startrom7.0
27.05.2012  22:14       306 489 726 wim_antivir.wim
27.05.2012  22:20       275 166 347 wim_hdd.wim
12.03.2010  16:07            22 454 xp0.0

Содержание tftpboot/pxelinux.cfg/

02.02.2012  14:12               660 default
26.11.2010  13:05               449 graphics.conf
15.02.2012  15:53             1я886 mini.menu
04.06.2012  10:17             3я851 setup.menu
18.03.2012  11:08             2я337 tools.menu

Содержание tftpboot/reminst/

26.01.2010  17:26                39 convert
21.09.2012  12:43                 0 tt.txt
12.03.2010  16:07            22 454 xp0.0
12.03.2010  16:08           241 664 xpldr

Содержание tftpboot/sources/

19.10.2011  14:28       268 609 178 boot.wim
11.06.2009  01:15            25 772 pxeboot.0

Содержание tftpboot/ris

21.09.2012  12:59                 0 binl.log
17.03.2007  06:38            12 308 binlsrv.c
23.09.2010  15:29            33 352 binlsrv.py
22.09.2006  09:19               318 contrib.txt
26.09.2007  11:49             1 614 decode.py
21.02.2012  15:37         1 353 523 devlist.cache
21.02.2012  15:37    <DIR>          drv
22.09.2006  09:19             1 162 fixloader.py
22.09.2006  09:19             1 409 fixup-repository.sh
26.09.2007  11:49             1 040 hexdump.py
26.09.2007  11:49             1 136 infdump.py
27.04.2008  06:35            11 086 infparser.py
17.03.2007  06:50             5 292 modldr.py
21.02.2012  15:37            11 198 nics.txt
27.04.2008  07:04    <DIR>          patches
21.09.2012  13:00                 0 tt.txt
26.09.2007  11:45             1 151 wspaste.py

menu7.zip  -  файлы для установки Windows7: install_menu.cmd, install_menu.cmd install_menu.lst, Wselect.exe

Все файлы есть в архивах с названиями папок, прикрепленных к сообщению.

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

С разрешения редакции журнала "Системный администратор" публикую продолжение статьи.

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

В первой части статьи [1] были рассмотрены принципы работы, создание и конфигурирование сервера для инсталляции различных операционных систем в сети. Подготовили и настроили для установки в обычном режиме (вопрос–ответ) два дистрибутива: Microsoft Windows XP и Microsoft Windows 7.

Рассмотрим процесс автоматизации установки операционных систем. Автоматическая установка Windows XP подробно описана не только в официальной документации Microsoft [2], но и в огромном количество how-to разбросанным по интернету [3]. Поскольку Windows XP снята с поддержки, то перейдем к обзору автоматической установки флагманской операционной системы компании Microsoft Windows 7.

Создание файла ответов

Автоматическая установка обеспечивается при наличии в дистрибутиве Microsoft Windows XP текстового файла настройки системы winnt.sif и диспетчер установки setupmgr.exe. В последующих версиях Windows (Microsoft Windows Vista и старше) эту роль играет файл ответов autounattend.xml. Как понятно из расширения он представляет собой простую XML-структуру (рис.1).

 

Рисунок 1. Структура файла autounattend.xml

Структура файла autounattend.xml

В нем можно указать используемые по умолчанию параметры Internet Explorer, настройку сети, принадлежность к домену и т.д. В связи с тем, что теперь в Windows используется модульная архитектура, появилась возможность тонкой настройки каждого компонента устанавливаемой системы, за счет вложенных элементов структуры XML.

Создать файл ответов можно в любом текстовом редактором, но лучше все действия производить при помощи диспетчера установки Windows (Windows Automated Installation Kit или сокращенно WAIK) [4]. Кроме того WAIK проверяет корректность указанных значений и имеет очень удобно реализованную систему помощи. Подробные сведения о том или ином параметре настройки можно узнать из контекстного меню его интерфейса. Вместе с этим продуктом поставляется набор документации, включающий руководство пользователя пакета автоматической установки Windows, а так же средства миграции пользовательской среды и другие документы.
Для просмотра этих документов после установки Windows AIK нажмите кнопку Пуск, последовательно выберите Все программы | Microsoft Windows AIK | Документация, а затем откройте необходимый файл справки. По умолчанию все документы находятся в папке %ProgramFiles%\Windows AIK\Docs\CHMs. Дополнительно в папке C:\Program Files\Windows AIK\Samples обслуживающего компьютера [1] можно найти образец файла ответов (Corp_autounattended_sample.xml).

Рассмотрим пример развертывания образа Windows 7 используя WAIK .Для этого выполним следующие действия:

  • На обслуживающем компьютере устанавливаем DVD-диск Microsoft Windows 7 необходимой для вас редакции («Professional», «Ultimate» и т.п. - далее DVD) исоздаем папку c:\windows7-x86, копируем в нее файл Install.wim из каталога DVD\Sources;
  • Запускаем диспетчер установки Windows: Пуск | Все программы | Microsoft Windows AIK | Диспетчер установки Windows.
  • В появившемся диалоговом окне Выбрать образ Windows переходим в папку c:\windows7-x86 и нажимаем кнопку Открыть.
  • Выбираем нужный образ Windows (c:\windows7-x86\Install.wim) и нажимаем на кнопку ОК. На предложение мастера создать файл каталога— отвечаем утвердительно.
  • В меню Файл выполняем команду Новый файл ответов.

Врезка.

В данном примере не импортируются специальные драйверы устройств, а так же дополнительные приложения и пакеты. Производиться первоначальное конфигурирование и форматирование дисков, установка редакции и локали системы, а так же ввод ключа продукта.

После выполненных действий в области Файл ответов появится пустой файл с названием Untitled. Далее, выполняем добавление компонентов системы настройки, для этого в панели Образ Windows разворачиваем вкладку Components.

Таблица 1. Компоненты необходимые для создания базового образа Windows

 

Компонент Этап настройки
Microsoft Windows Deployment Reseal oobeSystem
Microsoft-Windows-International-Core-WinPE\SetupUILanguage windowsPE

Microsoft-Windows-Setup\DiskConfiguration\Disk\CreatePartitions\CreatePartition

windows PE

Microsoft-Windows-Setup\DiskConfiguration\Disk\ModifyPartitions\ModifyPartition

windowsPE

Microsoft-Windows-Setup\ImageInstall\OSImage\InstallTo

windowsPE

Microsoft-Windows-Setup\UserData

windowsPE

Microsoft-Windows-Shell-Setup\OOBE

oobeSystem

На основе данных, приведенных в таблице 1 выбираем необходимый параметр нажимаем на нем правой кнопкой мыши. Система предложит выбрать этап настройки, указываем сверяясь с таблицей 1. Приведенные компоненты взяты из официальной документации и являются минимально необходимыми. Присмотревшись внимательнее к названиям в большинстве случаев можно определить за что отвечает каждый компонент. Вопрос который может возникнуть: «Что такое этап настройки?». Этап настройки это момент времени в которое будет производиться описанное действие. Этапы по своей сути очень похожи на «шаги инсталляции» Windows XP. Настройки автоматической установки могут быть применены в одном или нескольких этапах. Нам необходимо использовать этап под названием WindowsPE. Вот как он описан в документации: «...параметры могут включать определение образа ОС Windows для установки и настройки диска на компьютере назначения. На этом этапе настройки, образ Windows копируется на целевой целевой компьютер применяя конфигурацию указанную в WindowsPE.

Если ваша установка Windows PE требует загрузки драйверов для доступа к локальному жесткому диску или сети, используйте этот этап настройки для добавления драйверов в хранилище драйверов Windows PE.»

Все просто и понятно - это самый главный этап для сетевой установки.

Итак, закончив добавление, переходим к редактированию свойств компонентов (рис.2).

Рисунок 2. Редактирование свойств компонента

Редактирование свойств компонента

В области Параметры панели Свойства выбираем нужный параметр и в правом столбце вводим соответствующее значение, как указано в таблице 2. Названия и значения свойств интуитивно понятны и не должны вызвать вопросов.

Таблица 2. Параметры свойств компонента

 

Этап настройки

Компонент

Значение

WindowsPE

Microsoft-Windows-International-Core-WinPE

<язык ввода>

WindowsPE

Microsoft-Windows-International-Core-WinPE\SetupUILanguage

<язык интерфейса>

WindowsPE

Microsoft-Windows-Setup\DiskConfiguration

WillShowUI = OnError

WindowsPE

Microsoft-Windows-Setup\DiskConfiguration\Disk

DiskID = 0

WillWipeDisk = true

WindowsPE

Microsoft-Windows-Setup\DiskConfiguration\Disk\CreatePartitions\CreatePartition

Order = 1

Size = 100

Type = Primary

WindowsPE

Microsoft-Windows-Setup\DiskConfiguration\Disk\ModifyPartitions\ModifyPartition

Active = true

Format = NTFS

Label = System

Order = 1

PartitionID = 1

WindowsPE

Microsoft-Windows-Setup\ImageInstall\OSImage

InstallToAvailablePartition = false

WillShowUI = OnError

 

WindowsPE

Microsoft-Windows-Setup\ImageInstall\OSImage\InstallTo

DiskID = 0

PartitionID = 1

WindowsPE

Microsoft-Windows-Setup\UserData

AcceptEula = true

WindowsPE

Microsoft-Windows-Setup\UserData\ProductKey

Key = <ключ продукта>

WillShowUI = OnError

 

Со списком минимально необходимых компонентов, а так же с подробным описанием каждого можно познакомиться в документе под названием «Пошаговое руководство создания файла ответов» — файл stepbystep_itpro.htm дистрибутива [4].

Проверка файла ответов

После добавления всех необходимых параметров и компонентов в меню Сервис выбираем Проверка файла ответов. Все значения сравниваются с доступными параметрами выбранного образа Windows. Если проверка прошла успешно, в области Сообщения в нижней части окна Диспетчер установки Windows появляется сообщение Ошибок и предупреждений нет. В противном случае в области Сообщения появляется сообщение об ошибке. Для исправления обнаруженной ошибки, необходимо дважды кликнуть по соответствующему сообщению, чтобы перейти к неверному параметру. Исправляем ошибку, используя встроенную систему помощи и снова выполняем проверку. Повторяем это действие, пока файл ответов не будет годным к эксплуатации. И только после этого сохраняем файл под именем autounattend.xml. Осталось скопировать этот файл в корневую папку сервера сетевой загрузки и исправить вызов setup.exe в файле install_menu.cmd [1] с указанием его имени: setup.exe /unattend: autounattend.xml. Теперь установка системы будет происходить в автоматическом режиме с указанными параметрами.

После создания базового файла ответов его можно изменить, включив дополнительные настройки, автоматизировать части процесса инсталляции путем создания сценариев. Дополнительно интегрировать в загружаемый образ разнообразные драйвера устройств и необходимые приложения. Много информации о настройке и развертывании образа Windows содержаться в разделе Сценарии пакета автоматической установки Windows справки Waik.chm и документации к WAIK [4], а так же по адресу [5].

Добавление Linux дистрибутивов

Добавить в загрузку Linux-дистрибутив не составляет большого труда. Обычно сборщики популярных дистрибутивов таких как CentOS, Ubuntu, openSuSe и т.д. Включают в поставку текстовый файл с описанием установки ОС с сетевого ресурса.

Общий принцип одинаков: загрузка ядра системы установки и передача ему параметров с указанием пути по которому располагается дистрибутив. Так как этот вопрос подробно рассматривался в первой части статьи , то останавливаться на нем не будем. Дополнительную информацию можно найти по адресу [6].

Citrix XenServer 5.6.0

Citrix XenServer является одной из самых популярных платформ виртуализации инфраструктуры масштаба предприятия. Популярность ей обеспечивает отличное средство управления и настройки - Citrix XenCenter, а так же возможность использовать редакцию Free XenServer бесплатно. Рассмотрим установку этой операционной системы в качестве первого примера.

В документации к дистрибутиву в файле installation.pdf [8] приведен пример, готовый к использованию совместно с PXE. Для использования в созданной нами сетевой конфигурации его необходимо немного изменить:

  • Исправим значения путей к файлам и параметры загрузки ядра;
  • Добавим в файл содержащий описание меню (/tftboot/pxelinux.cfg/default [1]) пункт Citrix XenServer ;

После всех изменений содержимое должно принять такой вид:

#default xenserver # Эта директива установки по умолчанию. Нам она не нужна - есть меню выбора установок

label xenserver # наименование загрузки (на ваш выбор)

menu label Install - ^Citrix XenServer # Название пункта меню

kernel xensrv/mboot.c32 # Ядро-загрузчик установки (xensrv/ - директория на сервере установки)

append xensrv/xen.gz dom0_mem=752M com1=115200,8n1 console=com1,tty --- xensrv/vmlinuz console=ttyS0,115200n8 console=tty0 --- xensrv/install.img # параметры установки рекомендованные Citrix

Рассмотрим за что отвечает каждый параметр:

xen.gz — сжатая файловая система инсталлятора;

dom0_mem=752M — использование памяти хост-машиной;

com1=115200 — виртуальный com-порт;

n1 console=com1 — «привязка» порта к терминалу 8 бит с проверкой четности;

vmlinuz — ядро системы;

console=ttyS0,115200n8 console=tty0 — параметры загрузки ядра ;

install.img — образ установочного диска.

Меню создано, осталось скопировать файлы. Для этого последовательно выполняем:

# mount /media/dvd /mnt # Монтируем DVD или

# mount -o loop /distrib/CitrixXS56.iso /mnt # iso-образ Citrix XenServer 5.6.0

Далее создаем папку /tftpboot/xensrv на сервере и скопируем в нее из /mnt/boot/ файлы ядра vmlinuz и xen.gz. Затем скопируем из /mnt/boot/isolinux папку packages.main и файл install.img. В папке packages.main находятся: dom0fs.tar.bz2 он содержит корневую файловую систему и архивы дополнительных пакетов, разработанных в Citrix, необходимые серверу. Можно включить в установку пакеты которые вам нужны, достаточно просто добавить их в dom0fs.tar.bz2, взяв из соответсвующего репозитория CentOS.

В Citrix XenServer так же предусмотрена возможность автоматической установки. Такой вариант удобен при создании большого количества однотипных серверов, например фермы Citrix App. В этом случае необходимо использовать предварительно созданный файл ответов, путь к которому указываем в параметрах /tftboot/pxelinux.cfg/default перед указанием параметра install.img:

answerfile=]]>http://myhost.ru/5.6.0-answerfile]]> \

install --- /tftpboot/xenserver/install.img

В приведенном листинге myhost.ru — адрес сервера установки (в частном случае это IP-адрес 192.168.1.7); 5.6.0-answerfile — имя файла. Необходимо обратить внимание на то, что обращение к файлу идет по протоколу HTTP (answerfile=http://...).

Для создания файла 5.6.0-answerfile обратимся к инструкции по установке XenServer [8], где приведены готовые примеры. Структура этого XML файла проста и интуитивно понятна (Рис. 3), поэтому не вызовет никаких затруднений при заполнении.

Рисунок 3. Структура файла 5.6.0-answerfile

Структура файла 5.6.0-answerfile

На этом подготовка закончена и можно проверить установку выбрав в загрузочном меню [1] пункт “Citrix XenServer” (Рис.4).

Рисунок 4. Начало загрузки Citrix XenServer 5.6.0

Начало загрузки Citrix XenServer 5.6.0
 

Ubuntu

Все шаги которые были производены для Citrix XenServer, полностью справедливы для дистрибутива Ubuntu. В этом примере использовалась версия Ubuntu — 10.10 x64 и стандартная установка режима cloud. Исключение составляют файлы ответов. Они располагаются в каталоге /preseed/ инсталляционного диска. Небольшая тонкость – они запрашиваются и передаются установщиком по протоколу http (так же как у XenServer, см. выше). Следовательно необходимо установить и настроить HTTP-сервер, например apache, ligth-http, nginx – любой на ваш выбор, указав для него корневую директорию /srv/tftpboot/. Для прямых обращений к HTTP желательно прописать алиасы на директории содержащие файлы систем. Добавляем в /etc/apache2/conf.d/ две конфигурации (еще одну для CentOS). Соотвественно для Ubuntu10.10 файл ubuntu.conf с таким содержанием:

Alias /ubuntu "/tftpboot/ubuntu/"

<Directory "/backup/ubuntu/">

Options Indexes

AllowOverride None

Order allow,deny

Allow from all

</Directory>

Для CentOS файл "centos.conf" с таким:

Alias /centos "/tftpboot/centos/"

<Directory "/tftpboot/centos/">

Options Indexes

AllowOverride None

Order allow,deny

Allow from all

</Directory>

В дистрибутиве поставляется несколько вариантов установки конечных систем. Вы можете выбрать подходящий вам и указать соответсвующий ему файл ответов. Мне необходим вариант Cloud и поэтому в моей конфигурации указан /preseed/cloud.seed.

Добавляем в pxelinux.cfg/default описание раздела:

label ubuntu # наименование загрузки (на ваш выбор)

menu label Install - ^Ubuntu-10.10 x64 cloud # наименование пункта меню

kernel ubuntu/linux # ядро установщика

append vga=normal # включить графический режим установщика

initrd=ubuntu/initrd.gz # сжатая файловая система preseed/url=]]>http://192.168.1.7/ubuntu/preseed/cloud.seed]]> – quiet # путь к файлу ответов, параметр “– quiet” - установка с вводом параметров в ручном режиме (необходимо уазывать если не все параметры описаны в файле ответов)

Затем создаем папку /ubuntu/, монтируем iso-образ и копируем все файлы дистрибутива в нее. Проверяем установку выбрав в загрузочном меню пункт Ubuntu-10.10 x64 cloud.

Так как в параметрах указано – quiet, то на вопрос Выбор зеркала архива необходимо выбрать самую верхнюю строку — Ввести информацию вручную. И указать URL папки на сервере установки (Рис. 5,6).

Рисунок 5. Установка Ubuntu- Выбор зеркала архива.

Установка Ubuntu по сети - Выбор зеркала архива.

Рисунок 6. Установка Ubuntu- Наше зеркало.

Установка Ubuntu- Наше зеркало.

CentOS-6.0x86-64

Установка этой операционной системы практически ни чем не отличается от предыдущего примера, наверное сказываются общие корни. Интерес вызывает возможность не распаковывать ISO-образ в папку на сервере, а просто скопировать его в корень HTTP-сервера и указать путь к нему. Итак:

добавляем в pxelinux.cfg/default описание раздела для CentOS-6.0:

label CentOS

menu label Install - ^CentOS-6.0

kernel centos/vmlinuz

append initrd=centos/initrd.img text

В таком варианте после загрузки ядра системы получим стандартное меню инсталлятора и уже с его помощью производите установку системы. При появлении запроса о дистрибутивном устройстве указываете полный путь URI к файлу ISO на сервере (рис.7). О возможностях автоматизации этого процесса можно прочитать в документации к дистрибутиву и по адресу [9].

Рисунок 7. Установка "CentOS 6.0".

Установка "CentOS 6.0" по сети

 В следующей части будут рассмотрены вопросы создания дистрибутивов «спасательных» систем, загружаемых по сети, на базе Windows PE и FreeDOS.

]]>

Литература

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

        Итак продолжим тему сетевой загрузки. Полный комплект необходимых (готовых) конфигурационных файлов можно загрузить отсюда - ris-linux.zip. В случае графического меню структура каталогов на TFTP сервере будет выглядеть так:

/tftpboot/

   /tftpboot/pxelinux.0  - загрузчик

   /tftpboot/menu.c32   - модуль syslinux для создания меню на экране

   /tftpboot/pxelinux.cfg/

   /tftpboot/pxelinux.cfg/default — описание разделов основного меню

   /tftpboot/pxelinux.cfg/graphics.conf — параметры меню: цвет, высота и т.д.

   /tftpboot/pxelinux.cfg/fixes.menu - описание дополнительного меню (инструменты)

   /tftpboot/pxelinux.cfg/setup.menu - описание дополнительного меню (установки)

           Рассмотрим как происходит загрузка и установка Linux на примере openSuSe11.2. При выборе пункта «suse112»  загрузчик сначала скачивает ядро («kernel suse/suse112x32/linux»), затем файл сжатой  временной файловой системы «initrd» («initrd=suse/suse112x32/initrd»). Как только загрузка завершена «pxelinux.0» запускает на выполнение ядро, передав в качестве аргументов запуска параметры считанные из  конфигурационного файла. Запустившись, уже само ядро подключает (монтирует) каталог с дистрибутивом («install=nfs://192.168.1.7/srv/tftpboot/suse/suse112x32/CD1/»), продолжая  установку.   Следует упомянуть о том, что ядро в этом случае обязательно должно содержать в себе (не как модули) драйвера сетевых карт установленных в компьютерах.

      Теперь поговорим о том, как происходит загрузка Windows XP, а так же Windows Server 2003(R2). Для начального старта системы используется файл «startrom.n12». Он находится в архиве «STARTROM.N1_» на дистрибутивном диске Windows XP. Этот файл и запускается на выполнение при выборе пункта меню «label xpinstall» (строка «kernel startrom.0» в конфигурационном файле). Для использования совместно с «pxelinux.0» файл «startrom.n12» необходимо переименовать в «startrom.0».

         Загрузившись, «startrom.0» потребует от TFTP сервера файл «ntldr» (сокращение от NT Loader) — загрузчик для операционных систем Windows NT и более поздних (2000/XP/Server 2003). Тот в свою очередь «ntdetect.com», который собирает информацию о составе оборудования. Как только информация собрана, «ntdetect.com» запрашивает файл ответов   «winnt.sif». В нем и должны быть описаны пути подключения к серверу и параметры загрузки («OriSrc = "\\192.168.1.7\reminstall\i386"»). Все дальнейшие действия установки будут происходить по этому сценарию.

        Для установки ОС от Microsoft я давно использую известный проект RIS for Linux [4]. Он представляет собой набор скриптов на Python [5], которые эмулируют часть работы WDS. Так как ядро Windows не имеет в себе драйверов сетевых карт, они должны загрузиться по сети. Это осуществляется файлом «ntdetect.com», который определяет код оборудования сетевой карты и запрашивает необходимый sys-файл у сервера установки. Здесь в установку включается скрипт «binsrv.py» (эмулятор WDS), который находит  требуемый файл и передает его запросившей системе. После загрузки и инициализации устройств  подключаются сетевые файловые системы описанные в файле ответов «winnt.sif» и продолжается установка ОС.

        В случае Microsoft Vista, Windows 7 и Windows Server 2008 сценарий установки будет выглядеть немного по другому (пункт меню «label win7»). Загружаемым файлом является «pxeboot.0» (переименованный «pxeboot.n12»). Он в свою очередь загружает «bootmgr.exe» – Windows Boot Manager (диспетчер загрузки) и запускает его на выполнение. Тот запрашивает у сервера файл BCD – boot configuration data (хранилище параметров запуска) и на основе полученных данных «bootmgr.exe» производит загрузку «boot.sdi» и «boot.wim» – образа Windows PE. Все выше перечисленные необходимые файлы можно взять из комплекта Windows Automated Installation Kit (AIK) [ссылка].

Настройка

Настройка сервера сетевой загрузки и установки в следующей конфигурации (См. рис. 4): 
 
Рисунок 4 Схема сети:

 1. Windows-домен с основным контроллером pdc.company.local с IP адресом 192.168.1.1. Операционная система Windows Standart Server 2003 R2 x64, службы AD, DNS, DHCP.

2.  Дополнительный сервер на openSuSe11.1-x86_64 с IP адресом 192.168.1.7.

Установку начинаем с сервера DHCP. Открываем оснастку DHCP сервера и в пункте меню «Параметры области» устанавливаем галочки напротив параметров:

  •  «066 Имя узла сервера загрузки» в поле вводим ip адрес нашего сервера установки — 192.168.1.7 или его доменное имя.
  •  «067 Имя файла загрузки» в поле вводим имя файла PXE — «pxelinux.0»

Если у вас сервер DHCP на Linux сервере, то в его конфигурационный файл «/etc/dhcpd.conf» необходимо внести поправки добавив директивы:

allow bootp - сообщает серверу dhcp обрабатывать или нет bootp-запросы

allow booting - сообщает серверу обрабатывать ли запрос конкретного клиента.

filename - указывает имя файла, используемого для начальной загрузки клиента

Подробнее об этих опциях можно прочитать в документации к вашему DHCP серверу или по ссылке [15].

Переходим к серверу 192.168.1.7. Устанавливаем, если еще не установлены, необходимые пакеты: tftp, syslinux, convmv, samba, cabextract и интерпретатор python. Для openSuse11.1 можно так:

# yast -i tftp syslinux convmv samba python cabextract.

Настройку TFTP начинаем с создания корневой директории сервера установки:

# mkdir /srv/tftpboot

При установке Windows с использованием Linux возникают известные всем сложности обращения к папкам на сервере: символ «\» надо замещать на «/». Так же есть проблемы с чувствительностью к регистру. Все это решается при помощи опции «remap» tftp сервера. Создаем файл «rules» в «/srv/tftpboot» с таким содержанием (естественно вместо многоточия должны быть остальные буквы для замены):

rg \\ /

rg A a

….....

rg Z z

Добавляем в строку запуска сервера (файл «/etc/xinet.d/tftp») информацию о remap-файле (путь к remap-файлу с ключом -m) и путь корневой директории сервера. Она должна выглядеть  так:

tftp -s /srv/tftpboot -m /srv/tftpboot/rules

Перезапускаем xinetd:

# /etc/init.d/xinetd restart

Теперь сервер будет переводить имена всех файлов и директорий в нижний регистр.  Соответственно во всех директориях tftp сервера их необходимо привести к этому виду. Эту операцию придется производить каждый раз при изменении файлов в дистрибутивах. Проще всего сделать это при помощи утилиты convmv, установленной ранее:

#  convmv --lower -r --notest --replace /srv/ftpboot/*

 Создаем в корневой папке tftp сервера каталог с конфигурационными файлами:

# mkdir /srv/tftpboot/pxelinux.cfg

и копируем туда загруженные конфигурационные файлы [3] для создания графического меню. В файле «/tftpboot/pxelinux.cfg/setup.menu» исправляем IP адрес сервера установки («nfs://192.168.1.7/») на IP вашего сервера (где будут располагаться распакованные дистрибутивы). Для текстового меню достаточно создать файл default из примера выше.
      Примеры конфигураций можно посмотреть в каталоге /usr/share/doc/packages/syslinux/. В корень сервера копируем файлы самого загрузчика «menu.c32» и «pxelinux.0». Они находятся в директории /usr/share/syslinux/ сервера. С настройкой самого сервера все закончено, переходим к подготовке дистрибутивов.

Продолжение следует...

Вернуться на Часть 1    Главная

Теги: 

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

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

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

Распаковываем и переименовываем файлы для загрузки:

cd /srv/tftpboot/
cabextract /home/temp/xp/I386/SETUPLDR.EX_
mv /home/temp/xp/I386/setupldr.exe ntldr
cabextract /home/temp/xp/I386/STARTROM.N1_
mv /home/temp/xp/I386/startrom.n12 startrom.0
cp /home/temp/xp/I386/NTDETECT.COM ntdetect.com
cp /home/temp/xp/BOOTFONT.BIN bootfont.bin

Копируем сам дистрибутив и переводим имена всех файлов в нижний регистр:

mkdir /srv/tftpboot/winxp
cp /home/temp/xp/* /srv/tftpboot/winxp/
convmv --lower -r --notest --replace *

Разрешим доступ к дистрибутиву через Windows network добавив в файл
«/etc/samba/smb.conf» секцию (сразу добавим секцию и для установки Windows 7):

[reminstall]
path = /srv/tftpboot/winxp/
public = yes
browsable = yes
read only = yes
guest ok = yes
[win7]
path =/srv/tftpboot/win7
public = yes
browsable = yes
read only = yes
guest ok = yes

Перезапускаем samba:

/etc/init.d/samba restart

     Для настройки  ris-linux понадобиться сам дистрибутив [4] и пакет драйверов сетевых карт. Готовый архив можно скачать отсюда [7], а можно изготовить самостоятельно (это позволит разобраться как в дальнейшем добавлять новые сетевые карты и обновлять их драйвера). 
 

Краткое описание как самому собрать пакет драйверов сетевых карт.

     RIS сервер хранит информацию о драйверах в файле «nics.txt», туда она попадает при помощи скрипта «infparser.py». Скрипт выполняет поиск в указанной ему директории файлов *.inf, считывает информацию о «Vendor Id» (уникальный идентификатор производителя оборудования) производителя и записывает в файл «nics.txt» строку вида:

8086 4227 w39n50.sys w39n50

 Создаем папки ris, ris/drv и ris/drv/sys в корне TFTP сервера:

mkdir /srv/tftpboot/ris
mkdir /srv/tftpboot/ris/drv
mkdir /srv/tftpboot/ris/drv/sys

      Затем необходимо скопировать и распаковать в папку /srv/tftpboot/ris/drv файлы net*.in_ (из папки i386 дистрибутивного диска). Туда же следует скопировать дополнительно *.inf файлы необходимых для добавления сетевых драйверов. Файлы *.sy_ и *.sys копируем в /srv/tftpboot/ris/drv/sys. После этого составляем список доступных драйверов:

vmhost:/srv/tftpboot/ris # python infparser.py drv/
Compiled 6384 drivers
generated devlist.cache
generated nics.txt

     Все, набор драйверов готов. Осталось скопировать содержимое каталогов drv/ и drv/sys/ в директорию с дистрибутивом Windows XP - /srv/tftpboot/winxp/i386/. В итоге в этой папке должны расположиться ВСЕ *.inf и *.sys файлы сетевых карточек. На сайте [10] есть немного другой способ, также пригодный для подготовки пакета драйверов в Windows XP.

Продолжаем настройку ris-linux.

Скачиваем и распаковываем ris-linux в папку с именем /srv/tftpboot/ris :

cd /srv/tftpboot/
wget ]]>http://oss.netfarm.it/guides/ris-linux-0.4.tar.gz]]>
tar -xvf ris-linux-0.4.tar.gz
mv  ris-linux-0.4 ris

Теперь необходимо указать путь по которому располагается дистрибутив. Для этого  открываем файл «binlsrv.py»  и правим там строку:

BASEPATH = /srv/tftpboot/winxp/
Запускаем WDS в режиме логирования для проверки :
./binlsrv.py -l binl.log
Succesfully loaded 6384 devices
Binlserver started... pid 7385

         Уже сейчас можно проверить работу сервера загрузив тестовый компьютер по сети и выбрав пункт «xpinstall». Если что-то не так проверяйте логи на предмет запрашиваемых у TFTP сервера файлов, они должны присутствовать на сервере в таком виде, как и запрашиваются. Наиболее часто встречающаяся ошибка это: «Выбранный образ операционной системы не содержит необходимых драйверов для имеющегося сетевого адаптера...»(рис.5).

Рисунок 5 Отсутствие необходимых драйверов

Рисунок 5 Отсутствие необходимых драйверов

Главная  Часть1   Часть2   Далее

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

Часть 3 закончилась на рассмотрении ошибок возникающих при загрузке wim образа с Windows 7. Продолжим настройку WDS.
server_args = -s /srv/tftpboot -m /srv/tftpboot/rules -v

Это означает что в базе binlsrv.py (devlist.cache) отсутствует информация о сетевом адаптере установленном в компьютере. Для определения PnP идентификатора устройства запускаем сервер WDS в режиме вывода информации в консоль:

 

и вновь запускаем установку. Как только «ntdetect.com» запросит информацию у WDS в консоле мы увидим такую картину см. рис.6
 
Рисунок 6 WDS в режиме вывода информации в консоль

WDS в режиме вывода информации в консоль

 
В моем случае идентификатор PCI\VEN_1022&DEV_2000 найден в файле netamd2.inf которому соответствует файл устройства pcntpci5.sys. Для решения этой проблемы необходимо найти драйвер с PnP идентификатором PCI\VEN_1022&DEV_2000 и включить его в базу binlsrv.py (devlist.cache) с помощью команды infparser.py <путь к каталогу с новым драйвером>. С целью повышения удобства отладки также можно включить лог tftp. Для этого в файл «/etc/xinet.d/tftp» в строку запуска «server_args» надо добавить ключ «-v»:
 
 
И посмотрите что именно и в какой последовательности запрашивает у сервера система. Это также очень удобно делать при помощи сетевого сканера Whireshark [16]. 
 

Создание файла ответов winnt.sif для Windows XP

]]> Про файл ответов для автоматической установки «winnt.sif» написано очень много. Подробное описание всех параметров «winnt.sif» находиться на сайте Microsoft [9], а так же здесь [10]. В этом файле описываются параметры устанавливаемой системы, которые используются на разных этапах (уровнях) установки. Создать его можно с помощью программ из архива «deploy.cab» находящегося в папке /support/tools/ дистрибутивного диска Windows XP, просто ответив на вопросы конфигуратора. Там же находиться подробная документация в виде chm-файлов по использованию и конфигурации файлов автоматической установки. Для теста можно взять готовый файл моей конфигурации и просто исправить некоторые строки [8]. В начале необходимо исправить следующие параметры: «OriScr» в секции «[data (это тот самый путь который мы сделали доступным посредством Samba):
 

OriSrc = "\\192.168.1.7\reminstall\i386]]>"

и «SetupSourceDevice» в секции «[SetupData (это указание устройства с которого идёт установка):

SetupSourceDevice = "\Device\LanmanRedirector\192.168.1.7\reminstall"
 
Очень интересна и полезна с точки зрения установки секция «Unattended» и ее настройки:

DriverSigningPolicy=Ignore ; устанавливать драйверы без подписи
UpdateInstalledDrivers=Yes ; Для установки не подписанных драйверов

Repartition=Yes ; удалить ВСЕ существующие разделы на диске и создать один для установки и использования системой

; путь поиска дополнительных драйверов во время установки Windows

OemPnPDriversPath="windows\drv\chipset\intel;windows\drv\net\intel;
windows\drv\net\marvell;windows\drv\net\realtek;windows\drv\video\intel;
windows\drv\video\nvidia;windows\drv\video\ati;windows\drv\audio\realtek"

        Когда на графическом этапе инсталляции ОС выполняется поиск файлов INF, содержащих нужные идентификаторы Plug and Play устройств, программа просматривает все пути, указанные в переменной OemPnPDriversPath. Это дает возможность правильно инициализировать устройства. Файл «winnt.sif» имеет большое количество параметров, которые позволяют произвести не только основную настройку системы, но и инсталляцию необходимого программного обеспечения.

Подготовка папки для Windows 7.

Установка будет происходить по такому сценарию:

    Загрузка по сети образа Windows7 PE (без графической оболочки)
    Вызов меню выбора системы для установки («install_menu.cmd»)
    Монтирование необходимого сетевого устройстваЗапуск setup.exe с указанием файла ответов

Рисунок 7 Установка WAIK

 

Установка WAIK

    
      Для создания загрузочного образа Windows7 PE («boot.wim») обязательно понадобиться компьютер с установленной системой Windows 7, Windows Vista, Windows Server 2003 или Windows Server 2008 (я использовал виртуальную машину c Windows 7 — далее обслуживающий компьютер). Устанавливаем Windows Automated Installation Kit (WAIK) (См. Рис.7-9.).
 

Рисунок 8 Выбор компонентов настройки


Выбор компонентов настройки

 

Рисунок 9 Добавление параметров настройки

Добавление параметров настройки

Запускаем  Windows PE Tools Command Prompt (Пуск-> Программы-> Microsoft Windows AIK -> Windows PE Tools Command Prompt). В действительности это обычное окно программы командного процессора Cmd.exe, только с добавленными дополнительными переменными окружения. Создаем копию загрузочного образа с необходимой архитектурой (параметр x86):
 

copype.cmd x86 c:\windowspe-x86\

монтируем образовавшийся образ:
 

Dism /Mount-WIM /WimFile:c:\windowspe-x86\winpe.wim /Index:1 /MountDir:c:\windowspe-x86\mount

Открываем на редактирование файл «startnet.cmd» из каталога c:\windows7pe-x86\mount\windows\system32. Этот файл запускается первым после загрузки и старта системы. Вот в нем и надо прописать вызов скрипта «install_menu.cmd», который будет отвечать за выбор ОС для установки.
Содержание  «startnet.cmd»:

 

	Wpeinit # Окончательная инициализация системы
	ipconfig renew # Инициализируем сетевые интерфейсы
	call install_menu.cmd

Зачем использовать ipconfig renew? Как показала практика, по неизвестной причине не все сетевые карты  инициализируются после выполнения Wpinit. Поэтому еще раз вызываем настройку интерфейса (рис.10).
 

 

Рисунок 10 Ошибка инициализации сети

Рисунок 10 Ошибка инициализации сети

Продолжение следует...

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

В файле «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

Установка WinPE на USB MSD

Комплект для установки WINPE на USB FLASH или USB HDD

1. Форматируем USB MSD при помощи "1_Форматирование_и_установка_BOOT-сектора\RMPREP21706\RMPREPUSB.exe".

Типовые рекомендуемые настройки отображены на скриншоте:
После выбора диска и установки нужных настроек нажимаем кнопку "6 Подготовить диск" и ждем результат.

2.  Далее можно или setupldr.bin или grldr из GRUB4DOS скопировать на отформатированный USB MSD под именем "ntldr" 
3. Настраиваете меню и прочие плюшки под себя.
Как вариант возможного применеия привожу усеченный вариант своей структуры загрузочного диска в папке 2_Структура_загрузочного_диска_USB установочного комплекта.

Ссылка на скачку установочного комплекта:  Полный установочный комплект USB со структурой загрузочного диска
Привожу описание установочного комплекта для понимания общих принципов построения структуры загрузки:
 

\ntldr - загрузчик GRUB4DOS со встроенным меню

\BOOT\GRUB4DOS\866.PSF и \BOOT\GRUB4DOS\TEXTFONT - модули поддержки кириллической кодовой страницы(CP866) в ТЕКСТОВОМ меню GRUB4DOS

\BOOT\LOADER\ldr_av.bin - загрузчик антивирусной WIM-сборки со встроенным NTDETECT.COM, обрабатывает WINNT.SIF под именем \BOOT\nt.a

\BOOT\LOADER\ldr_cd.bin - загрузчик CD-сборкисо встроенным NTDETECT.COM, обрабатывает WINNT.SIF под именем \BOOT\nt.y - естественно, что такой файл отсутствует в комплекте для предотвращения случайных совпадений.

\BOOT\LOADER\ldr_hd.bin - загрузчик HDD-tools WIM-сборки со встроенным NTDETECT.COM, обрабатывает WINNT.SIF под именем \BOOT\nt.h

\BOOT\PLOP\PLPBT.BIN - загрузчик модуля PLOP для ускорения при использовании USB MSD

\BOOT\nt.a - SIF-файлы для загрузчиков \BOOT\LOADER\ldr_av.bin - именно в нем прописана ссылка на загружаемый WIM

\BOOT\nt.h - SIF-файлы для загрузчиков \BOOT\LOADER\ldr_hd.bin - именно в нем прописана ссылка на загружаемый WIM

\BOOTWIM\ - папка для размещения загрузочных WIM-файлов antivir.wim и hdd.wim

\MININY\ - папка для файлов системной папки CD-сборки - из \Y386\ все копируем сюда. При этом существующий \Y386\setupldr.bin абсолютно игнорируется.

\PROGRAMS\ - папка для файлов программ CD-сборки - из \PROGRAMS\ все копируем сюда.

В папке установочного комплекта \3_Решение_проблем\  находятся добавочные материалы и утилиты:
3_Решение_проблем\GRUB4DOS\Работа_со_встроенным_меню - выгрузка и загрузка встроенного меню GRUB4DOS
3_Решение_проблем\Patch_NTDETECT_for_USB - патч NTDETECT.COM для USB-загрузки
3_Решение_проблем\Загрузчики_SETUPLDR - различные варианты загрузчиков и скрипт для их модификации.
 

PS: Ссылки для ознакомления и самостоятельного изучения:
- ]]>Руководство по Grub4dos]]> на русском языке

Настройка защиты на загружаемом устройстве USB MSD

Настройка безопасности (в случае форматирования в NTFS):

1. Создаем в корне загрузочного раздела пустой файл с именем "System Volume Information".

2. В свойствах этого файла на вкладке безопасность отключаем наследование прав и добавляем имена "SYSTEM" и "Все" ("All" для англоязычной системы). Все остальные имена убираем. На именах "SYSTEM" и "Все" выставляем запрет на все.

3. Поочередно:

- выделяем все оставшиеся файлы в корне диска и отключаем наследование прав;

- выделяем все папки в корне диска и отключаем наследование прав.  

4. На уровне прав безопасности диска добавляем имя "Все" ("All" для англоязычной системы) и убираем все остальные имена. Для имени "Все" убираем права на изменение и запись(именно убрать права, а не поставить запрет!)

На этом все готово - корень защищен, во внутренние папки писать можем, точку восстановления система создать не сможет.

При желании можно дополнить файлами: '$RECYCLE.BIN", "Recycled", "Recycler" и папкой "Autorun.inf". Права на эти добавочные обекты выставляются аналогично правам на файл "System Volume Information".

Windows 7 Live CD/USB — собираем Windows своими руками

Мне очень понравилась вот эта статья. Приведу начало и ссылку на источник.

Автор: Игорь Осколков Дата: 15.09.2011

      Многие наверняка уже давно знакомы с такой штукой, как Live CD, — воткнул диск в привод, подождал, пока загрузится ОС, и всё, компьютер готов к использованию за считаные минуты. Конечно, для полноценной работы Live CD не очень подходит, но в некоторых случаях он очень полезен.
       Так почему бы самостоятельно не сделать «живую» сборку под свои нужды? Напоминаем, что попытки повторить действия автора могут привести к потере гарантии на оборудование и даже к выходу его из строя. Материал приведен исключительно в ознакомительных целях. Если же вы собираетесь воспроизводить действия, описанные ниже, настоятельно советуем внимательно прочитать статью до конца хотя бы один раз.
       Десять лет назад из недр Microsoft появилась новая ОС Windows XP, а вместе с ней увидела свет очередная среда WinPE, Windows Preinstallation Environment — фактически урезанная донельзя ОС Windows, в которой запускались служебные программы для установки самой системы на компьютер. На базе этой среды уже можно было без особых трудозатрат создавать собственные Live-сборки XP — практически полноценные системы, которые загружались с CD на любом (ну почти любом) ПК и служили для относительно узких задач вроде восстановления системы, антивирусного сканирования, выуживания данных, а то и просто для сверхбыстрой организации рабочего места.
       С появлением BartPE создание собственного Live CD стало совсем уж простым делом. Увы, этот продукт уже очень давно не обновлялся, и для работы c Windows Vista или 7 он не подходит. На смену ему пришёл WinBuilder, с которым мы и познакомимся исключительно в учебных целях в этом материале... 

Оригинальный текст: ]]>http://www.3dnews.ru/workshop/616791/]]>

Теги: 

Windows Preinstallation Environment (WinPE) — это облегчённая версия ОС Windows, которая позволяет загружаться с внешнего носителя.

Windows Preinstallation Environment (WinPE)

Краткий обзор

    WinPE был первоначально предназначен, чтобы использоваться только как прединсталяционная платформа для запуска Microsoft Windows, заменяя DOS. Но позже он стал использоваться крупными компаниями для предустановки Windows.    Для восстановления работоспособности операционной системы для запуска 32-битных или 64-битных программ, таких как Paragon Drive Backup или Symantec Ghost.     Также этот продукт может быть использован разработчиками для тестирования. Много людей в интернете создают собственные WinPE загрузочные CD с помощью BartPE.     Изначально для создания образов WinPE необходимо было обладать подпиской SA (Software Assurance), OEM или ISV-лицензией. В версии 2.0 это ограничение было снято. Текущая версия (3.0) основана на Windows 7.

Версии WinPE существующие на данный момент версии:

 

  • 1. Windows PE 1.0 Собрана на первой версии Windows XP Professional.
  • 2. Windows PE 1.1 Собран на основе Windows XP Professional с сервис паком 1 (SP1).
  • 3. Windows PE 1.2 Собран на основе Windows Server 2003 семейства.
  • 4. Windows PE 2004 (1.5) Собран на основе Windows XP Professional с сервис паком 2 (SP2).
  • 5. Windows PE 2005 (1.6) Собран на основе Windows Server 2003 с сервис паком 1 (SP1).
  • 6. Windows PE 2.0 Основана на Microsoft Windows Vista
  • 7. Windows PE 2.1 Собран на Windows Server 2008, с Windows Vista SP1.
  • 8. Windows PE 2.2 Собран на Windows Server 2008 SP1, с Windows Vista SP2.
  • 9. Windows PE 3.0 Собран на основе Windows 7.
  •  

Готовый рецепт для создания загрузочной "флэшки" WinPE/WinRE

Достаточно старая статья с сайта ]]>www.thg.ru]]>, но зерна смысла еще остались. Рекомендуется к прочтению.

Любой хороший рецепт начинается со списка ингредиентов. Вот что вам понадобится для создания загрузочной "флэшки" WinPE/WinRE (предполагается использование Windows Vista с пакетом обновления SP1 или выше).

  1. ]]>Пакет автоматической установки Windows Automated Installation Kit (WAIK)]]>. Эта утилита предлагается в виде ISO-образа для записи на DVD (ISO - формат загрузочного диска, принятый Международной организацией по стандартизации (International Organization for Standardization)). Если у вас есть Nero Burning ROM, Easy DVD Creator или какая-нибудь другая программа для прожига DVD, то используйте их. Если нет, тогда воспользуйтесь свободно распространяемой утилитой ]]>"ISO Recorder v3"]]> от Alex Feinman. Если вы хотите создать загрузочную среду восстановления Vista WinRE (с теми же функциями восстановления, описанными выше), вам понадобится установочный DVD для Vista, с которого вы сможете взять эту утилиту.
  2. USB-"флэшка" (UFD) размером как минимум 256 Мбайт. Гигабайтная модель подойдёт больше, если вы решите переключаться между загрузочными образами Windows PE и Windows RE. Если на вашей "флэшке" что-то записано, то скопируйте это куда-нибудь, потому что вам придётся стереть "флэшку" на этапе подготовки к созданию загрузочного образа WinPE или WinRE.
 

Создание образа WinPE

Без учёта времени скачивания на выполнение этой задачи уйдёт около часа. Далее представляем вам последовательные шаги, которые нужно выполнить для создания тех файлов, которые необходимо будет скопировать на UFD:

  • 1. Скачайте Windows AIK и ISO Recorder v3 (ссылки приведены выше).
  • 2. Запишите ISO-образ на DVD-диск, затем запустите файл под названием startcd.exe для запуска Windows AIK. Вот что должно появиться на экране.

]]>Создание образа WinPE

  • 3. Выберите опцию "Windows AIK Setup" (обратите внимание на технические требования к компьютеру, на который устанавливается AIK: это должен быть ПК с операционной системой Vista, приводом CD/DVD, с программным обеспечением для записи образов, .NET Framework 2.0 и сетевым доступом. Оперативной памяти должно быть минимум 512 Мбайт, хотя рекомендуется 1 Гбайт и больше. Подробную информацию о сборке такого технического компьютера можно найти здесь]]>). Далее следуйте шагам установки.
  • 4. В меню "Start/Пуск" последовательно щёлкните "All Programs/Все программы", "Windows AIK", "Windows PE Tools Command Prompt/Утилиты командной строки Windows PE". В результате появится такое окно (все последующие команды будут вводиться в это окно командной строки; приглашение на ввод команды мы заменили на PETools>).

Создание образа WinPE

  • 5. Базовый набор файлов создаётся командой Copype.cmd x86 C:\winpe_x86. Для 32-битной системы используйте x86, а для 64-битной версии - x64. Все исполняемые файлы WinPE, дополнительные компоненты и папки будут располагаться в вашем компьютере в каталоге C:\winpe_x86.

Создание образа WinPE

  • 6. Далее вы можете скопировать любые программы и утилиты, которые вы хотите использовать, из папки WAIK "Tools" в соответствии с нужной архитектурой (x86 для 32-битной Vista и x64 для 64-битной Vista) в папку ISO внутри C:\winpe_x86. Мы выбрали Imagex.exe и Package Manager (команды приведены ниже).

Создание образа WinPE

Вот и всё, что нужно для создания образа Windows PE, который вы, в конечном счёте, скопируете на свою USB-"флэшку". Дальнейшие команды показаны на следующем скриншоте.

Создание загрузочного USB-диска с WinPE

В качестве загрузочного USB-диска мы решили использовать "флэшку" десятилетней давности - FujiFilm ёмкостью 256 Мбайт.
В командной строке окна PETools вызывается утилита "diskpart", затем выполняется последовательность команд (см. скриншоты ниже). Только будьте очень внимательны, выбирая номер диска, соответствующий вашей USB-"флэшке". На самом деле всё легче, чем может показаться.

  • 1. После того, как вы вставите USB-"флэшку", и она отобразится в проводнике, введите команду "diskpart" в командной строке. После этого введите команду "list disk", чтобы отобразить список дисков по номерам и размерам. Обратите внимание, что Disk 4 имеет размер всего 244 Мбайт, а значит, это и есть наш USB-диск. Вы так же легко сможете вычислить свою "флэшку" по её размеру. Если возникнут сомнения, отключите все другие USB-накопители, чтобы в списке остался только один диск небольшой ёмкости. Выберите нужный диск, указав его номер. В нашем случае мы выполнили команду "select disk 4".

Создание образа WinPE

  • 2. Затем нужно очистить диск, создать основной раздел (его размер не должен превышать число, указанное в колонке "Size"), выбрать этот раздел и сделать его активным.

Создание образа WinPE

  • 3. Отформатируйте диск в файловой системе Fat32, инициализируйте назначение буквы и завершите работу утилиты "diskpart". Внимание! Даже на USB-накопителях маленькой ёмкости операция форматирования занимает какое-то время (чем больше ёмкость диска, тем дольше процесс форматирования).

Создание образа WinPE

4. Для создания загрузочного образа Windows PE на USB-диске вам нужно скопировать папку ISO внутри c:\winpe_x86 на свой чистый флэш-накопитель. Сделать это можно с помощью команды xcopy (обратите внимание, что в конце команды мы указали диск J:, у вас же USB-диск может быть обозначен другой буквой).

Создание образа WinPE

Создание образа WinPE

Мы показали только начальный и конечный фрагменты результатов выполнения команды xcopy, поскольку целиком это заняло бы слишком много места. Запомните, что файл под названием boot.wim хранится в папке \sources\ (потом нам это очень пригодится). А пока обратите внимание, что это образ Windows, который вы создали с помощью команды copype.cmd в самом начале. Он содержит всю среду WinPE 2.0, но не включает в себя опции восстановления системы (System Recovery Options), которые мы упоминали в начале статьи.

Загрузочный флэш-брелок с WinPE

Введение

        Что делать, если Vista "слетела", и на компьютере больше не загружается операционная система? Оказывается, спасти положение может USB-"флэшка". Вы можете использовать USB-флэш-накопители (Microsoft называет их UFD) с файлом образа Windows (.wim) для окружения Windows Preinstallation Environment, которое предоставляет быстрый доступ к опциям восстановления системы (System Recovery Options).
         Однако помимо помощи в ситуации, когда компьютер перестаёт запускаться, эта загрузочная "флэшка" может выполнять ещё много интересных функций. В данной статье мы опишем процесс создания такого загрузочного устройства, а также расскажем о некоторых его полезных функциях. Каждая копия Windows Vista поставляется с установочными дисками или файлами, содержащими специальную урезанную версию операционной системы, которую Microsoft называет Windows Preinstallation Environment 2.0 (более известна как Windows PE, или WinPE).

 

        Вам может показаться, что вы никогда не пользовались WinPE, но это не так. Например, когда вы устанавливаете Windows Vista, то код, который позволяет загружать командную строку или среду восстановления Windows Recovery Environment (известную также как Windows RE, или WinRE), берётся как раз из WinPE. Хотя публично Microsoft этого не признает, именно Windows Preinstallation Environment (WinPE) позволяет создавать загрузочные USB-"флэшки" вместо того, чтобы использовать более трудоёмкую среду Windows Recovery Environment (WinRE). Готовый рецепт для создания загрузочной "флэшки" WinPE/WinRE Любой хороший рецепт начинается со списка ингредиентов. Вот что вам понадобится для создания загрузочной "флэшки" WinPE/WinRE (предполагается использование Windows Vista с пакетом обновления SP1 или выше).

Пакет автоматической установки Windows Automated Installation Kit (WAIK).

        Эта утилита предлагается в виде ISO-образа для записи на DVD (ISO - формат загрузочного диска, принятый Международной организацией по стандартизации (International Organization for Standardization)). Если у вас есть Nero Burning ROM, Easy DVD Creator или какая-нибудь другая программа для прожига DVD, то используйте их. Если нет, тогда воспользуйтесь свободно распространяемой утилитой "ISO Recorder v3" от Alex Feinman.
        Если вы хотите создать загрузочную среду восстановления Vista WinRE (с теми же функциями восстановления, описанными выше), вам понадобится установочный DVD для Vista, с которого вы сможете взять эту утилиту. USB-"флэшка" (UFD) размером как минимум 256 Мбайт.
        Гигабайтная модель подойдёт больше, если вы решите переключаться между загрузочными образами Windows PE и Windows RE. Если на вашей "флэшке" что-то записано, то скопируйте это куда-нибудь, потому что вам придётся стереть "флэшку" на этапе подготовки к созданию загрузочного образа WinPE или WinRE. Создание образа WinPE Без учёта времени скачивания на выполнение этой задачи уйдёт около часа.
        Далее представляем вам последовательные шаги, которые нужно выполнить для создания тех файлов, которые необходимо будет скопировать на UFD: 1. Скачайте Windows AIK и ISO Recorder v3 (ссылки приведены выше). 2. Запишите ISO-образ на DVD-диск, затем запустите файл под названием startcd.exe для запуска Windows AIK. Вот что должно появиться на экране. 3. Выберите опцию "Windows AIK Setup" (обратите внимание на технические требования к компьютеру, на который устанавливается AIK: это должен быть ПК с операционной системой Vista, приводом CD/DVD, с программным обеспечением для записи образов, .NET Framework 2.0 и сетевым доступом. Оперативной памяти должно быть минимум 512 Мбайт, хотя рекомендуется 1 Гбайт и больше. Подробную информацию о сборке такого технического компьютера можно найти здесь). Далее следуйте шагам установки. 4. В меню "Start/Пуск" последовательно щёлкните "All Programs/Все программы", "Windows AIK", "Windows PE Tools Command Prompt/Утилиты командной строки Windows PE". В результате появится такое окно (все последующие команды будут вводиться в это окно командной строки; приглашение на ввод команды мы заменили на PETools>). 5. Базовый набор файлов создаётся командой Copype.cmd x86 C:\winpe_x86. Для 32-битной системы используйте x86, а для 64-битной версии - x64. Все исполняемые файлы WinPE, дополнительные компоненты и папки будут располагаться в вашем компьютере в каталоге C:\winpe_x86. 6.
         Далее вы можете скопировать любые программы и утилиты, которые вы хотите использовать, из папки WAIK "Tools" в соответствии с нужной архитектурой (x86 для 32-битной Vista и x64 для 64-битной Vista) в папку ISO внутри C:\winpe_x86. Мы выбрали Imagex.exe и Package Manager (команды приведены ниже). Вот и всё, что нужно для создания образа Windows PE, который вы, в конечном счёте, скопируете на свою USB-"флэшку".
         Дальнейшие команды показаны на следующем скриншоте. Создание загрузочного USB-диска с WinPE В качестве загрузочного USB-диска мы решили использовать "флэшку" десятилетней давности - FujiFilm ёмкостью 256 Мбайт. В командной строке окна PETools вызывается утилита "diskpart", затем выполняется последовательность команд (см. скриншоты ниже). Только будьте очень внимательны, выбирая номер диска, соответствующий вашей USB-"флэшке". На самом деле всё легче, чем может показаться. 1. После того, как вы вставите USB-"флэшку", и она отобразится в проводнике, введите команду "diskpart" в командной строке. После этого введите команду "list disk", чтобы отобразить список дисков по номерам и размерам. Обратите внимание, что Disk 4 имеет размер всего 244 Мбайт, а значит, это и есть наш USB-диск. Вы так же легко сможете вычислить свою "флэшку" по её размеру. Если возникнут сомнения, отключите все другие USB-накопители, чтобы в списке остался только один диск небольшой ёмкости. Выберите нужный диск, указав его номер.
        В нашем случае мы выполнили команду "select disk 4". 2. Затем нужно очистить диск, создать основной раздел (его размер не должен превышать число, указанное в колонке "Size"), выбрать этот раздел и сделать его активным. 3. Отформатируйте диск в файловой системе Fat32, инициализируйте назначение буквы и завершите работу утилиты "diskpart". Внимание! Даже на USB-накопителях маленькой ёмкости операция форматирования занимает какое-то время (чем больше ёмкость диска, тем дольше процесс форматирования). 4. Для создания загрузочного образа Windows PE на USB-диске вам нужно скопировать папку ISO внутри c:\winpe_x86 на свой чистый флэш-накопитель. Сделать это можно с помощью команды xcopy (обратите внимание, что в конце команды мы указали диск J:, у вас же USB-диск может быть обозначен другой буквой).
         Мы показали только начальный и конечный фрагменты результатов выполнения команды xcopy, поскольку целиком это заняло бы слишком много места. Запомните, что файл под названием boot.wim хранится в папке \sources\ (потом нам это очень пригодится). А пока обратите внимание, что это образ Windows, который вы создали с помощью команды copype.cmd в самом начале. Он содержит всю среду WinPE 2.0, но не включает в себя опции восстановления системы (System Recovery Options), которые мы упоминали в начале статьи.

Теги: 

Кэширование в Apache

Модули mod_cache и mod_disk_cache
Теперь включить:

a2enmod cache
a2enmod disk_cache
/etc/init.d/apache2 restart

Чтобы каталог для кеша /var/cache/apache2/mod_disk_cache не переполнится через какое-то время, придется чистить его командой htcacheclean.
Эта команда часть пакета apache2-utils,
 После можно запустить htcacheclean как демон:
htcacheclean -d30 -n -t -p /var/cache/apache2/mod_disk_cache -l 100M -i
Это позволит чистить каталог с кешем каждые 30 минут и удостовериться, что он не превысит 100MB.

mod_mem_cache

Конфигурация mod_mem_cache в mem_cache.conf
CacheEnable mem /

MCacheSize 4096
MCacheMaxObjectCount 100
MCacheMinObjectSize 1
MCacheMaxObjectSize 2048

Это конфигурация по умолчанию. Список директив для mod_mem_cache досотупен в ман.
Включим mod_cache и mod_mem_cache:

a2enmod cache
a2enmod mem_cache
/etc/init.d/apache2 restart

Теги: 

Сетевая загрузка PXE на основе TFTPD32

 

Описание настройки собственного PXE сервера на основе TFTPD32 для загрузки WinPE или BartPE.

PXE и процесс загрузки по сети

        Стандарт PXE (Preboot Execution Environment) позволяет превратить сетевую карту в одно из устройств, с которого может загрузиться компьютер. Разработку данного стандарта начала компания Intel, еще 1999 году, а потом к разработке присоединились такие гиганты компьютерной индустрии, как 3Com, HP, Dell, Compaq. Стандарт прижился. И сейчас, пожалуй, не возможно, найти современной сетевой платы без поддержки PXE.
Конечно для того, чтобы компьютер смог загрузиться по сети одного PXE не достаточно. Нужно еще наличие в сети серверов TFTP и DHCP.

        Процесс загрузки по сети можно упрощенно описать примерно так.

При включении компьютера, начинает работать PXE загрузчик, который находится в памяти (boot ROM) сетевого адаптера. Сетевая карта отправляет запрос к серверу DHCP для получения IP адреса. Получив запрос, DHCP сообщает сетевой плате IP адрес, маску сети, адрес TFTP сервера и имя загрузочного файла. После обработке полученных данных PXE обращается к серверу TFTP и загружает файл. Получив файл, PXE прекращает свою работу и передает управление загруженной программе.

Подготовка файлов

        Создадим каталог для сетевой установки C:\PXE. Внутри создадим каталог, например WinPE.
        Сетевая загрузка WinPE делится на два этапа. На первом этапе происходит загрузка файлов по протоколу TFTP. А на втором этапе файлы загружаются по протоколу CIFS (старое название SMB). Протокол CIFS более известен, как общий доступ к файлам и принтерам сети.
Поэтому для второго этапа загрузки нужно:

  • Сделать каталог C:\PXE доступным по сети (расшарить) для группы "Everyone (Все)" с правами только чтения.
  • Также необходимо убедиться, что учетная запись "Guest (Гость)" активирована.

Для этого нажимаем, правую клавишу мыши на "My Computer (Мой компьютер)" и выбираем "Manage (Управление)". Раскрываем "System Tools (Служебные программы)", "Local Users and Groups (Локальные пользователи и группы)". Выбираем "Users (Пользователи)". В правой части экрана нажимаем правую клавишу мыши на "Guest (Гость)" и выбираем "Properties (Свойства)". В появившемся окне убираем флажок с "Account is disabled (Отключить учетную запись)" и нажимаем кнопку OK

  • Если директория C:\PXE\WinPE находится на разделе с файловой системой NTFS, то необходимо в свойствах этого каталога в "Security (Безопасность)" также добавить группу "Everyone (Все)". Этой группе необходимо разрешить чтение.
  • Также следует убедиться, что не запрещен доступ пользователя "Guest (Гость)" по сети в групповой политике.

Для этого нажимаем "Start (Пуск)", выбираем "Control Panel (Панель управление)", "Administrative Tools (Администрирование)". В появившемся окне выбираем "Local Security Policy (Локальная политика безопасности)". После загрузки оснастки "Local Security Settings (Локальные параметры безопасности)", разворачиваем "Local Policies (Локальные политики)" и выбираем "User Rights Assignments (Назначение прав пользователя)". В правой части нажимаем дважды левую клавишу мыши на "Deny access to this computer from the network (Отказ в доступе к компьютеру по сети)". В появившемся списке отмечаем "Guest (Гость)" и нажимаем кнопку "Remove (Удалить)". Для подтверждения изменений нажимаем кнопку удалить.

Подготовка сборки WinPE для загрузки по сети

         Копируем содержимое сборки(каталоги I386 и Programs) в каталог C:\PXE\WinPE
         Копируем из каталога C:\PXE\WinPE\I386 файл ntdetect.com в каталог C:\PXE
         Разархивируем файлы (из дистрибутива Windows XP/Windows 2003) setupldr.ex_ и startrom.n1_ в каталог C:\PXE. Сделать это можно с помощью архиватора 7-zip или команд:
expand D:\WINXP\I386\setupldr.ex_ С:\PXE\WinPE\ntldr
expand D:\WINXP\I386\startrom.n1_ С:\PXE\WinPE\startrom.n12
Следует переименовать startrom.n12 в startrom.0
При работе с локализированной сборкой рекомендуется копировать файл bootfont.bin из каталога C:\PXE\WinPE в C:\PXE.
Распаковываем каталоги tftpd32, infparser и файл binlsrv.exe в C:\PXE

Настройка TFTP сервера (TFTPD32)

          Сначала для удобства следует отключить не нужные сервисы, оставив только "TFTP Server" и "DHCP Server". Затем следует указать каталог, в котором TFTP сервер будет искать файлы. За это отвечает параметр "Base Directory". В нашем случае это C:\PXE. Также следует включить "Option negotiation", "Allow '\' As virtual root" и "Translate Unix file names". Остальные опции выключены.

Настройке DHCP сервера (TFTPD32)

          Для загрузки по сети DHCP должен присвоить IP адрес и указать имя загружаемого файла.
Предположим на компьютере, который выступает в роли PXE сервера, присвоен IP адрес 192.168.0.1 с маской сети 255.255.255.0. Параметр "IP Pool starting address" указывает начальный IP адрес, с которого DHCP будет начинаться выдавать адреса. Установим значение в 192.168.0.10. Параметр "Size of pool" указывает, сколько компьютеров могут получить IP адреса от TFTPD32. Установим значение в 10. Параметр "Boot File" указывает, какой файл необходимо загрузить. В нашем случае это startrom.0. Если на компьютере несколько сетевых подключений, тогда рекомендуется включить опцию "Bind DHCP to this address" и указать наш IP 192.168.0.1.

Настройка программы RIS-LINUX от Sherpya

         Во время загрузки WinPE должна получить информацию, какой драйвер для сетевой платы она должна использовать. Эту информация предоставляет служба BINL. В качестве службы BINL будет использоватся программа ris-linux. Эта программа написана на языке Python, но мы будем использовать портированную под Windows версию.
Для работы BINL требуется создать базу данных сетевых драйверов следующей командой:
C:\PXE\infparser\infparser.exe C:\PXE\WinPE\I386\inf

Подготовка файла winnt.sif

         Для загрузки WinPE также потребуется файл C:\PXE\winnt.sif такого содержимого:

[SetupData]
OsLoadOptions = "/noguiboot /fastdetect /minint"
SetupSourceDevice = "\Device\LanmanRedirector\192.168.0.1\PXE\WinPE"
[UserData]
ComputerName = *

Завершение

         Чтобы наконец заработал наш PXE сервер, достаточно запустить binlsrv.exe и перезапустить tftpd32.

В ходе написание статьи были использованы материалы с сайта ]]>http://unattendedxp.com/]]>, а также собственные наработки. Вроде ничего не забыл. Сильно не пинайте.

Сетевая загрузка PXE на основе TFTPD32 (WIM)

Описание настройки собственного PXE сервера на основе TFTPD32 для загрузки WinPE или BartPE.(WIM Загрузка)

Это продолжение статьи "Сетевая загрузка PXE на основе TFTPD32", поэтому я не буду описывать краткое изложение предыдущей части, а напишу ключевые особенности загрузки WIM сборок по сети.

Подготовка файлов

        Создадим каталог для сетевой установки C:\PXE. Внутри создадим каталог, например WinPE.
        При сетевой загрузке WinPE WIM будет происходить передача файлов только по протоколу TFTP. А не в два этапа как в предыдущей статье.

Подготовка сборки WinPE для загрузки по сети

         Копируем WIM файл сборки(BootSDI.wim или WinPE.wim) в каталог C:\PXE\WinPE
         Копируем из сборки файл ntdetect.com (если он присутствует) в каталог C:\PXE
         Разархивируем файл (из дистрибутива Windows XP/Windows 2003) startrom.n1_ в каталог C:\PXE. Сделать это можно с помощью архиватора 7-zip или команды:
expand D:\WINXP\I386\startrom.n1_ С:\PXE\WinPE\startrom.n12
Следует переименовать startrom.n12 в startrom.0
Также потребуется специальный загрузчик PXELDR-WIM-291 или PXELDR-WIM-337, последний отличается встроенный ntdetect.com. Поэтому не расстраивайтесь если не найдете его в сборке. Загрузчик следует переименовать в NTLDR и положить в каталог C:\PXE
При работе с локализированной сборкой рекомендуется копировать файл bootfont.bin из сборки в каталог C:\PXE.
Распаковываем каталог tftpd32 в C:\PXE

Настройка TFTP сервера (TFTPD32)

          Сначала для удобства следует отключить не нужные сервисы, оставив только "TFTP Server" и "DHCP Server". Затем следует указать каталог, в котором TFTP сервер будет искать файлы. За это отвечает параметр "Base Directory". В нашем случае это C:\PXE. Также следует включить "Option negotiation", "Allow '\' As virtual root" и "Translate Unix file names". Остальные опции выключены.

Настройке DHCP сервера (TFTPD32)

          Для загрузки по сети DHCP должен присвоить IP адрес и указать имя загружаемого файла.
Предположим на компьютере, который выступает в роли PXE сервера, присвоен IP адрес 192.168.0.1 с маской сети 255.255.255.0. Параметр "IP Pool starting address" указывает начальный IP адрес, с которого DHCP будет начинаться выдавать адреса. Установим значение в 192.168.0.10. Параметр "Size of pool" указывает, сколько компьютеров могут получить IP адреса от TFTPD32. Установим значение в 10. Параметр "Boot File" указывает, какой файл необходимо загрузить. В нашем случае это startrom.0. Если на компьютере несколько сетевых подключений, тогда рекомендуется включить опцию "Bind DHCP to this address" и указать наш IP 192.168.0.1.

Подготовка файла winnt.sif

         Для загрузки WinPE также потребуется файл C:\PXE\winnt.sif который можно взять или из сборки или написать самостоятельно с таки содержимым:

[SetupData]
BootDevice="ramdisk(0)"
BootPath="\i386\System32\"
OsLoadOptions="/fastdetect /minint /noguiboot /rdimageoffset=8192 /rdimagelength=3161088 /rdpath=WinPE\winpe.wim"

[UserData]
ComputerName = *

Заключение

         В этой части я опишу особенности с которыми Вы можете столкнутся при создании сетевой загрузки.
Дело в том что многие авторы используют нестандартные имена каталогов и это может стать настоящей проблемой.
Итак, файл:
startrom.0 имеет ссылку на файл NTLDR, и если у вас файлов несколько или файл NTLDR имеет другое имя это нужно учесть.(Имеет значение только при мультизагрузке)
NTLDR содержит I386, ntdetect.com и winnt.sif (при загрузке россыпи имеет значение только I386, при мультизагрузке ntdetect.com и winnt.sif, при WIM загузке ничего менять не нужно)

Чтобы произвести нужные модификации нужно иметь HEX редактор или следующие утилиты:
rep.vbs:   cscript rep.vbs c:\pxe\startrom.0 ntldr c:\pxe\startrom.0 ntldm /force (замена ntldr на ntldm в файле startrom.0)
gsar:     gsar -o "-sI386" "-rY386" "C:\pxe\NTLDR" (Утилита регистрочувствительна, поэтому требует замену дважды, один раз в верхенм регистре и один раз в нижнем)
               gsar -o "-si386" "-ry386" "C:\pxe\NTLDR"

Обе утилиты, два загрузчика PXELDR-WIM, также TFTPD32 Вы сможете найти во вложении ниже.

Собираем собственную Live-CD сборку WinPE2.0 на основе Windows 7. Конфигурируем сервер для загрузки образов дискет формата ima.

 

Мы строили строили и наконец построили..."
Чебурашка.

Введение

Первая и вторая части статьи были посвящены установке и конфигурированию сервера для загрузки и инсталляции с сети разнообразных дистрибутивов операционных систем. Будем считать, что все настроено и работает. Из поставленных задач, остается только один вопрос: “Как это может помочь лечить от вирусов компьютеры, восстанавливать ОС и загрузчики и т.д.?". Ответу на этот вопрос и посвящается эта часть.

Немного истории. WinPE

Во времена, когда операционная система Windows XP только начинала свое победное шествие по десктопам пользователей, с ней происходили разные необъяснимые вещи, вроде синих экранов смерти (BSOD), испорченных загрузчиков и т.д. В связи с этим компания Microsoft разработала волшебный инструмент, позволяющий быстро и просто восстановить работоспособность операционной системы. Его название —Preinstallation Environment for Windows XP и WinPE [1].
WinPE представляла собой упрощенную версию Windows XP с возможностью установки и запуска с любого носителя достаточной ёмкости. Изначально система предназначалась для подготовки компьютера к инсталляции полноценной операционной системы и позволяла осуществлять предустановку ОС в автоматическом режиме. В поставку включался пакет драйверов сетевых карт и дисковых подсистем, которые поддерживаются Windows XP или Windows Server 2003. Обеспечивала доступ к общим сетевым папкам, включая доступ к Distributed File System (DFS). Включала в себя утилиты для форматирования и работы с разделами жесткого диска, позволяя получить доступ к его существующим разделам.
Отметим, что полный доступ возможно было получить и к разделам имеющим формат NTFS. Это, во многом, предопределило успех WinPE, так как кроме Windows XP и Windows Server 2000–2003, с этой файловой системой ни одна из операционных систем в полном объеме не работала.
Так же применив стандартные команды и утилиты Windows можно было восстановить работу системы и спасти данные. На этом возможности стандартной поставки Microsoft заканчивались, но ларчик который был открыт, оказался очень интересен многим.

BartPE

Прошло немного времени после выхода WinPE для Windows XP и голландец Барт Лагервей (Bart Lagerweij) предложил для использования вместо нее свою альтернативу — BartPE [2]. Эта сборка операционной системы отличалась от WinPE возможностью расширения функций за счёт системы плагинов [3].
Плагины предлагалось использовать для интеграции самого различного программного обеспечения, изменения внешнего вида и работы операционной системы. Также была предложена возможность использовать собственноручно написаные плагины. Архитектура сборки оказалась настолько удачной, что количество расширений стало безудержно расти. Это позволило сборкам на BartPE вплотную приблизиться и внешне и функционально к традиционной Windows XP (Рис.1), выведя дистрибутив на первое место по популярности среди сборок Windows Live CD.

Рисунок 1. Внешний вид сборки BartPE с плагином XPE.

Внешний вид winpe от Yurkesha

С появлением BartPE создание собственного Live CD стало совсем простым делом. Вокруг BartPE образовалось большое количество сообществ разнообразных сборок, разрабатывающих плагины и улучшающих систему. Из основных, которые развиваются и обновляются до сих пор, можно отметить Ieshua's Live CD и (Y)PE by Yurkesha (CD) [4].
К сожалению, сам продукт уже очень давно не обновлялся. Существуют проблемы с созданием версий на основе Windows XP SP3. Но основной недостаток — для создания сборки основанной на Windows Vista или Windows 7 он не подходит, а необходимость в этом была . И вот на смену BartPE пришёл конструктор WinBuilder [5].

WinBuilder

WinBuilder — это приложение для создания и полуавтоматической сборки Live-CD. Позволяет использовать в качестве исходной системы проекта дистрибутивы, начиная с Windows XP и заканчивая Windows 7 . Разрабатывается и поддерживается Питером Шлангом (Peter Schlang). До не давнего времени официальный сайт проекта был доступен по адресу [6], всю необходимую информацию возможно найти на указанном сайте .
В проекте для сборки используются специальные сценарии, которые выполняются последовательно один за другим, добавляя или изменяя компоненты и настройки будущей сборки операционной системы. За счет того, что система собирается с нуля, можно получить минимальный размер дистрибутива. Этот подход прямо противоположен BartPE, где сначала собирается полная система, а потом выкидывается все лишнее. Учитывая указанные недостатки BartPE, для создания системы воспользуемся конструктором WinBuilder.

Подготовка к сборке

Рассмотрим, что должен содержать дистрибутив “спасательной" системы, с учетом минимально необходимых задач администрирования:

 

  1. Возможность загрузки с сетевого сервера, USB, CD-ROM;
  2. Работа с разделами жесткого диска;
  3. Подключение к сетевым дискам для сохранения информации;
  4. Антивирусные утилиты;
  5. Работа с загрузчиками операционных систем;
  6. Восстановление данных;
  7. Сброс пароля Windows.

 

Существует огромное количество готовых к использованию сборок на все случаи жизни. Для поставленной задачи можно выбрать понравившуюся. Но используя сторонний дистрибутив, конечно нельзя на сто процентов гарантировать целостность и сохранность ваших данных. В связи с этим, собранный лично, дистрибутив системы будет более безопасен.
Для самостоятельной подготовки сборки понадобится дистрибутив Windows 7 с интегрированным с пакетом исправления, полный комплект WAIK for Windows 7 and Windows 2008, дистрибутив WinBuilder и, конечно, комплект необходимых драйверов [7]. WinBuilder может сам запустить виртуальную машину с созданным live–CD образом системы во встроенном QEMU. Для полного тестирования готовых сборок рекомендуется установить VirtualBox [8]. Все действия можно проводить на компьютере с установленной Windows Vista и более поздними версиями операционных систем. Загрузим из сети Интернет все необходимые компоненты, а затем выполним последовательно следующие действия:

 

  1. Копируем все файлы с установочного диска или образа в папку на жесткий диск, например c:\win7lv;
  2. Установим WAIK;
  3. Распакуем WinBuilder в папку c:\winbuilder. Внимание: при распаковке многие антивирусы, например Антивирус Касперского и Microsoft Essential, начинают подавать сигналы тревоги проверяя сам сборщик или его сценарии, поэтому рекомендуется добавить эту папку в исключения или отключить их на время;
  4. Распакуем комплект драйверов в папку c:\x86\drivers. Архивы самих драйверов 7z распаковывать не надо. При необходимости добавить недостающие драйвера, просто скопируйте наборы *.inf, *.sys, *.dll и *.exe в эту папку. EXE-файлы инсталляторов копировать не надо.

 

Конструктор готов к работе: остается загрузить сценарии. Для этого запустим файл c:\winbuilder\winbuilder.exe и выберем для обновления два пункта: updates.boot-land.net и win7pe.winbuilder.net/SE. Что они означают ? Updates.boot-land.net проект, содержащий только проверенные сценарии и свободные программы, готовые к интегрированию в winpe7. Win7pe.winbuilder.net содержит основные программы и сценарии использующиеся в сборках (Рис.2).
Затем нажмем на кнопку Download и дождёмся завершения процесса загрузки (Рис.3).

Рисунок 2. Выбор скриптов для установки.

winbuilder

Рисунок 3. Загрузка и обновление скриптов для сборщика Wibuilder.

Загрузка скриптов

Обычно процесс загрузки занимает не очень много времени. Об окончаним загрузки сигнализируют включенные галочки в панели слева главного окна программы. Если все сценарии скрипты, то можно переходить к сборке дистрибутива. В противном случае придётся удалить из папки с утилитой (c:\winbuilder) всё, кроме неё самой, и заново повторить загрузку. Можно попробовать еще раз повторить загрузку, но без очистки папки. Это позволит сэкономить время и трафик, но не гарантирует дальнейшей правильной работы. Так же необходимо обратить внимание на то, что если в Вашей системе включен UAC, запускать WinBuilder необходимо исключительно с правами администратора. Еще один важный момент — во время работы конструктору потребуется вызывать консольные утилиты из комплекта WAIK. Чтобы обеспечить ему эту возможность есть два пути.

Первый путь. Добавить в переменные окружения рабочие пути WAIK:

  1. Скопировать из папки C:\Program Files\Windows AIK\Tools\PETools\ файл pesetenv.cmd в папку c:\winbuilder;
  2. Заменить в нём относительные пути к утилитам (%~dp0) на полные;
  3. Добавить в конец файла вызов winbuilder.exe;
  4. Переименовать pesetenv.cmd в startbuild.cmd;
  5. Запускать при работе файл startbuild.cmd.

Второй путь. Скопировать необходимые файлы:

  1. Из папки C:\Program Files\Windows AIK\Tools\x86\ файлы bcdboot.exe, imagex.exe, wimgapi.dll, wimmount.inf, wimmount.sys и wimserv.exe в папку C:\winbuilder\Projects\Tools\Win7PE_SE\x86\;
  2. Из папки C:\Windows\System32 файл bcdedit.exe в папку C:\winbuilder\Projects\Tools\Win7PE_SE\x86\. Внимание: если файла bcdedit.exe нет по этому пути, его необходимо искать в папке C:\Windows\winsfx\.

Перейдем к настройке WinBuilder. Запустим приложение, нажимаем кнопку Tools-Language и переключаем на русский язык. Интерфейс приложения, к сожалению, переведен не полностью. Закрываем эту вкладку и нажимаем на кнопку Ресурс, расположенную в правой части окна. В разделе Рабочие каталоги указываем путь к папке с файлами дистрибутива Windows 7 — c:\win7lv, целевой каталог и iso файл. Затем выбираем пункт меню Drivers-Driver Integration и нажимаем на кнопку Explore. В появившемся диалоговом окне выберем папку с драйверами. Ею, в данном случае, является папка c:\x86\drivers. В VirtualTest устанавливаем флаг в пункте VirtualBox Emulation, это позволит вызвать установленный VirtualBox. Если сборка происходит на системе Microsoft Vista, то необходимо в разделе Images Configuration отметить пункт Always use WIMMount Driver (very slow). Это позволит использовать старую утилиту монтирования файлов imagex.exe, которая входит состав Microsoft Vista.
На этом подготовка окончена, перейдем к созданию пробной сборки дистрибутива.

Сборка WinPE 2.0-Windows 7

Перед тем как начать добавлять дополнительные приложения рекомендуется на данном этапе проверить работу сборщика. Для этого нажмем кнопку Play .

Рисунок 4. Внешний вид системы по умолчанию.

Внешний вид системы по умолчанию

Если все сценарии выполнились корректно , то WinBuilder запустит виртуальную машину с созданным образом. В противном случае программа выдаст сообщение об ошибке, сделает соответствующую запись в журнале и предложит вариант решения проблемы. После запуска в виртуальной машине и проверки работоспособности, можно перейти к созданию реальной сборки операционной системы. Для этого в главном меню приложения нажмем на кнопку Download. В панели, расположенной в правой части экрана, необходимо выбрать необходимые для загрузки компоненты системы. В разделе Win7PE_SE выбираем пункты:

 

  • Apps-HD Task . Используется для работы с разделами жесткими дисками восстановление данных и восстановление загрузки операционных систем;
  • Apps-Security. Обеспечивает защиту от вирусов и сброс пароля пользователей Windows в случае необходимости;

 

Наконец, нажмем на кнопку Загрузить. После завершения процесса загрузки перейдем в главное меню приложения и выберем, доступные теперь компоненты и снова запускаем сборку образа. Далее выполним проверку и убедившись, в правильной работе всех приложений перейдем к размещению на сервере установки. Заметим, что полученный iso-образ можно использовать по назначению – записать CD диск.

Как разместить новый образ на сервере установки?

В первой части статьи [10] дано подробное описание технологии загрузки wim-образов систем. Кратко напомню. При загрузке по сети файл pxelinux.0 создает и отбражает меню доступных для загрузки систем. Меню описывается файлом конфигурации pxelinux.cfg. Для систем Window Vista и старше загружаемым файлом является «pxeboot.0» (переименованный «pxeboot.n12»). Он в свою очередь загружает «bootmgr.exe» – Windows Boot Manager (диспетчер загрузки) и запускает его на выполнение.Тот запрашивает у сервера файл BCD – boot configuration data (хранилище параметров запуска) и на основе полученных данных «bootmgr.exe» производит загрузку «boot.sdi» и «boot.wim» – образа Windows PE2.0. Все выше перечисленные необходимые файлы необходимо взять из созданного дистрибутива winpe7.iso.
Для настройки выполним последовательно:

1.Создадим новую секцию winpe7 в файле конфигурации меню /srv/tftpboot/pxelinux.cfg.

label winpe7
menu label ^WinPE WIN7
kernel sources/pxeboot.0

2.Монтируем созданный iso с WinPE7.

mount -o loop /home/iso/winpe7.iso /home/temp/pe7

3.Копируем файл /home/temp/pe7/sources/boot.wim в /srv/tftpboot/sources/.

Если сервер уже был настроен на сетевую загрузку Windows 7 [10], файлы pxeboot.0, bootmgr.exe и boot.sdi копировать нет необходимости. В противном случае для более подробного разъяснения обратитесь к [9-10]. Загружаемся с сети и проверяем созданный образ.

Как загружать образы дискет

Существует большое количество «загрузочных» дискет для выполнения разнообразных операций с компьютером. К их числу относятся дискеты для перепрошивки BIOS, HDD и т.д. Обычно они распространяются в виде файла формата IMA. Это ни что иное, как расширение дискетного образа, стандартной загрузочной дискеты Windows 98.
Специально для этого формата в комплекте syslinux существует сетевой загрузчик memdisk, который по умолчанию располагается в /usr/share/syslinux/.
Его можно использовать для загрузки любого образа ima.
Приведем пример использования этой утилиты. Для этого добавим в загрузку образ ima содержащий FreeDos:

1.В секцию freedos в файл конфигурации /srv/tftpboot/pxelinux.cfg добавим следующий текст:

label freedos
menu label ^FreeDOS+MHDD util
kernel memdisk
append initrd=pe/freedos.ima
2.Копируем файл /usr/share/syslinux/memdisk в корень tftp сервера (/srv/tftpboot/).
3.Скачиваем базовый образ FreeDOS по ссылке [12].
4.Создаем папку /srv/tftpboot/pe/ и копируем туда файл freedos.ima.

Теперь можно проверить загрузку выбрав в меню пункт FreeDOS+MHDD util (Рис.5).

Рисунок 5. Загрузка Freedos.

Загрузка Freedos

Заключение

Полученная сборка Windows 7 PE будет неплохо справляться с поставленными задачами:очистить компьютер от вирусов, восстановить загрузчик операционной системы или информацию.
Но, как показывает практика, скорее всего понадобиться добавить в сборку свои собственные файлы и приложения. Это можно сделать также при помощи сценарие. Большой набор готовых скриптов располагается по адресу [4] и [9]. Там же, на форуме можно найти различные дополнения к WinBuilder и методы работы с ними. Дополнять и улучшать созданную систему можно постоянно.

Литература и ссылки на сайты

  1. WinPE от компании Microsoft (]]>http://www.microsoft.com/Rus/Licensing/Volume/Software_Assurance/Advanta...]]>)
  2. Вики о BartPE (]]>http://en.wikipedia.org/wiki/BartPE]]>)
  3. Официальный сайт BartPE (]]>http://www.nu2.nu/pebuilder/]]>)
  4. Готовые сборки WinPE (http://www.winpe.ru/docum/c-winpe)
  5. Описание WinBuilder (]]>http://en.wikipedia.org/wiki/WinBuilder]]>)
  6. Официальный сайт WinBuilder (]]>http://winbuilder.net]]>)
  7. Готовые комплекты драйверов (]]>http://driverpacks.net/driverpacks/windows/7]]>)
  8. VirtualBox (]]>http://www.virtualbox.org/wiki/Downloads]]>)
  9. Наборы дополнительных скриптов (]]>http://reboot.pro/forum/65/]]>)
  10. Статья «Универсальный сервер сетевой загрузки и установки », Журнал «Системный администратор», Декабрь 2010 №12 (97).
  11. Статья «Универсальный сервер сетевой загрузки и установки.Часть 2 », Журнал «Системный администратор», Октябрь 2011№10 (107).
  12. Базовый образ FreeDOS (http://www.winpe.ru/docum/freedos_10_base_sborka)

Создание загрузочного USB-драйва на базе Windows Vista (WinPE 2.0)

      Windows Preinstallation Environment (PE) 2.0 - это, так сказать, урезанная версия Windows. Microsoft приняла весьма разумное решение, включив WinPE в состав Windows AIK. Что ж, в данном мануале мы создадим свой собственный дистрибутив Windows, доступный с USB-драйва.

    Объединив распространенные флэш-драйвы с возможностями WinPE, вы получите мощный инструмент для устранения проблем и восстановления данных. Мануал же достаточно прост. И вот, что требуется:

1. Взять USB-драйв. Нам потребуется устройство спецификации USB 2.0 с объемом, как минимум, 512Мб, но если вы планируете добавить в установщик PE еще что-то или желаете его использовать для хранения и обмена данными, то лучше обратить внимание на его более вместительных собратьев (2-4Гб).

2. Скачать и установить ]]>Windows Automated Installation Kit]]> (Windows AIK). Данный набор инструментов для развертывания как раз и содержит нужный нам Windows PE 2.0.

3. Отформатировать USB-драйв. Обратите внимание, что форматирование должно быть выполнено из Windows Vista. Открываем консоль и делаем следующее. В нашем примере USB-драйв называется disk 1. Вы должны дважды проверить, потому как вы рискуете затереть нужные вам данные.



	

 Diskpart 
select disk 1 
clean 
create partition primary 
select partition 1 
active 
format fs=fat32 
assign 
exit

    4. Установить Windows PE. На этом этапе мы создадим и настроим WinPE для нашего драйва. На компьютере с установленным Windows AIK идем в меню Start и выбираем "Windows PE Tools Command Prompt" из папки Windows AIK.

     Выполняем команду Copype.cmd x86 c:\winpe_x86
    Можно создать и 64-битную версию, сменив архитектуру с x86 на amd64.
    Настраиваем WinPE.
    Копируем нужные утилиты в папку C:\winpe_x86\iso (к примеру, утилиты для создания образов - imagex, wimscript.ini)

       
      5. Скопировать Windows PE на USB-драйв. Подключаем наш USB-драйв в компьютер, на который вы скопировали WinPE и для копирования выполняем следующую команду:

      Код:
       
      xcopy c:\winpe_x86\iso\*.* /s /e /f e:\

             Меняем диск с c: на тот, на котором хранятся файлы WinPE, а диск e: на имя вашего USB-драйва.

             Вот и все - теперь у вас есть удобная USB-версия WinPE, которую можно брать с собой куда угодно. Наше решение можно использовать на большинстве современных компьютеров, поддерживающих загрузку с USB-устройств. С более подробной информацией о WinPE можно позакомиться ]]>тут]]>.