Добро пожаловать на неофициальный городской портал г. Мытищи! Наш портал создан для того, чтобы Мытищинцы могли общаться со своими земляками ! Еще он создан для людей, интересующихся г. Мытищи! Вы можете зайти и обсудить любые темы на нашем форуме! А также купить/продать что либо на нашей доске объявлений! Узнать историю, последние новости г. Мытищи Посмотреть фотографии нашего прекрасного города! И, конечно же, оставить отзывы в нашей гостевой книге! Мы очень рады видеть Вас в любое время на нашем сайте!

-
 
 
 
 
:
 
 

Сервер сетевой загрузки (PXE) на Freebsd

Устав от однотипных операций установки различных операционных систем, задумался, каким образом это можно все упростить, чтобы не прожигать болванки каждый раз, т. к. при моей аккуратности они имеют свойств царапаться, теряться. Тем более, что не на всех компьютерах (серверах) присутствуют устройства чтения CD–DVD, а значит надо создавать загрузочные устройства на флешках. Выбор пал на установку (загрузку) операционных систем по сети.

Итак, что можно использовать? Если устанавливать продукты только от Microsoft, то можно воспользоваться WDS (Windows Deployment Server) и SMS (System Management Server). Конечно существует возможность установки Linux c  помощью MS WDS — WDSLinux, но учитывая мое отношение к MS, эта возможность была откинута сразу же.
В итоге останавливаемся на утилитах Питера Арвина Syslinux, тем более что старая машинка с FreeBSD в наличии уже есть (используется для мелких внутренних вэб-приложений).
Для решения данной задачи нам понадобятся DHCP, tftp, ну и утилиты из пакета Syslinux, в дальнейшем понадобятся samba (для установки Windows) и NFS (для установки Unix-like систем), в данной части их настройку рассматривать не будем.
Т.к. DHCP сервер в сети уже присутствует (на базе Win2003), то используем его. Открываем оснастку  DHCP и переходим в параметры нашей области.
Добавляем параметры — 066 — имя узла сервера загрузки и указываем адрес нашего  сервера загрузки. А также — 067 — Имя файла загрузки — gpxelinux.0

Если у Вас DHCP под Linux, то необходимо добавить следущие строки в описание области в/usr/local/etc/dhcp.conf:

next-server 192.168.1.5;  # TFTP server address
filename "gpxelinux.0";   # PXE boot loader filename
Переходим к настройке TFTP, т. к. стандартный нам не подойдет, по крайней мере потому, что не поддерживает правила (необходимы для установки Windows), то будем использовать — tftp-hpa
Создаем папки -
# mkdir -p /usr/tftpboot/images
# mkdir /usr/tftpboot/pxelinux.cfg
Устанавливаем -
# cd /usr/ports/ftp/tftp-hpa
# make install clean
Включаем TFTP сервер -
# ee /etc/inetd.conf
и редактируем строку с tftp до такого состояния -
tftp    dgram   udp     wait    root    /usr/local/libexec/in.tftpd     in.tftpd -p -s 
/usr/tftpboot -B 1024
Добавляем в /etc/rc.conf -
inetd_enable="YES"
И перезапускаем inetd -
/etc/rc.d/inetd restart
Логи этого tftp сервера можно будет смотреть в  /var/log/xferlog
На этом пока с tftp закончили.
Перейдем к утилитам syslinux -
Т.к. на момент написания статьи сайт проекта Syslinux был недоступен, то скачиваем их отсюда.
Для скачивания я использовал wget, у кого не установлен, то
cd /usr/ports/ftp/wget
make install clean
rehash
Скачиваем
wget http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.04.tar.gz
Распаковываем
tar xvfz syslinux-4.04.tar.gz
И копируем
#cp /home/user/syslinux-4.04/gpxe/gpxelinux.0 /usr/tftpboot/
#cp /home/user/syslinux-4.04/com32/menu/menu.c32 /usr/tftpboot/
#cp /home/user/syslinux-4.04/com32/menu/vesamenu.c32 /usr/tftpboot/
#cp /home/user/syslinux-4.04/com32/modules/reboot.c32 /usr/tftpboot/
#cp /home/user/syslinux-4.04/com32/modules/chain.c32 /usr/tftpboot/
#cp /home/user/syslinux-4.04/memdisk/memdisk /usr/tftpboot/
Где
gpxelinux.0 — загрузчик PXE (PXE boot loader)
menu.c32 — модуль текстового меню
vesamenu.c32 — модуль графического меню
reboot.c32 — модуль перезагрузки
chain.c32 — chain loader module
memdisk — Эмулятор memory disk
Файлы конфигурации находятся в каталоге /usr/tftpboot/pxelinux.cfg
Создадим файл параметров главного меню
touch /usr/tftpboot/pxelinux.cfg/default
Дальнейшую настройку рассмотрим на основе примера, добавим в сетевую загрузку FreeBSD LiveCD -mfsBSD
wget h_ttp://mfsbsd.vx.sk/iso/mfsbsd-se-8.2-i386.iso
mkdir /usr/tftpboot/images/mfsbsd
cp /tmp/mfsbsd-8.2-i386.iso /usr/tftpboot/images/mfsbsd
Для ускорения загрузки рекомендуется сжимать образы с помощью zip или gzip, но я не стал.
добавляем в /usr/tftpboot/pxelinux.cfg/default
ui menu.c32
menu title Utilities
	 
