Прежде всего, условимся иметь следующие две машины:
http://www.bootix.com
.
Эта дискета сделает ваш компьютер подобным компьютеру со встроенным TCP/IP BootProm.
Если вы уже имеете ПЗУ начальной загрузки, вам нужно включить эту возможность. Если вы используете Bootix TCP/IP Bootprom,вы можете сделать это с помощью специальной программы от производителя вашей сетевой карты. Если вы имеете PXE Bootrom, вы можете сделать это просто из BIOS-setup, изменяя загрузочное устройство.
Для студенческих компьютеров, мы конфигурировали сетевую загрузку первой, и дезактивировали загрузку с флоппи и жесткого диска. Для вспомогательных компьютеров, мы также конфигурировали сетевую начальную загрузку первой, но мы позволяем начальную загрузку с гибкого диска и с жесткого диска.
На сервере вам будут нужны следующие сервисы:
http://developer.intel.com/ial/wfm/tools/pxepdk20/index.htm
.
Назначение DHCP сервера - предоставить клиенту IP адрес и обеспечить ему загрузку файла,
именуемого bpbatch.P
с TFTP сервера. DHCP является расширением протокола BOOTP.
Если вы используете Bootix TCP/IP Bootprom, вы можете обойтись без DHCP
(используя любой старый BOOTP сервер).
В Windows NT, вы, вероятно, будете использовать "родной" DHCP сервер. Если вы используете
Bootix TCP/IP Bootprom, вы будете иметь возможность использовать специальный трюк,
определяя имя загрузочного файла (более подробную информацию получите с Bootix WWW сайта).
Если вы используете PXE Bootrom, вы должны будете определить имя загрузочного файла,
используя DHCP опцию 67. Также вы должны определить опции VendorClass (опция 60)
как "PXEClient" и VendorOptions (опция 43) как 01,04,00,00,00,00,ff
(см. ниже).
В Linux, лучший способ - стандартный DHCP сервер от Internet Software Consortium. Если вы используете PXE Bootrom, в дополнение к обычным опциям вы должны будете добавить следующие:
опция dhcp-class-identifier "PXEClient".
.опция vendor-encapsulated-options 01:04:00:00:00:00:ff;
.Если вы используете ISC DHCP 3.0, синтаксис слегка отличается. Здесь представлен пример DHCP 3.0-совместимой конфигурации:
option subnet-mask 255.255.255.0;
default-lease-time -1;
option space PXE;
option PXE.mtftp-ip code 1 = ip-address; option PXE.mtftp-cport code 2 = unsigned integer 16;
option PXE.mtftp-sport code 3 = unsigned integer 16;
option PXE.mtftp-tmout code 4 = unsigned integer 8;
option PXE.mtftp-delay code 5 = unsigned integer 8;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
host pctest {
hardware ethernet 00:01:02:03:04:05;
filename "bpbatch.P";
next-server 192.168.1.2;
fixed-address 192.168.1.100;
# BpBatch command-line argument : -i == interactive
# You can also specify a script name (do not include the
# trailing .bpb extension)
option option-135 "-i";
# PXE specific options
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
option vendor-class-identifier "PXEClient";
# At least one of the vendor-specific option must be set. We set
# the MCAST IP address to 0.0.0.0 to tell the bootrom to still use
# TFTP (address 0.0.0.0 is considered as "no address")
option PXE.mtftp-ip 0.0.0.0;
vendor-option-space PXE;
}
}
}
В Solaris, вы можете использовать либо Internet Software Consortium DHCP сервер (доступный в Web), либо Solaris DHCP сервер (доступный с версии Solaris 2.5). Однако, поскольку Solaris DHCP сервер не предоставляет возможности вставить идентификатор класса клиента в его DHCP предложение, вы должны установить Proxy DHCP сервер. Более того, этот Proxy DHCP сервер должен располагаться на другом компьютере, так как Solaris DHCP сервер блокирует DHCP порт.
Мы подразумеваем предоставление неограниченного выделения времени клиенту удаленной загрузки. Не забывайте, что BOOTP/DHCP запрос связан подсетью. Если клиент и сервер не принадлежат одной и той же подсети, вы должны инсталлировать BOOTP/DHCP Relay агент на любой из компьютеров между двумя указанными. Далее подразумевается, что обе машины находятся в одной подсети.
Если вы используете PXE 2.0 bootrom, вы можете использовать только специфические для данной конфигурации опции, нумерованные с 128 по 135 для предоставления информации BpBatch. Опции с номерами, большими чем 135 игнорируются PXE 2.0 Bootrom. Опция 135 используется BpBatch для аргументов командной строки. Вы имеете 6 оставшихся опций для своих нужд
Назначение Proxy DHCP сервера - снятие ограничений некоторых DHCP серверов и предоставление специфических PXE расширений. Proxy DHCP сервер имеет смысл только для PXE Bootrom. Однако Proxy DHCP не является обязательным. Если ваш DHCP сервер посылает все запрашиваемые параметры, PXE Bootrom не будет искать Proxy DHCP (назывемый также BINL). Под "всеми запрашиваемыми параметрами" мы понимаем основные IP параметры (IP-адрес, шлюз, маска подсети, имя хоста) и специфические параметры поставщика PXE Bootrom (vendor-class - параметр 60 -- устанавливается в "PXEClient" и опции встроенные поставщиком устанвливаются в нечто значимое для PXE Bootrom. Вы можете использовать 01:04:00:00:00:00:ff, если не знаете что значимо для PXE Bootrom). Более полное описание дано ниже.
Поскольку BpBatch сам по себе достаточно мощный, вы не нуждаетесь в использовании киких-либо специфических DHCP расширений (меню и т.д.). Однако, если ваш DHCP сервер не способен оказывать минимальную PXE согласованность, вы нуждаетесь в Proxy DHCP сервере или ваш PXE Bootrom не будет поддерживаться в дальнейшем. Под минимальной PXE согласованностью мы понимаем установки опций VendorClass и VendorOptions (опции 60 и 43 соответственно).
В Linux и Solaris, вы можете запустить нашу Proxy DHCP программу, которая просто принимает
в качестве аргумента IP адрес TFTP сервера, имя загрузочного файла и необязательные аргументы,
и делает все за вас. Если соответсвующий порт DHCP на сервере уже был запрошен другим демоном,
proxy DHCP сервер будет настроен на порт 4011. В этом случае, необходимо , чтобы другой демон на
DHCP порту отвечал DHCP предложение с классом клиента PXEClient
так, чтобы PXE знал,
что он обязан перестроится на порт 4011.
Если вы хотите лучше понять PXE расширение для DHCP, имеется подробное описание, доступное на сайте Intel. Однако помните, что этот документ крайне путанный, поскольку этот протокол был расширен большим числом необязательных фаз, в целях предоставления максимальной гибкости. Ключом к понимнию этого может служить то, что все, в чем нуждается PXE клиент, это полный расширенный DHCP ответ. Если клиент получит только стандартное DHCP предложение, он будет ожидать дальнейшего, до получения:
PXEClient
.01:04:00:00:00:00
, это будет правильно интерпретироваться PXE Bootrom).TFTP сервер это очень простой файловый сервер. В своей основной версии TFTP использует 512-байтные блоки данных, которые крайне неэффективны. Bootix TCP/IP Bootprom и PXE Bootrom предоставляют использование расширенных блоков (1408 байт), которые значительно ускоряют передачу. Однако, это может работать только с расширенным TFTP сервером
В Windows NT мы подразумеваем использование Intel TFTP сервера, доступного из
Intel PXE Product Development Kit for Windows. Вы можете найти этот PDK на
http://developer.intel.com/ial/wfm/tools/pxepdk20/index.htm
.
Важное замечание: если вы планируете использовать Intel TFTP на Windows NT,
не забудьте переименовать ваш BpBatch загрузчик с bpbatch.P на bpbatch.B.
Это предпишет BpBatch использовать Intel-совместимые опции TFTP.
Intel PXE PDK также включает оценочный код PXE Bootrom для Intel EPRO100 серии сетевых адаптеров, вместе с необходимой флеш-утилитой для программирования bootrom с последним выпуском PXE.
В Linux, вы можете использовать tftp демон, включенный в большинство дистрибутивов,
но вы не будете иметь никакой поддержки для расширенного TFTP режима (1408 байтовые пакеты).
Мы советуем получить расширенный Bootix TFTP сервер, доступный в нашей дистрибутивной директории (
http://cuiwww.unige.ch/info/pc/remote-boot/soft/
),
имя файла incomtftpdlx.tar.gz
.
В Solaris, вы можете использовать расширенный Bootix TFTP сервер,
также доступный в нашей дистрибутивной директории (имя файла incomtftpdsun.tar.gz
).
Другой возможный выбор: Джон Мартин (John Martin) (j.martin@abdn.ac.uk
) портировал Linux
tftpd
для Solaris. Вы можете получить его из
http://www.csd.abdn.ac.uk/~jmartin/tftpd.tar.gz
.
Если вы предпочтете использование стандартного демона TFTP, удалите символ P
во всех расширениях
имен загрузочных образов, для того, чтобы указать Bootprom использовать только стандартный TFTP порт.
(Этот трюк был введен фирмой Bootix для TCP/IP Bootprom. Мы по-прежнему используем это как легкий способ
выбора порта TFTP по умолчанию для PXE Bootrom. )
Итак, если вы планируете использование стандартного TFTP сервера, удалите расширения имен файла
загрузчика BpBatch (например bpbatch). Если вы планируете использование Bootix TFTP сервера с поддержкой
1408 байтовых пакетов на порту 59, имя файла вашего загрузчика должно иметь расширение P
. И наконец,
если вы планируете использование Intel TFTP сервера (или один из Bootware), переименуйте ваш загрузчик
в bpbatch.B
.
В начале мы установим часть, общую для всех операционных систем, например интерпретатор пакетного файла. Затем, для каждой операционной системы мы пройдем следующие шаги:
Наши примеры подразумевают, что вы имеете жесткий диск объемом 1,4 Гб или более. Если вы имеете меньший диск, уменьшите размер разделов, но помните, что вы должны оставить несколько сотен мегабайт нераспределенного пространства (это означает, что последний раздел не должен доходить до последнего цилиндра) чтобы оставить место для специального кэш-раздела. Более того, этот кэш всегда начинается на цилиндре, следуещем за последним распределенным, так, если вы не используете один и тот же суммарный размер для всех ваших тестов, вы будете загружать несколько раз одни и те же файлы (кэш будет автоматически очищаться).
Не отчаивайтесь. Если вы не можете заставить это заработать, во-первых посмотрите в секции
Troubleshooting, возможно ваша проблема уже решена (получите последнюю версию из Web).
Затем, посмотрите на форуме BpBatch. Возможно, кто-то другой имел ту же проблему, и его ответ
может быть найден на этом форуме. URL форума :
http://cuiwww.unige.ch/info/pc/remote-boot/forum/
.
Если это все еще не работает, подумайте о наблюдении за сетевым траффиком для разрешения проблем
с сетью (используйте tcpdump
в Linux или snoop
в Solaris) Если вы действительно
не можете заставить это заработать, вы можете отправить E-mail на support@bpbatch.org
. Если ваша проблема
прямо относится к конфигурации удаленной загрузки, мы попытаемся решить вашу проблему.
Получите програмное обеспечение BpBatch
либо как .zip
, либо как tar.gz
.
Исполнимые файлы доступны на
http://cuiwww.unige.ch/info/pc/remote-boot/soft/bpb-exe.zip
.
http://cuiwww.unige.ch/info/pc/remote-boot/soft/bpb-exe.tar.gz
. В директории /tftpboot
на сервере, разместите следующие три специальных загрузочных
образа, которые вместе образуют наш предзагрузочный интерпретатор пакетных файлов (в следующих строках,
мы используем bpbatch.P
как имя загрузочного образа. Если вы не используете Bootix TFTP сервер,
переименуйте имя загрузчика либо в bpbatch
(стандартный TFTP), либо в bpbatch.B
(Intel/Bootware TFTP сервер)):
bpbatch.P
, динамический загрузчик (сохраните регистр и прочитайте секцию
о TFTP сервере для выбора соответствующего расширения). bpbatch.ovl
, перемещаемый загрузчик.bpbatch.hlp
, файл он-лайновой помощи."bpbatch.P"
. Определите опцию поставщика
155 (десятичное) со значением "-i"
(для стандартного DHCP сервера, это делается следующей командой: option option-155 "-i";
).
Это интерпретируется bpbatch
как командная строка, и -i
означает "интерактивный".
Загрузите клиентский компьютер. Вы должны на короткое время увидеть:
DHCP
, пока клиент ожидает ответ DHCP.TFTP
, пока клиент ожидает первый TFTP пакет.Loading BpBatch
пока загрузчик загружает интерпретаторhelp
.
Заметьте, что вы можете запустить тот же самый интерпретатор с DOS и Linux при помощи программы
MrBatch
. При этом имеется очень мало различий (Linux версия не имеет графической поддержки
и DOS версия может только отправлять BOOTP и TFTP запросы, если Bootrom не скрыт операционной системой).
Может быть хорошей идеей прочитать сейчас секцию о синтаксических правилах BpBatch и в особенности параграфы в File References и в The Cache Filesystem. Это поможет вам понять примеры.
Как только все операционные системы будут установлены, вы сможете сделать меню, дающее пользователям возможность выбора желаемой ОС. Вы должны быть способны обнаружить сами, как сделать такое меню. Все необходимые команды описаны в конце этого документа.
Попытайтесь напечатать LogVars
. Вы получите около тридцати перечисленных переменных.
Приближенно, первые - установки BpBatch, затем следуют все параметры, выделенные из ответа BOOTP/DHCP,
и последняя переменная - список размеров дисков, в мегабайтах.
Напечатайте GetPartitions part
, затем LogVars
снова. Появиться еще одна
переменная, содержащая список определенных разделов на вашем первом жестком диске. Подразумевается,
что первый раздел BIGDOS, FAT32 или LINUX-EXT2, попробуйте LogDir "{:1}"
чтобы
получить содержимое корневого каталога, затем LogDir "{:1}/usr"
если имеется
usr
каталог. Вы можете даже попытаться LogTree "{:1}/etc"
чтобы получить дерево каталогов.
Разместите GIF файл (формат GIF-87a, с чередованием, или нет, но НЕ GIF-89a) на вашем TFTP
сервере. Мы предполагаем, что этот файл называется image.gif
.
Вы можете копировать его откуда хотите с помощью следующей команды: Copy "image.gif" "{:1}/temp/image.gif"
. Или вы можете использовать его
непосредственно с сервера. Теперь напечатайте Logvars "V*"
и посмотрите
значение переменной VESA
. Если она установлена в On
, что
наиболее вероятно, это означает, что вы имеете VESA-совместимый видео адаптер.
Вы можете получить список возможных видеорежимов, используя команду Echo ""
.
Чтобы показать ваше изображение, попробуйте следующую команду: DrawGif "image.gif"
. Это изображение появится в верхнем левом углу экрана. Вы можете нарисовать это в другом месте,
определяя X и Y координаты после имени изображения. Вы можете нарисовать текст командой
DrawText 200 200 "Hello world" yellow
. Или нарисовать пустое окно командой
DrawWindow 200 200 300 150
. Чтобы вставить заголовок, когда вы создаете новое окно,
пробуйте DrawWindow 200 200 300 150 "My Window"
.
Когда вы устанете от графического режима, просто напечатайте CloseGraph
.
Замечание о графике: по умолчанию, все графические процедуры работают в VESA режиме 800x600 (с 256 цветами), который является первым полем в переменной VESA-Modes. Если вы хотите использовать другой видеорежим, измените эту переменную таким образом, чтобы требуемый видеорежим был первым полем в списке.
Теперь возьмите текстовый редактор, и создайте файл с именем test.bpb
в директории
tftpboot
со следующим содержанием:
:again
DrawWindow 150 200 400 160 "Identity check"
TextAttr Black LightGray
At 15,20 Print "Username : "
Input username 8
At 17,20 Print "Password : "
Getpasswd userpass 8
if "" != "smith" goto again
if not "" match-passwd "BpR8oiIlRR9bo" goto again
clear
DrawWindow 200 200 150 100 green blue "Congratulations"
DrawText 220 250 "You got it !" yellow
WaitForKey 3
CloseGraph
interact
В вашей конфигурации BOOTP/DHCP, измените опцию 155 с "-i"
на "test"
, и перегрузите клиентский компьютер. Этот небольшой скрипт запуститься
автоматически, и запросит у вас имя пользователя и пароль. Если вы не напечатаете
smith
и justdoit
, вы не сможете загрузить компьютер. Позднее вы узнаете,
как использовать Unix, NT или Radius сервер для проверки действительности пользовательского имени.
Для установки Linux, вы будете должны загрузится с дискеты, предоставляемой с дистрибутивом RedHat Linux.
BpBatch включает команду, которая может перенаправить загрузку на дискету: FloppyBoot
.
Установите RedHat Linux на вашего клиента, с сетевой поддержкой, и любыми желаемыми пакетами. Вы можете захотеть перекомпилировать ядро, чтобы улучшить взаимодействие с вашей аппаратурой, но в этом нет необходимости.
Вероятно, будет хорошей идеей включить поддержку BOOTP в ядро, так, чтобы не определять клиентский IP адрес вручную.
Чтобы уменьшать сетевую загрузку, Вы можете также захотеть установить файловый кэш для кэширования
на жестком диске файлов, загруженных посредством NFS. Прближенно, принцип файлового кэша - то, что всякий раз,
когда встречается символьная ссылка от подкаталога кэша, она заменяется своим адресатом. Если адресат -
самостоятельно подкаталог, каждый элемент подкаталога становится символьной ссылкой к исходному элементу
"чужой" файловой системы. Файловый кэш был написан Unifix GmbH, и - часть Unifix Linux 2.0. Он свободно
распространяется, и Вы можете получить необходимые файлы по адресу
http://cuiwww.unige.ch/info/pc/remote-boot/soft/filecache.tar.gz
.
Чтобы использовать файловый кэш, вы должны
patch-filecache
),
разрешите поддержку файлового кэша, через make config
или так, как Вы предпочитаете,
и перекомпилируйте ядро/sbin
./mnt/nfs
(используя mkdir
).filecache.conf
в /etc
. Этот файл содержит следующие строки:
Max 100 MB 50 % #
Cache /mnt/nfs/usr /usr
Cache /mnt/nfs/opt /opt
/usr
и /opt
на сервер, экспортируйте их только для чтения с anon=0
(для разрешения root доступа) и установите их под /mnt/nfs
(добавьте строку для этого /etc/fstab
)/usr
в /usr.orig
/usr
с /mnt/nfs/usr
/opt
в /opt.orig
/opt
с /mnt/nfs/opt
/usr
и /opt
не пусты и содержат правильные каталоги./usr.orig
и /opt.orig
.filecache.init
в /etc/rc.d/init.d
./etc/rc.d/rc3.d/S35filecache
с /etc/rc.d/init.d/filecache.init
.Копируйте ваш сжатый образ ядра (zImage
, bzImage
, vmlinuz
или так, как вы его назвали) в каталог /tftpboot
на сервере как linux.krn
.
Если вы должны были отключить bootprom от PC, можете теперь включать его снова.
Когда BpBatch
запуститься, напечатайте LinuxBoot "linux.krn" "root=/dev/hda1 BOOT_IMAGE=linux"
(предполагается, что корень ext2 файловой системы находится на первом разделе). Альтернативно, если
вы установили вашу конфигурацию на компьютере без bootrom, пусть он загружается при помощи загрузчика,
который вы установили (lilo, ...). Но в последнем случае, если вы хотите, чтобы файловый кэш работал,
вы должны иметь явно установленное ядро с поддержкой файлового кэша в правильном месте.
Ждите, пока система не будет готова. Если вы установили файловый кэш, можете отметить,
что /usr
раскрылся в каталог с некоторым символьными ссылками и некоторыми уже раскрытыми каталогами.
Теперь запустите программы, которые конечные пользователи будут использовать большую часть времени,
чтобы загрузить их раз и навсегда на жесткий диск.
Вы можете все еще делать добавления к вашей конфигурации, так же, как на любой автономной linux станции.
Когда вы удовлетворены вашей конфигурацией, войдите как root
,
перейдите к /tmp
каталогу, и выполните нашу mrzip
программу.
MrZip
- интерпретатор команд, подобный BpBatch
,
но он может понимать большее количество команд чем BpBatch
.
В частности он может понимать следующие команды:
showlog
filter -"tmp/*"
filter -"var/log/*"
fullzip "/" "/tmp/linux.imz"
Следующие команды создадут дисковый образ в /tmp/linux.imz
. Переместите его в каталог
/tftpboot
на сервере. Затем копируйте следующий пакетный файл в /tftpboot/linux.bpb
:
hidelog
setpartitions "linux-ext2:992 linux-swap:32"
fullunzip "linux.imz" 1
clean 2
linuxboot "linux.krn" "root=/dev/hda1 BOOT_IMAGE=linux"
Параметр BOOT_IMAGE
остается для совместимости с lilo
для
RedHat 5.1 и последующего rc.sysinit
.
Ваша конфигурация удаленной начальной загрузки linux готова! Вы можете теперь или устанавливать
BOOTP-OPTION-155 в "linux"
, или напечатать include "linux.bpb"
из BpBatch, чтобы проверить это.
Если Вы хотите позже модернизировать программное обеспечение, устанавливать исправления ошибок, исправления защиты, проделайте следующее:
На клиентском компьютере, загрузитесь с вашей первичной DOS дискеты (либо удалите bootrom, либо
напечатайте FloppyBoot
в BpBatch).
Форматируйте раздел dos на вашем жестком диске с опцией /S
для размещения операционной системы на нем. Размер этого раздела не важен, поскольку
дисковые архивы, создаваемые MrZip
файл-ориентированные, и поэтому не зависят от размера раздела.
Создайте DOS
директорию, копируйте DOS в нее. Установите ваш первичный сетевой клиент
(например Microsoft LanManager), Windows 3.1, и все остальное. Если вы используете Microsoft LanManager,
не используйте DHCP для IP конфигурации, поскольку это очень плохая реализация, которая почти наверняка
потерпит неудачу с реальной сетевой загрузкой. Чтобы сделать это, добавьте следующие строки в ваш файл
protocol.ref
в секцию, которая загружает tcptsr
(конечно, замените xxx
вашими реальными IP параметрами):
IPADDRESS0 = xxx xxx xxx xxx
SUBNETMASK0 = 255 255 xxx xxx
DEFAULTGATEWAY0 = xxx xxx xxx xxx
DISABLEDHCP = 1
Не бойтесь использовать EMM386 для оптимизации использования памяти, и даже включить область,
занимаемую ПЗУ вашей сетевой карты, поскольку она не используется в это время. Но осторожно
исключите ОЗУ сетевой карты, иначе вы несможете соединится с вашим сервером. Используйте
NOEMS
параметр.
Если вы хотите быть уверены, что клиентский компьютер не сможет использоваться без
действительного имени пользователя, воспользуйтесь нашим nobreak
псевдо-драйвером, (доступным на
http://cuiwww.unige.ch/info/pc/remote-boot/soft/nobreak.zip
)
и запустите его в начале вашего
config.sys
. Затем добавьте что-то подобное этому в ваш autoexec.bat
:
rem -- Мы используем файл c:\logged как признак del c:\logged >nul
:loginneeded
cls
echo Please type in your login name and password
echo.
net logon *
rem -- Сценарий входа должен создавать файл c:\logged
if not exist c:\logged goto loginneeded
del c:\logged
rem -- теперь снова разрешим break echo Yes >NOBRK
Убедитесь, что ваш клиент загружается нормально, перегрузите клиента и оцените следующие команды
в интерактивном режиме BpBatch
:
HideBootprom
HdBoot
ПК загрузится с жесткого диска, как если бы BpBatch не был виден.
На сервере создайте разделяемый ресурс, называемый, для примера admin
, в который
вы будете помещать некоторые вещи для администрирования системы. Если сервер это Unix машина,
имеется удобная возможность разместить в admin
ссылку на директорию /tftpboot
так, что вы сможете размещать образы в ней прямо с клиента. В директории admin
, создайте поддиректорию /utils
и разместите в ней следующие
файлы:
mrbatch.exe
, DOS версию BpBatch
.mrzip.exe
, DOS версию программы для построения образа диска.bpbatch.hlp
, он-лайновый файл помощи.zipdos.mrz
, который содержит команды, необходимые для формирования образа
DOS, подобно этому:
showlog
filter -"lanman.dos/lmuser.ini"
filter -"temp/*"
filter -"*.swp"
fullzip "c:/" "L:/tftpboot/dos.imz"
Теперь возвратитесь к вашему клиенту, смонтируйте том admin
на диск
L:
, перейдите к вашему каталогу utils
и напечатайте следующую команду:
mrzip -b zipdos
Минутой позже, вы будете иметь новый файл в подкаталоге
/tftpboot
на сервере, называемый dos.imz
, который является сжатым образом
вашего жесткого диска. Копируйте следующий пакетный файл в /tftpboot/dos.bpb
:
hidelog
setpartitions "bigdos:1024"
setbootpart 1
fullunzip "dos.imz" 1
hidebootprom
hdboot :1
Ваша конфигурация с удаленной начальной загрузкой DOS готова! Вы можете теперь или устанавливать
BOOTP-OPTION-155 в "dos"
, или напечатать include "dos.bpb"
из BpBatch, чтобы проверить это.
Если вы хотите настроить некоторые установки в соответствии машине, обычно IP параметры настройки,
поскольку Micro DHCP насыщена ошибками, вы можете установить BpBatch
так, чтобы
изменять некоторые файлы перед загрузкой. Сначала перейдите в lanman.dos
каталог,
и дайте команду
copy *.ini *.ref
Затем отредактируйте .ref
файлы, и замените все фиксированные параметры с BOOTP
именами переменных, как в следующих примерах:
computername = ipaddress0 = subnetmask0 = defaultgateway =
Затем перестройте дисковый образ как указано ранее. Обратите внимание, что для параметров IP,
мы не используем BOOTP переменные непосредственно, потому что в этом случае LanManager нуждается
в числах, разделенных запятыми взамен чисел, разделенных точками. Измените dos.bpb
в соответствии со следующим:
hidelog
setpartitions "bigdos:1024"
setbootpart 1
fullunzip "dos.imz" 1
set MS-IPAddress=""/.= /
set MS-IPSubnet=""/.= /
set MS-IPRouter=""/.= /
patch "{:1}lanman.dos/protocol.ref" "{:1}lanman.dos/protocol.ini"
patch "{:1}lanman.dos/tcpputils.ref" "{:1}lanman.dos/tcputils.ini"
patch "{:1}lanman.dos/lanman.ref" "{:1}lanman.dos/lanman.ini"
hidebootprom
hdboot :1
Если вы предпочитаете, вы можете также помещать .ref
файлы в каталог /tftpboot
на сервере вместо его помещения в дисковый образ.
Мы предпочитаем иметь возможность легко изменять конфигурацию компьютеров без перестройки
образа. Чтобы сделать это, копируйте ваш autoexec.bat
и config.sys
как autoexec.ref
и config.ref
в /tftpboot
на сервере, и добавьте следующий две строки к пакетному файлу выше:
patch "autoexec.ref" "{:1}autoexec.bat"
patch "config.ref" "{:1}config.sys"
Вы можете тогда свободно изменять файлы и даже настраивать их с машинно-зависимыми значениями,
полученными от BOOTP.
После создания любых изменений в конфигурации клиентской машины, не забудьте восстанавливать
дисковый образ, используя mrzip
, если вы хотите сохранить ваши изменения.
Если вы позже хотите добавить новое программное обеспечение или изменять что - нибудь еще, проделайте следующее:
В предыдущей версии данного документа мы использовали серверную инсталляцию Windows 95/98 от Microsoft, но это было действительно большое страдание и небольшой выигрыш:
http://cuiwww.unige.ch/info/pc/remote-boot/win95old/win95old.html
)
и переключились на нашу новую концепцию диск-ориентированной удаленной загрузки. В основном, конфигурация
для Windows 95/98 теперь почти также проста, как конфигурация для DOS.
Установите обычного клиента Windows 95/98, либо стартовав с временного места как объяснено в конфигурации DOS клиента, либо стартовав из DOS клиента и инсталлируя через сеть (по вашему желанию). Вы также можете стартовать с предустановленной Windows машины, но вы вероятно будете иметь меньше информации о том, что находится на вашем жестком диске.
Проделайте все, что описано выше для DOS клиента. Обычно нет необходимости использовать EMM386 с
Windows 95/98. Если вы используете Windows 98 или Windows 95 OSR2 (псевдонимы: MSWIN 4.1, Windows 95
service pack 1, Windows 95 with Internet Explorer), вам нужно добавить следующую строку в секцию
[Options]
файла
MSDOS.SYS
(да, это текстовый файл):
AUTOSCAN=0
Это даст Windows знать, что вы не хотите автоматически запускать ScanDisk при загрузке.
Если вы хотите уменьшить загрузку сети и сервера (что повысит производительность вашей системы) пока
все программное обеспечение сохраняется на сервере, вы можете установить превосходный Shared LAN Cache
от Measurement Techniques, Inc (смотрите
http://www.lancache.com
). Это программное обеспечение запускается на каждом клиентском компьютере и кэширует на локальном жестком
диске все данные, получаемые из сети. Даже MS Office стартует быстрее , когда вы его запускаете во
второй раз. Вам нужна одна лицензия на клиентский компьютер, но это не очень дорого, и фирма предлагает
специальные цены для университетов и колледжей. Лучший способ сделать это - посетить их Web сайт и
загрузить свободную оценочную копию.
В этой точке, если вы используете сервер Samba, вам, возможно, придется отключить кодирование паролей,
чтобы иметь возможность смонтировать позже том admin
. Вы можете делать это, добавляя ключ
системного реестра EnablePlainTextPassword
формата DWORD со значением 1 в разделе
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
Ваш MrZip сценарий будет назван zipwin.mrz
и будет содержать:
showlog
filter -"windows/schedlog.txt"
filter -"windows/msimgsiz.dat"
filter -"*/index.dat"
filter -"*.swp"
filter -"*.tmp"
filter -"temp/*"
fullzip "c:/" "L:/tftpboot/win.imz"
Чтобы построить образ, смонтируйте том admin
как диск
L:
, перейдите в ваш каталог utils
и наберите следующую команду:
mrzip -b zipwin
Через несколько минут, вы будете иметь новый файл в подкаталоге /tftpboot
на сервере, названный win.imz
, который является сжатым образом вашего
жесткого диска. Если ваш сжатый образ был больше чем 87 МБ, вероятно, он будет разбит на два или
больше фрагмента. Эти фрагменты будут автоматически загружены один за другим когда необходимо. Обратите
внимание, что образ больше чем 87 МБ будет обычно требовать для загрузки больше одной минуты для распаковки
и может раздражать ваших пользователей. Наш образ Windows 95/98 - величиной только 70 МБ, потому что
большинство программных средств установлено на сервере и загружается только по требованию. Имеется
только небольшое количество программного обеспечения, которое вы действительно должны установить
локально. Если вы заботитесь об этом так же, как и мы, вы должны суметь распаковать образ и восстанавливать
весь диск меньше чем за одну минуту.
Копируйте следующий пакетный файл в /tftpboot/win.bpb
:
hidelog
setpartitions "bigdos:1024"
setbootpart 1
fullunzip "win.imz" 1
hidebootprom
hdboot :1
Ваша конфигурация Windows 95/98 с удаленной начальной загрузкой готова! Вы можете теперь либо
установить BOOTP-OPTION-155 в "win"
, либо набрать include "win.bpb"
из BpBatch, чтобы проверить это.
Большое различие между Windows 3.1 и Windows 95/98 - то, что последний включает код для Plug-and-play, то есть автоматического обнаружения ваших аппаратных средств. Это не плохая вещь сама по себе, но неприятность состоит в том, что она зачастую слишком чувствительна, и поэтому иногда приводит к ошибкам.
Если вы пытаетесь запустить другого клиента с точно таким же образом начальной загрузки, вероятно вы получите несколько сообщений в течение запуска, сообщающих о том, что Windows обнаружила новые аппаратные средства: новая звуковая плата, новый жесткий диск, новая сетевая плата, и даже новая мышь ... Для этого может быть две причины:
Сетевая плата - это тот элемент, которого вы не можете избежать в различиях между компьютерами. PCI платы обычно не мешают, проблемы возникают с ISA plug-and-play . Беда в том, что код plug-and-play для нашей SMC EtherEZ платы "подвешивает" компьютер. Единственное решение состоит в том, чтобы позволить Windows 95/98 считать, что она уже "знает" сетевую плату, и нет необходимоcти обращаться к plug-and-play. Уловка состоит в том, чтобы автоматически вставить элемент для сетевой платы в системный реестр Windows 95/98 перед ее стартом. Обратите внимание, что этот трюк больше не нужен с большинством PCI плат.
Переместите autoexec.bat
на сервер как описано выше для DOS. Отредактируйте его (на сервере)
и добавьте следующие строки:
rem --- Patch Windows registry in order to avoid plug-and-play detection
regedit /L:c:\windows\system.dat /R:c:\windows\user.dat c:\temp\patch.reg
Regedit
- стандартная программа Windows, которая позволяет вам просматривать системный
реестр, если вы запускаете ее из Windows, или позволяет выполнять простые операции с системным реестром,
если Вы вызываете ее из DOS. Запустите regedit
под Windows, найдите вашу сетевую плату,
обычно под
HKEY_LOCAL_MACHINE\Enum\ISAPNP
И экспортируйте эту ветвь, используя меню File. . Это создаст текстовый файл, который вы должны
разместить как patch.ref
в каталог /tftpboot
на сервере.
Отредактируйте этот файл, и выясните, где сохранен MAC-адрес платы (сделайте это на двух различных
машинах, и сравните файлы, если вы не можете найти его самостоятельно). Замените их образцом в форме
.
Затем добавьте строки в сценарий win.bpb
подобно этому:
set macid = ""
patch "patch.ref" "{:1}temp/patch.reg"
(проделайте все необходимые манипуляции со строками для установки MACID, если это не точно
MAC-адрес клиента). Это - все, ваши клиенты больше не должны пытаться определять сетевую плату.
Отметим еще раз, в целом это не нужно при использовании PCI сетевых адаптеров. Кстати, мы можем
использовать тот же самый механизм для автоматически конфигурирования имени хоста, которое Windows,
по-видимому, не принимает во внимание при конфигурировании через DHCP. Мы только добавляем следующую
строку к нашему patch.ref
файлу:
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
"ComputerName"=""
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP]
"HostName"=""
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\ComputerName\ComputerName]
"ComputerName"=""
Используя этот несложный трюк с системным реестром, ваша конфигурация обычно должна быть переносима на все машины с подобными конфигурациями. Если Вы не можете избежать того, что Windows обнаруживает некоторые аппаратные средства как новые на одной из машин, попытайтесь перестроить дисковый образ с этой машины. Новый образ будет включать конфигурацию системного реестра, определенную для этой машины, что надежно решит проблему
Если вы позже захотите модернизировать программное обеспечение, установить исправления ошибок и исправления защиты, проделайте следующее:
Мы не используем Windows NT для клиентских компьютеров с удаленной начальной загрузкой, но мы проверили нашу систему, чтобы гарантировать, что это также работает. И это работает.
Поскольку наши утилиты в настоящее время не поддерживают NTFS (мы не имеем ни документации, ни времени, чтобы сделать это, но я был бы счастлив помочь любому, кто заинтересован в этом), вы должны будете установить NT на FAT16 (просто не конвертируйте ваши разделы в NTFS при установке)...
Скопируйте ваш сценарий начальной загрузки win.bpb
в winnt.bpb
.
Измените setpartitions
строку в winnt.bpb
следующим образом:
setpartitions "BIGDOS:512 BIGDOS:512"
Затем загрузите Windows, используя этот сценарий, и установите вашего NT клиента на диске C. Не
волнуйтесь пока относительно второго раздела. Не устанавливайте слишком много компонентов, иначе вы
получите большой и медленно распаковывающийся образ. Удалите Windows с диска C, послольку вы не
нуждаетесь в этом при использовании Windows NT образа (меню начальной загрузки обрабатывается bootrom,
а не загрузчиком NT).
Перезагрузите ваш компьютер, не переписывая жесткий диск, то есть не выполняя winnt
сценарий, только
hidebootprom
hdboot
Ваша NT станция должна стартовать правильно. Сделайте любую необходимую настройку.
Неприятность с Windows NT состоит в том, что прямой дисковый доступ запрещен ядром. Это означает,
что MrZip
даже не будет способен читать загрузочные секторы. Лучший способ построить
образ состоит в загрузке Windows 95/98 и выполнении MrZip
из окна DOS. Чтобы сделать это, измените winnt.bpb
сценарий так, чтобы образ Windows
был восстановлен не на первом, а на втором разделе:
hidelog
setpartitions "BIGDOS:512 BIGDOS:512"
setbootpart 2
fullunzip "win.imz" 2
hidebootprom
hdboot :2
(Если Вы имеете любую дополнительную заплату, замените "{:1}"
на
"{:2}"
). Загрузившись с этим сценарием, вы получите работающую Windows, но новый диск
D:
должен быть доступен, и содержать Windows NT.
Постройте ваш дисковый образ как обычно (но диска D:
, конечно), и сохраните его как
winnt.imz
в каталоге /tftpboot
на сервере.
Отредактируйте в последний раз winnt.bpb
сценарий подобно этому:
hidelog
setpartitions "BIGDOS:512 BIGDOS:512"
setbootpart 1
fullunzip "winnt.imz" 1
clean 2
hidebootprom
hdboot :1
Ваш конфигурация Windows NT с удаленной начальной загрузкой готова. Конечно, если Вы не хотите иметь
два раздела, Вы можете установить один раздел вместо этого. Но когда вы соберетесь перестроить образ,
вы будете должны будете снова установить второй раздел для загрузки Windows 95.
Если вы захотите позже модернизировать программное обеспечение, установить исправления ошибок и защиты, проделайте следующее:
winnt.bpb
: закомментируйте clean
и fullunzip
, "winnt.imz" снимите комментарий с fullunzip
"win.imz".Эта секция содержит наиболее часто встречающиеся проблемы.
Вероятно, вы используете стандартный TFTP сервер, и он не может обработать более чем 65535 пакетов по 512 байт (или даже 32767 пакетов для Solaris сервера) Если так , ваш образ должен быть фрагментирован на части не более 30 МБ (или 15 Мб для Solaris) Смотрите ниже CopyArchive для инструкций по фрагментации существующего образа. Если вы используете стандартный сервер, вы должны согласиться инсталлировать Bootix или Intel TFTP сервер. Смотрите следующий вопрос об этом сервере
Это проблема TFTP. Расширение имени файла вашего загрузчика должно быть соответственно установлено
(читает раздел относительно TFTP серверов). Если вы используете Bootix TFTP сервер с
-s 1408 59
опцией, ваш загрузчик должен быть назван bpbatch.P
.
Если вы используете Intel или Bootware TFTP сервер с поддержкой опции TFTP blksize, переименуйте
ваш загрузчик в bpbatch.B
. Наконец, если вы используете стандартный TFTP сервер, переименуйте
ваш загрузчик в bpbatch
(без расширения). В этом последнем случае BpBatch будет использовать
512-байтовые пакеты вместо 1408-байтовых. Это ограничит размер фрагментов до 32МБ (внутреннее TFTP
ограничение) вместо 87МБ. См. выше вопросы для проблем относительно 512-байтовых пакетов.
Имеются три возможных причины. Или образ действительно разрушен на сервере (попытайтесь использовать MrZip, чтобы видеть, имеет ли это место), или передача файла потерпела неудачу из-за TFTP таймаута, или из-за несовместимого протокола.
TFTP таймаут происходит, когда сеть сильно загружена (например, если ы пытаетесь загрузить
огромный образ более чем четырьмя клиентами одновременно). В этом случае, BpBatch
не делает бесконечных попыток, потому что это не помогло бы. Выключите несколько компьютеров и
попытайтесь снова с не более чем четырьмя компьютерами (или возможно даже тремя). Если вы часто должны
загружать образы на большое количество компьютеров, вы можете опробовать наш специальный Broadcast TFTP
сервер (см. раздел, посвещенный этому).
Ошибка несовместимости протоколов вызвана использованием стандартного TFTP сервера (обычно встроенного на вашем UNIX сервере) в то время как BpBatch запрашивает работу с расширенным TFTP. Если вы используете стандартный TFTP сервер, вы должны удалить .P расширение (см. объяснение в следующем вопросе).
Если вы используете Bootix TFTP сервер,
пробуете добавить -s 1408 59
к командной строке. Если Вы не используете расширенный TFTP
сервер, удалите .P
расширение из имени файла BpBatch на сервере и в файле bootptab
.
Детальное объяснение: эта проблема происходит, если вы не установили расширенный TFTP сервер, но
использовали bpbatch.P
как значение имени файла начальной загрузки DHCP/BOOTP. BpBatch
будет в действительности пытаться подключиться к Bootix TFTP серверу, когда имя файла начальной загрузки
заканчивается расширением .P
. Чтобы решить эту проблему, вы можете или удалить .P
расширение в конце имени файла начальной загрузки (это предпишет BpBatch использовать стандартный TFTP)
или устанавить расширенный TFTP сервер. Альтернативно, вы можете устанавить Intel TFTP сервер и
переименовать загрузчик в bpbatch.B
. Обратите внимание: для Bootix TFTP сервера, чтобы должным
образом работать с расширенными возможностями TFTP, вы должны добавить -s 1408 59
к
командной строке.
Возможно, ваш компьютер имеет плохую
поддержку VESA. Попробуйте дать параметр командной строки -v или устанавить VESA переменную в "OFF"
.
Мы используем VESA 1.1 функцию для прокрутки. Если ваш видеоадаптер не поддерживает 1.1 VESA, забудьте об этом. Если прокрутка выполняется для одной страницы, а затем воспроизводит странный рваный шаблон, не волнуйтесь. Это - известная ошибка, я буду устранять ее, как только буду иметь время для этого (VESA прокрутка не столь необходима ...).
Когда файл в кэше разрушается внешней программой,
он автоматически удаляется из кэша. Когда файл в кэше записан не полностью (если компьютер был выключен
в течение передачи файла), он также автоматически удаляется. Но если сервер передает разрушенный файл
или если передача прерывается со стороны сервера, возможно, что этот файл останется в кэше. Вы можете
очистить кэш просто держа обе клавиши SHIFT нажатыми в то время как BpBatch
обращается
к кэшу впервые. Альтернативно, вы можете испытать clean -1
в диалоговом режиме.
Это - не ошибка. Выход - не команда. Не имеется никакой команды выхода, потому что нет никакого смысла выйти из сценария начальной загрузки без загрузки. И MrBatch - действительно та же самая программа как BpBatch. Что Вы можете делать, так это вызывать HdBoot вместо этого. Это имеет смысл, и версия DOS чисто выйдет вместо перезагрузки. Обратите внимание, что Вы можете выйти из DOS в любое время, нажимая Ctrl-Break. Это восстановит все перехваченные прерывания перед оставлением.
Если вы пробуете напечатать что-то и немедленно перейти в
диалоговый режим, вы не сможете увидеть ваш текст. Это происходит потому, что ваш текст был написан на
runtime экране, а команда Interact
переключила дисплей на экран Log.
Достаточно поместить GetKey
после команд печати, и вы увидите напечатанный текст.
Malloc failed
MrZip нуждается в достаточном количестве
обычной памяти для выполнения. Если вы сталкиваетесь с этой проблемой, сначала убедитесь, что вы
выгрузили bootrom либо использовав команду HideBootprom
либо использовав Bootix's bputil
.
Если вы выполняете MrZip из чистого MS DOS (не из DOS-сессии Windows 95/98), вы должны использовать
EMM386, чтобы загрузить сетевые драйверы в верхнюю память, чтобы максимально возможный
объем обычной памяти. Из окна DOS-сессии Windows обычно не встречается никаких проблем (если вы не
оставили ваших старых 16-разрядных драйверов в вашем autoexec.bat
, когда устанавливали
Windows).
Эта ошибка уже была устранена однажды. Получите
самый последний выпуск MrZip
. Если проблема сохраняется, попытайтесь построить ваш образ с
переменной Trace
установленной в "ON"
(и обычно PauseLog
установленной в "OFF"
); это позволит вам обнаружить, какой файл вызывает эту проблему.
Пришлите детальное сообщение об ошибке.
MrZip вероятно пробует прочитать блокированный,
открытый или специальный файл, например файл подкачки Windows. Такие файлы не должны обычно включаться
в образ и должны быть отфильтрованы (использованием команды filter
).
Также возможно, что операционная система обманывает вас. Если MrZip не сообщает вам, какой файл вызывает
проблему, попытайтесь построить ваш образ с переменной Trace
установленной в "ON"
(и обычно PauseLog
установленной в "OFF"
).
Вы можете также попробовать использовать прямой дисковый доступ (то есть обращаться к исходному разделу не
как к "C:"
или "/"
, а как к "{:1}"
каким бы ни был этот раздел).
Использование прямого дискового доступа обычно медленнее, потому что мы имеем меньшее количество буферов
чем операционная система, но это может быть иногда более надежно.
Дисковые образы сохраняются в специальной области кэша и не должны быть перезагружены, если они не изменились на сервере. Однако, поскольку область кэша всегда начинается после последнего используемого раздела, изменение полного размера разделов переместит расположение кэша и таким образом уничтожит его содержимое. Другая возможная причина исчезновения файла из кэша - то, что предыдущий файл вырос больше чем в полтора раза от своего начального размера. Этот файл мог бы быть перезаписан и требует повторной загрузки. Это почти никогда не должно происходить. Третья возможная причина - слишком маленькая область кэша. Если свободное пространство, оставленное вне разделов - меньше чем в полтора раза превышает сумму размеров всех сжатых образов, только последние использовавшиеся образы будут присутствовать в кэше, а другие должны будут перезагружаться по требованию.
Этот дистрибутив предполагает, что
Linux был загружен используя lilo
и проверяет BOOT_IMAGE
параметр командной
строки (в /etc/rc.d/rc.sysinit
). Просто добавьте это в вызове linuxboot
или
измените ваш rc.sysinit
.
Linux DHCP клиент - программа, которая динамически изменяет адрес IP клиента в соответствии с предложением DHCP. Если адрес предоставляется навсегда (неограниченное время аренды), DHCP клиент только устанавливает адрес, и возвращается (это - то, что мы ожидаем). Однако, если время аренды ограничено, DHCP клиент должен остаться загруженным и просить о новых адресах каждые несколько минут. И если DHCP клиент не возвращается, MrBatch никогда не будет загружен ... Решение состоит в том, чтобы предоставить неограничное время аренды (иногда кодируется как -1).
Эта проблема проиходит на AMI BIOS датированной 94/07/25. Мы исследовали немного, и не нашли никакого решения. Кажется, что эта проблема из-за ошибки в этой BIOS (некоторый регистр, или расположение памяти должно быть разрушено).
Эта проблема была связана с PXE совместимостью, но теперь она устранена. Пожалуйста получите самую последнюю версию.
Эта проблема была устранена в версии MrBatch/MrZip от 9-ого августа. Имелась проблема с новой версией ncurses, которая была выпущена с RedHat 5.1.
MrZip был связан с
версией 3.0 libncurses. Вы можете использовать другие версии libncurses только, если они более новые
чем версия 3.0. Чтобы использовать более новый libncurses, все, что вы должны cделать - это создать
символьную ссылку от libncurses.so.3.0 до вашего libncurses.so.xx файла. С RedHat 5.1, вы можете
использовать следующую команду: cd /usr/lib ; ln -s libncurses.4.2 libncurses.3.0
Вы можете также загрузить последнюю версию mrzip/mrbatch. Начинаясь с выпуска 10/25/98, MrBatch
откомпилирован под RedHat 5.1.
Эта проблема - обратная предыдущей. Теперь, когда дистрибутив libc6 готов, он не может использоваться больше с libc5. Если вы сталкиваетесь с этой проблемой, просто модернизируете ваш Linux блок (Конечно, поскольку мы слышим слишком большое количество жалоб, мы могли бы попробовать сохранить два дистрибутива ...).
Вы должны сначала отобразить содержимое переменной VESA-Modes
, чтобы увидеть поддерживают
ли ваши аппаратные средства режим, который вы хотели бы использовать. Затем попробуйте один из этих
двух способов выбрать специальный режим VESA:
InitGraph "mode"
: Пробуйте InitGraph "1024x768", и затем выполните графический
примитив, который вас интересует (например DrawGif
).VESA-Modes
: первое поле переменной VESA-Modes
имя заданного
по умолчанию режима. Если вы изменяете переменную VESA-Modes, все графические примитивы будут
использовать режим, который вы определили.Мы исправили ошибку в функциях распределения памяти BpBatch. Вы должны удостовериться, что имеете версию BpBatch, которая была выпущен после 22-ого сентября 1998.
Мы исправили эту проблему в выпуске 09/22/1998.
Выпуск 10/25/98 исправлял проблему с большими образами. Пробуйте загрузить последнюю версию BpBatch.
Эта ошибка была исправлена в выпуске 10/25/98.
Эта ошибка была исправлена в выпуске 02/09/99.
Ваш DHCP сервер не посылает правильную опцию 135 клиенту. BpBatch использует опцию 135 как параметр командной строки. Вы можете определить "-i", если вы хотите перейти в диалоговый режим, или можете определить имя сценария, если хотите, чтобы BpBatch запустил выбранный сценарий (не включайте .bpb расширение). Если вы используете PXE Bootrom, удостоверитесь, что Вы используете опцию -135 для параметров командной строки. Опция -155 больше не поддерживается PXE 2.0 Bootrom.