label mfsbsd
  menu label ^MfsBSD
  kernel memdisk
  initrd images/mfsbsd/mfsbsd-8.2-i386.iso 
  append iso raw
Где
ui —  подключаем menu.c32 модуль текстового меню
menu title — заголовок главного меню
label — создаем пункт меню
menu label — заголовок пункта меню
kernel — загрузка ядра, путь начинает с корневого каталога tftp сервера - /usr/tftpboot/
append — добавляет опции командной строки для ядра
initrd — путь до инициализируемого образа.
Добавим в этот же файл пункт меню перезагрузки -

label reboot
  menu label Reboot
  kernel reboot.c32
Проверяем, выставляем в BIOS — загрузку по сети -
Все работает и загружаеццо.
В принципе первоначальная настройка сервера на этом закончена, но поговорим еще о некоторых моментах.
Протокол tftp довольно медленный, ускорить загрузку можно например используя http, тем более что на моем серевере apache22 уже стоял, итак попробуем
Для Apache делаем ссылку на наш каталог -
ln -s /usr/tftpboot/images/ /usr/local/www/apache22/data/
в файл httpd.conf добавляем -
ee /usr/local/etc/apache22/httpd.conf

	   Order Deny,Allow
	   Deny from all
	   Allow from 192.168.1.0/24
	   Options Indexes
Перезапускаем Apache и правим наш файл - /usr/tftpboot/pxelinux.cfg/default, меняя протокол с tftp на http -
 label mfsbsd
   menu label ^MfsBSD
   kernel h_ttp://192.168.1.5/memdisk
   initrd  http://192.168.1.5/images/mfsbsd/mfsbsd-8.2-i386.iso 
   append iso raw
И пробуем загрузиться. Скорость загрузки увеличилась в разы.
Для дальнейшего примера добавим еще memtest86 и Hardware Detection Tools
Memtest
wget http://downloads.sourceforge.net/project/systemrescuecd/sysresccd-x86/2.5.0/systemrescuecd-x86-2.5.0.iso
# mkdir /usr/tftpboot/images/memtest/
# mount -t cd9660 /dev/`mdconfig -f systemrescuecd-x86-2.5.0iso` /mnt
# cp /mnt/bootdisk/memtestp /usr/tftpboot/images/memtest
# umount /mnt
И добавляем в файл нашего меню default -
  label memtest
	 menu label ^Memtest
	 kernel images/memtest/memtestp
Hardware Detection Tools
Эта утилита включена в состав Syslinux, поэтому просто копируем ее оттуда
cp /tmp/syslinux-4.04/com32/hdt/hdt.c32 /usr/tftpboot/
И добавляем в default
label hdt
 menu label ^Hardware Detection Tool
 kernel hdt.c32
Поговорим еще о меню загрузки, что еще можно сделать для удобства и украшательства? Первое — это можно сделать меню многоуровневым, второе — это использовать любой фон для меню (графический режим).
Рассмотрим пример многоуровнего меню -
Приведу листинг конфигурационный файлов:
/usr/tftpboot/pxelinux.cfg/default — описание разделов основного меню
/usr/tftpboot/pxelinux.cfg/graphics.conf — параметры меню (цвет, размеры, задержка загрузки и т. д.)
/usr/tftpboot/pxelinux.cfg/livecd.menu — описание дополнительного меню

/usr/tftpboot/pxelinux.cfg/setup.menu

/usr/tftpboot/pxelinux.cfg/Utilities.menu — также являются дополнительными пунктами меню и заполняются подобно  livecd.menu, в зависимости от вносимых в него приложений.

Реклама

Создание меню в графическом режиме (использование фона и т. п.) -
Файл default будет начинаться
ui vesamenu.c3
menu title Utilities
menu background backgnd.png
	 
Где backgnd.png — это графическое изображение в формате PNG, размером 640×480 — 8bit.

Сервер сетевой загрузки (PXE) на Freebsd ч.2 — Установка Unix-like систем.

Продолжим тему сетевой загрузки операционных систем, в предыдущей части мы сделали первоначальные настройки и рассмотрели запуск некоторых утилит. В этой части мы рассмотрим сетевую установку Unix-like систем на примере Ubuntu, OpenSuse и FreeBSD.

Для реализации данной задачи, помимо описанных настроек предыдущей главы, еще нам понадобиться NFS сервер и rsync, приступим к настройке.

По умолчанию поддержка NFS во FreeBSD включена и если Вы не отключали опцию NFSSERVER в ядре, то все должно работать.


Создаем файл /etc/exports и добавляем в него нашу папку.
ee /etc/exports
/usr/tftpboot -alldirs,ro -mapall=nobody:nobody -network 192.168.1.0/24


Далее добавляем в файл /etc/hosts.allow разрешения для доступа из нашей сети (Добавляем перед строкой rpcbind: ALL: deny)
rpcbind: 192.168.1.0/24: allow

Реклама


В rc.conf добавляем
rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r -n"


И запускаем NFS Server (или перезагружаемся)
/etc/rc.d/rpcbind start
/etc/rc.d/nfsd start


Проверяем нашу шару -
showmount -e
Если все хорошо, то получим -
Exports list on localhost:
/usr/tftpboot 192.168.1.0


Ставим rsync
cd /usr/ports/net/rsync/
make install clean
rehash


Загрузка Ubuntu сети.


mkdir /usr/tftpboot/images/ubuntu
wget h ttp://mirror.yandex.ru/ubuntu-releases/11.10/ubuntu-11.10-desktop-i386.iso
mount -t cd9660 /dev/`mdconfig -f ubuntu-11.10-desktop-i386.iso` /mnt
rsync -a /mnt/ /usr/tftpboot/images/ubuntu/
umount /mnt
mdconfig -d -u 0


В файл /usr/tftpboot/pxelinux.cfg/default добавляем -
label kubuntu
menu label ^Ubuntu
kernel images/kubuntu/casper/vmlinuz
append boot=casper netboot=nfs nfsroot=192.168.1.1:/usr/tftpboot/images/kubuntu
initrd images/kubuntu/casper/initrd.lz

Загружаемся по сети и видим обычный убунтовский LiveCD c возможностью установки.

Для автоматической установки необходимо использовать файлы ответов, их пример Вы можете посмотреть в папке дистрибутива /preseed, в пределах этой части статьи я их разбирать не буду.

Установка OpenSUSE

Создаем папку -
mkdir /usr/tftpboot/images/opensuse

Загружаем ядро -

wget http://download.opensuse.org/distribution/12.1/repo/oss/boot/$(arch)/loader/linux
wget http://download.opensuse.org/distribution/12.1/repo/oss/boot/$(arch)/loader/initrd

Помещаем их в папку /usr/tftpboot/images/opensuse, туда же копируем дистрибутив и прописываем в файл конфигурации сетевой загрузки (default) -

label openSUSE
menu label ^OpenSuSe
kernel images/opensuse/linux
append initrd=images/opensuse/initrd install=nfs://192.168.1.1:/usr/tftpboot/images/opensuse/

Установка FreeBSD.

C установкой FreeBSD вышла некоторая накладка из-за использования вендового DHCP, но обо всем по порядку.

Итак, скачиваем образ -
wget ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/8.2/FreeBSD-8.2-RELEASE-i386-disc1.iso

Создаем папку, монтируем и копируем -

mkdir /usr/tftpboot/images/freebsd
mount -t cd9660 /dev/`mdconfig -f FreeBSD-8.2-RELEASE-i386-disc1.iso` /mnt
rsync -a /mnt/ /usr/tftpboot/images/freebsd/
umount /mnt
mdconfig -d -u 0

В default добавляем -

label freebsd
menu label FreeBSD LiveFS
pxe images/freebsd/boot/pxeboot

В DHCP (вендовый) добавляем корневой путь (пункт 017 — Корневой путь)
/usr/tftpboot/images/freebsd и …….

Сколько я не бился, но передать root path через вендовый dhcp у меня так и не получилось, все равно принимает /. Если кто поделится секретом (без ковыряния исходников pxe) буду премного благодарен.

В качестве временного решения (даже не временного, а для теста), заглушил вендовый DHCP и поставил на фрю.

Настройку DHCP сервера здесь я не рассматриваю, приведу только описание области -

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
next-server 192.168.1.1; # Адрес TFTP сервера
filename «gpxelinux.0»; # имя загрузчика PXE
option root-path «/usr/tftpboot/images/freebsd»; # NFS root
}

добавляем в файл /usr/tftpboot/images/freebsd/boot/loader.conf -

vfs.root.mountfrom="ufs:/dev/md0"

И пробуем загрузиться, появляется окно sysinstall, где мы после всех настроек выбираем с чего устанавливаться, соответственно — Install over NFS и вводим путь до нашей шары с дистрибутивом.

Также можно автоматизировать процесс установки, создав файл install.cfg, который в последствии должен быть перемещен внутрь mfsroot.gz

cd /usr/tftpboot/images/freebsd
gzip -d boot/mfsroot.gz
mdconfig -a -t vnode -f boot/mfsroot -u 9
mount /dev/md9 /mnt/tmp
cp install.cfg /mnt/tmp
umount /mnt/tmp
mdconfig -d -u 9
gzip boot/mfsroot

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

В дальнейшем я постараюсь рассмотреть установку Windows систем, автоматическую установку ОС, возможно еще создание и использование различных LiveCD, соотвественно в разрезе сетевой загрузки.

Буду благодарен любым комментариям, особенно ответам на вопросы озвученными в статье.

Сервер сетевой загрузки (PXE) на Freebsd ч.3 — Установка Windows систем.

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

Для установки ХР нам понадобится samba, convmv, python, cabexctract, ris-linux.

Не забываем обновить порты и ставим по порядку:

Samba -

cd /usr/ports/net/samba36

Реклама

install clean

Cabextract, для распаковки вендых архивов.
cd /usr/ports/archivers/cabextract/
Convmv, для конвертации заглавных букв  строчные
cd /usr/ports/converters/convmv
make install clean
Python, для работы эмулятора WDS — ris-linux
cd /usr/ports/lang/python
make install clean
rehash
Т.к. регистрозависимости у Windows и Linux разные, а также пути обозначаются разными слешами «\» и «/», то для корректной устаноки необходимо поправить установки tftp-сервера -
Создаем файл с правилами (напомню, что tftp идущий в BSD по умолчание не поддерживает правила, мы используем tftp-hpa)
ee /usr/local/etc/tftpd.rules
rg \\ /
rg A a
rg B b
rg C c
rg D d
rg E e
rg F f
rg G g
rg H h
rg I i
rg J j
rg K k
rg L l
rg M m
rg N n
rg O o
rg P p
rg Q q
rg R r
rg S s
rg T t
rg U u
rg V v
rg W w
rg X x
rg Y y
rg Z z
И редактируем строку  в inetd.conf -
ee /etc/inetd.conf
tftp dgram udp wait root /usr/local/libexec/in.tftpd in.tftpd -m /usr/local/etc/tftpd.rules -v -s /usr/tftpboot
Опция -v включает логи, по умолчанию логи падают в /var/log/messages.
Перезапускаем inetd
/etc/rc.d/inetd restart
Теперь tftp будет переводить все имена в нижний регистр.
Настраиваем Samba -
Создаем папку для нашего дистрибутива с ХР -
mkdir /usr/tftpboot/winxp
Создаем файл конфигурации для самбы -
ee /usr/local/etc/smb.conf
[global]
workgroup = WORKGROUP
netbios name = PXE
server string = FreeBSD PXE server
interfaces = fxp0
security = share
#Следующие три строки нужны для отображения символических ссылок
unix extensions = no
wide links = yes
follow symlinks = yes
log file = /var/log/samba/log.%m
max log size = 50
dns proxy = No
load printers = no
show add printer wizard = no
printcap name = /dev/null
disable spoolss = Yes
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
[reminstall]
path=/usr/tftpboot/images
public=yes
browsable=yes
read only=yes
guest ok=yes
Добавляем в rc.conf -
nmbd_enable="YES"
smbd_enable="YES"
Т.к. пути до папки с дистрибом для tftp сервера и samba будут различаться, то создадим символическую ссылку в расшаренной папке, только не наоборот, т. к. tftp сервер не умеет работать с символическими ссылками. (понадобится для файла ответов).
ln -s /usr/tftpboot/winxp /usr/tftpboot/images/winxp
Если этого не сделать, то вам придется делать вторую копию дистристрибутива по пути указанном  в Samba или получите ошибку -
INF-файл txtsetup.sif испорчен или отсутствует состояние 21
или
Установка Windows: произошла неожиданная ошибка (32768) строка 5218 в d:\xpsp\base\boot\setup\setup.c. нажмите любую клавишу для продолжения
Запускаем Samba -
/usr/local/etc/rc.d/samba start
Подготавливаем дистрибутив для установки -
Копируем содержимое диска -
mount -t cd9660 /dev/`mdconfig -f WinXP.iso` /mnt
rsync -a /mnt/ /usr/tftpboot/winxp/
umount /mnt
mdconfig -d -u 0
Распаковываем и переименовываем файлы для загрузки
cd /usr/tftpboot/
cabextract  /usr/tftpboot/winxp/SETUPLDR.EX_
mv /usr/tftpboot/winxp/setupldr.exe ntldr
cabextract  /usr/tftpboot/winxp/STARTROM.N1_
mv /usr/tftpboot/winxp/startrom.n12 startrom.0
cp /usr/tftpboot/winxp/NTDETECT.COM ntdetect.com
И для того чтобы устанока была на русском языке копируем -
cp /usr/tftpboot/winxp/BOOTFONT.BIN bootfont.bin
Переводим имена всех файлов в нижний регистр -
cd /usr/tftpboot/winxp
convmv --lower -r --notest --replace *
Перейдем настройке ris-linux
Скачиваем и распаковываем дистрибутив -
cd /usr/tftpboot/
tar -xvf ris-linux-0.4.tar.gz
mv ris-linux-0.4 /usr/tftpboot/winxp/ris
Указываем где располагается дистрибутив, для этого редактируем файл binlsrv.py
ee /usr/tftpboot/winxp/ris/binlsrv.py
и изменяем строку
BASEPATH=/usr/tftpboot/winxp/
Далее необходимо создать пакет драйверов сетевых карт. Создать их можно самому или скачать отсюда(набор этих сетевых карт взят с сайта Сергея Крутских, по статье из Системного Администратора).
Чтобы подготовить набор сетевых карт самому, необходимо -
Cоздаем папки для наших драверов
mkdir /usr/tftpboot/winxp/ris/drv
mkdir /usr/tftpboot/winxp/ris/drv/sys
Распаковываем драйвера из папки дистрибутива i386 и копируем их в  папку drv — файлы с расширением   inf,  в папку drv/sys файлы с расширением sys.
Распаковать можно из  BSD командой
cabextract net*.in_
Из-под Windows
expand -r net*.in_
Также можно добавить какие-либо специфичные драйвера для сетевых устройств.
И запускаем скрипт из набора ris-linux -
cd /usr/tftpboot/winxp/ris
python infparser.py /drv
Данный скрипт записывает информацию о драйверах  в файл nics.txt RIS-сервера.
Набор драйверов готов, теперь необходимо содержимое каталогов /drv и /drv/sys скопировать в папку i386 дистрибутива (только файлы, без самих каталогов).
Далее для загрузки ХРюши по сети нам понадобиться файл ответов. Его можно создать с помощью setupmgr.exe находящегося на установочной диске в архиве DEPLOY — \SUPPORT\TOOLS\DEPLOY.CAB
Справку по разделам файла ответов можно найти в этом же архиве в файле deploy.chm или на сайте мелкософта.
Для примера будем использовать файл winnt.sif идущий в комплекте дистрибутива ris-linux
cp /usr/tftpboot/winxp/ris/winnt.sif /usr/tftpboot/
и изменяем строки -
Путь к нашей шаре на самбе
OriSrc = «\\192.168.0.1\reminstall\winxp\i386»
Устройство с которого идет установка -
SetupSourceDevice = «\Device\LanmanRedirector\192.168.0.1\reminstall\winxp»
Добавляем запуск Венды на наш pxe-сервер, для чего в наш файл default находящийся в /usr/tftpboot/pxelinux.cfg добавляем строки для запуска Венды -
label winxp
menu label ^Windows XP SP3
kernel startrom.0
На этом все настройки произведены, запускаем сервер WDS -
cd /usr/tftpboot/winxp/ris
./binlsrv.py
Пробуем установку, если все хорошо, то в консили сервера мы увидим -
#./binlsrv.py
Succesfully loaded 6391 devices
Binlserver started… pid 6738
Recv BINL NCQ len = 48
NCQ Driver request
[R] Mac address 08:00:27:bf:52:a8
[R] Vid: 0×1022
[R] Pid: 0×2000
[R] rev_u1 = 0×0
[R] rev_u2 = 0×0
[R] rev_u3 = 0×0
[R] rev    = 0×0
[R] rev2   = 0×18
[R] subsys = 0xffffffff
[R] Source path: \\192.168.0.1\reminstall\winxp
Checking PCI\VEN_1022&DEV_2000&SUBSYS_FFFFFFFF
Checking PCI\VEN_1022&DEV_2000
Found PCI\VEN_1022&DEV_2000 in netamd2.inf
[S] Packet len = 0xb8 (184)
[S] Result code: 0×0
[S] type: 0×2
[S] base offset = 0×24 (36)
[S] drv_off = 0×50 (80)
[S] srv_off: 0×6a (106) -> 98 from start
[S] plen: 0×4a (74)
[S] p_off: 0×76 (118) -> 110 from start
[S] hid: PCI\VEN_1022&DEV_2000 — Len 0×15 (21)
[S] drv: pcntpci5.sys — Len 0xc (12)
[S] srv: PCnet — Len 0×5 (5)
[S] Description (REG_EXPAND_SZ [2]) = AMD PCNET  PCI Ethernet
[S] Characteristics (REG_SZ [1]) = 132
[S] BusType (REG_SZ [1]) = 5
[S] Total Params: 3
А на загружаемой машине привычный установщик -
Для отладки возможен запуск WDS c ведением лога -
./binlsrv.py -l binlsrv.log
На этом сетевую установку Windows XP считаю завершенной, автоматизацию установку перекладываю на Ваши плечи =)
Сетевая установка Windows 2003 идентична данной установке.
Полезные ссылки к данной части -

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

Установка Windows 7 через PXE будет выглядеть несколько проще, т. к. основную работу по настройке сервера мы уже произвели.
Для установки нам понадобится образ WinPE и непосредственно сам дистрибутив с семеркой.
Чтобы собрать установочный образ WinPE берем машину с установленной Windows Vista, 7 или 2008, на которую  устанавливаем Windows Automated Installation Kit (WAIK). Скачать можно тут.
После установки, запускаем от имени администратора Deployment Tools Command Prompt.
Создаем копию загрузочного диска с необходимой нам архитектурой (x86 или х64)-
copype.cmd x86 c:\winpe
или
copype.cmd amd64 c:\winpe
Переходим в папку с созданным образом и монтируем его для дальнейших изменений.
cd c:\winpe
Dism /Mount-WIM /WimFile:c:\winpe\winpe.wim /Index:1 /MountDir:c:\winpe\mount
или что тоже самое -
imagex /mountrw winpe.wim 1 mount
для автоматического старта установки добавляем в файл c:\winpe\mount\windows\system32\startnet.cmd -
wpeinit
net use y: \\192.168.0.1\win7
if exist y:\sources\setup.exe (
y:
cd \sources
setup.exe
)
Можно этот скрипт не добавлять, но тогда при загрузке WinPE придется подключать диск и запускать setup вручную.
Если на нашу шару стоят ограничения по правам, то можно добавить имя пользователя и пароль, от которого будет подключатся эта папка (net use y: \\192.168.0.1\win7 /user:install install)
Добавляем в наш дистрибутив необходимые драйвера -
dism /image:c:\winpe\mount  /add-driver /driver:c:\winpe\drivers\vboxdrv\vboxdrv.inf
Копируем папку PXE из C:\winpe\mount\Windows\Boot\ в C:\winpe
Сохраняем и отключаем образ -
imagex.exe /unmount /commit mount
или
dism /unmount-wim /mountdir:mount /commit
Таким образом мы получили простейший образ WinPE.
Далее на нашем установочном сервере создаем две папки в корне tftp-сервера — boot и source.
Копируем в /usr/tftpboot/sources файлы — из C:\winpe — winpe.win под именем boot.wim и из папки C:\winpe\PXE — pxeboot.n12 под именем pxeboot.0
В папку  /usr/tftpboot/boot — из C:\winpe\ISO\boot — bcd и boot.sdi
В папку /usr/tftpboot из C:\winpe\PXE — bootmgr.exe
Cоздаем папку /usr/tftpboot/images/win7 и копируем туда содержимое установочного диска венды.
Добавляем в /usr/tftpboot/pxelinux.cfg/default
label win7
menu label ^Windows 7×86
kernel sources/pxeboot.0
И запускаемся.
Если все сделали правильно, то увидим -
Для автоматизации установки необходимо использовать файл Unattend.xml, формат запуска в скрипте startnet.cmd будет выглядеть -
setup.exe /unattend:y:\unattend.xml

Добавить комментарий


Защитный код
Обновить