Описание конфигурации

Во-первых, сделайте так, чтобы у вас под рукой было две машины:

Если вы хотите испытать эту конфигурацию, но у вас еще нет ППЗУ удаленной загрузки, то вы можете взять демонстрационную версию TCP/IP BootPROM с сайта компании InCom GmbH по адресу http://www.incom.de. При помощи этой программы, ваш компьютер будет работать так, как будто в него вставлен TCP/IP BootPROM.

Если же у вас уже есть Boot ROM, то надо его включить. Если у вас TCP/IP BootPROM фирмы Incom, то вам надо использовать специальную программу производителя вашей сетевой карты. Если же у вас PXE-совместимое ППЗУ, то надо это сделать в BIOS, сменив устройство загрузки по умолчанию.

На компьютерах студентов мы первым пунктом ставим загрузку с сети и запрещаем загрузку с винчестера или флоппи-диска. У ассистентов первым пунктом также идет сеть, затем жесткий диск и флоппи.

Конфигурирование сервера

На сервере вам понадобится настроить следующее:

  1. BOOTP/DHCP-сервер

  2. Возможно - Прокси- DHCP сервер

  3. TFTP-сервер

Замечание для пользователей PXE-совместимых BootPROM: После нескольких часов изнурительных поисков мы обнаружили, что PXE-BootPROM версии ранее 0.99 не очень точно поддерживают IP-протокол и отказываются понимать все пакеты, имеющие установленный флаг Не фрагментировать (Don't Fragment) (DF). Это означает, что вам надо на сервере запретить опцию Path MTU Discovery, или Boot ROM не увидит эти пакеты. В Solaris-е используйте команду ndd /dev/ip ip_path_mtu_discovery, чтобы узнать, включена ли эта опция, и команду ndd -set /dev/ip ip_path_mtu_discovery 0, чтобы эту опцию выключить. Однако, эти команды не работают для широковещательных пакетов (Спросите SUN, почему) Это означает, что работать будет только TFTP, но не DHCP :-(. Intel недавно исправил эту ошибку - если вы купили свой компьютер позже Июня 1998 года, то, скорее всего, у вас эта ошибка исправлена.

Настройка DHCP

Задачей DHCP-сервера является выделение клиенту IP-адреса и указание ему загрузить с TFTP-сервера файл bpbatch.P. DHCP в данном случае действует, как дополнение к протоколу BOOTP. Если вы используете TCP/IP BootPROM фирмы InCom, то вы можете обойтись без DHCP (используя старую версию BOOTP-сервера).

На Windows NT вы, вероятнее всего, будете использовать встроенный DHCP-сервер. Если у вас TCP/IP BootPROM фирмы InCom, то вам придется использовать одну хитрость, чтобы указать имя загрузочного файла (подробную информацию смотрите на веб-сайте фирмы InCom). Если же у вас PXE-совместимое ППЗУ, то вам понадобится Прокси-DHCP-сервер, но никаких дополнительных хитростей не потребуется, потому что имя загрузочного файла будет передаваться Прокси-DHCP-сервером.

В Linux лучшим будет стандартный DHCP-сервер производства Internet Software Consortium. Если у вас PXE- BootPROM, то, в дополнение к обычным опциям, вам придется указать следующее:

  • option dhcp-class-identifier "PXEClient"

  • option vendor-encapsulated-options ff;

В Solaris вы можете использовать либо тот же стандартный DHCP-сервер производства Internet Software Consortium (его можно взять на веб-сайте), или Solaris DHCP-сервер (он входит в Solaris, начиная с версии 2.5). Однако, DHCP-сервер в Solaris, по-видимому, не вставляет в ответ на DHCP-запрос идентификатор класса клиента - чтобы исправить это, вам придется использовать Прокси-DHCP-сервер. Более того, Прокси-DHCP-сервер должен находиться не на сервере, потому что родной DHCP-сервер в Solaris блокирует порт DHCP.

Мы предлагаем установить бесконечное время жизни выделенного DHCP для клиентов IP-адреса. Не забудьте, что BOOTP/DHCP-запросы ограничены внутри подсети. Если клиент и сервер находятся в разных подсетях, то вам придется установить между этими подсетями мост BOOTP/DHCP (Relay agent). С этого момента мы предполагаем, что обе машины находятся в одной подсети.

Настройка Прокси-DHCP

Прокси-DHCP-сервер предназначен для того, чтобы обойти ограничения, существующие в некоторых версиях серверов DHCP, а также реализовать специфичные для PXE дополнения протокола DHCP. Использование Прокси-DHCP-сервера имеет смысл только с PXE BootPROM.

Дополнения протокола DHCP, специфичные для PXE (меню и т.п.), вам не понадобятся, потому что это входит в возможности BpBatch. Однако, вам придется использовать Прокси-DHCP-сервер для дальнейшей работы, если ваш DHCP-сервер полностью не совместим с PXE.

На Windows NT вы можете попытаться использовать WfM PDK фирмы Intel (этот пакет есть на их веб-сайте), но это не очень просто. Мы бы посоветовали все-таки установить небольшую Linux-машину в необходимой подсети и установить на нем нашу версию прокси-DHCP. Основным плюсом нашей версии Прокси-DHCP-сервера для BpBatch является поддержка дополнительной опции производителя 155, которую BpBatch использует в качестве командной строки.

В Linux и Solaris вы можете запустить нашу Прокси- DHCP программу, которой в качестве аргументов передаются IP-адрес TFTP-сервера, имя загрузочного файла и дополнительные опции - и все остальное эта программа делает за вас. Если DHCP-порт на сервере уже используется другим демоном, то прокси-DHCP будет использовать порт 4011. В этом случае, очень важно, чтобы этот другой демон в ответе на DHCP-запрос устанавливал класс клиента в PXEClient, чтобы PXE-клиенты знали, что им надо работать через порт 4011.

На веб-сайте Intel есть полная документация по PXE расширениям протокола DHCP. Однако эти документы достаточно сложны - протокол в них разбит на несколько стадий, обеспечивая тем самым большую гибкость. Суть же состоит в том, что PXE-клиенту необходим полный расширенный DHCP-ответ. Если он получает лишь стандартный DHCP-ответ, то он продолжит поиск, пока не получит

  1. класс клиента (T60), установленный в PXEClient

  2. дополнительные опции производителя (T43) (возможно пустые, т.е. шестнадцатеричное ff)

  3. непустое имя загрузочного файла

PXE BootPROM прекратит поиск, как только получит всю необходимую информацию, но отсутствие части этой информации может привести к достаточно сложным обменам между сервером и клиентом (запустится процедура обнаружения сервера и т.п..).

Настройка TFTP

TFTP - это очень простой файловый сервер. В базовой версии TFTP данные передавались блоками по 512 байт, что достаточно неэффективно. TCP/IP BootPROM фирмы Incom и PXE-BootPROM поддерживают длину блока до 1408 байт, что существенно увеличивает скорость передачи. Однако это работает только с улучшенной версией TFTP-сервера.

В Windows NT мы рекомендуем использовать улучшенный TFTP-сервер фирмы Incom, который можно взять на их веб-сайте.

В Linux вы можете использовать нашу версию улучшенного TFTP-сервера, который можно взять по адресу http://cuiwww.unige.ch/info/pc/remote-boot/soft/etftpd.tar.gz.

В Solaris вы должны использовать улучшенный TFTP-сервер фирмы Incom, который есть на диске утилит, поставляемом вместе с TCP/IP BootPROM.

Если вы хотите использовать стандартный TFTP-демон, уберите P из всех расширений имен файлов загрузочных образов, чтобы BootPROM использовало только стандартный порт TFTP (Этот метод был впервые применен компанией InCom GmbH в TCP/IP BootPROM. Мы также используем его, потому что это наиболее простой путь заставить PXE BootPROM использовать стандартный порт TFTP).

Настройка клиентских машин

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

  1. Настроим отдельную клиентскую машину

  2. Сохраним его конфигурацию на сервере

  3. Протестируем его работу в качестве клиента с удаленной загрузкой

  4. Адаптируем эту настройку для любой подобной клиентской машины

После того, как мы все это проделаем, мы получим возможность настройки любой дополнительной клиентской машины путем простой установки в его сетевую карту ППЗУ удаленной загрузки (если его там еще нет) и добавлением одной строки в файл конфигурации DHCP.

В наших примерах мы предполагаем, что у вас есть жесткий диск, объемом не менее 1,4 Гб. Если у вас диск меньшего размера, то уменьшите размеры разделов, но не забудьте оставить свободными несколько сот мегабайт в конце диска, предназначенных для специального кэш-раздела. Более того, кэш всегда начинается с цилиндра, следующего за последним занятым стандартными разделами цилиндра, поэтому, если вы не будете использовать один и тот же размер стандартных разделов для всех ОС, то вам придется всегда загружать с сети необходимые файлы (кэш, в этом случае, очищается).

Никогда не отчаивайтесь. Если вы не можете заставить это все работать, сначала взгляните в главу Проблемы и их решение - возможно, решение находится там (возьмите самую свежую версию этого документа). Затем посетите форум BpBatch. Может быть у кого-то возникали подобные трудности, и ответ находится в форуме по адресу http://cuiwww.unige.ch/info/pc/remote-boot/forum/. Если вы не нашли там ответ на свой вопрос, попытайтесь последить за сетевым трафиком, на предмет проблем с передачей данных в сети (используйте tcpdump на Linux или snoop на Solaris). Если и это не поможет, то можно послать письмо по адресу David.Clerc@cui.unige.ch или Marc.VuilleumierStuckelberg@cui.unige.ch. Если ваша проблема действительно относится исключительно к конфигурированию удаленной загрузки, и мы не перегружены, то попытаемся решить вашу проблему.

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

Скачайте программу BpBatch в любом формате: .zip или .tar.gz. Ее можно найти по адресу

Также по запросу там можно получить и исходные тексты программ (Assembler и C).

В каталоге /tftpboot сервера поместите три специальных загрузочных образа, которые вместе составляют предзагрузочный пакетный интерпретатор:

Затем добавьте строку в файл конфигурации DHCP, установив загрузочный файл в "bpbatch.P". Задайте дополнительную опцию производителя 155 (десятичное 155), присвоив ей значение "-i" (в стандартном DHCP-сервере это задается командой option option-155 "-i";. Эту строку bpbatch воспринимает в качестве командной, в которой -i означает "интерактивный".

Включите клиентский компьютер. Через некоторое время вы увидите

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

Заметьте, что можно использовать этот же интерпретатор в DOS и Linux, запустив программу MrBatch. Существуют, правда, незначительные различия этих версий - в Linux-версии нет поддержки графики, а DOS-версия может посылать BOOTP- и TFTP-запросы только в том случае, если BootPROM не скрыт операционной системой.

Неплохо было бы прочитать и главу Синтаксические правила BpBatch, а также главы, относящиеся к Ссылкам на файлы и Кэш-разделу. Это вам поможет понять приводимые здесь примеры.

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

Изучаем BpBatch

Попробуйте дать команду LogVars. Вы увидите список, состоящий примерно из тридцати переменных. Если кратко, сначала идут установки BpBatch, затем параметры из ответа на BOOTP/DHCP-запрос, и последняя переменная - список размеров дисков в Мегабайтах.

Дайте команду GetPartitions part, а затем снова LogVars. К списку должна добавиться еще одна переменная, содержащая список разделов на вашем первом жестком диске. Предположим, что ваш первый раздел - это BIGDOS, FAT32 or LINUX-EXT2. Дайте команду LogDir "{:1}", чтобы увидеть содержимое корневого каталога, затем LogDir "{:1}/usr", если на диске есть каталог usr. Вы даже можете увидеть дерево каталогов, при помощи команды LogTree LogTree "{:1}/etc".

Поместите на TFTP-сервер картинку в формате GIF (GIF-87a, чересстрочный или обычный, но не GIF-89a). Предположим, этот файл будет называться image.gif. Вы можете скопировать его в любой каталог на клиентской машине командой вида Copy "image.gif" "{:1}/temp/image.gif". Можно использовать его напрямую с сервера. Теперь выполните команду Logvars "V*" и посмотрите на значение переменной VESA. Если оно равно On, то это означает, что у вас VESA-совместимый видеоадаптер. Вы можете увидеть список доступных видеорежимов, при помощи команды Echo "$VESA-Modes". Чтобы вывести картинку на экран, используйте команду DrawGif "image.gif". Картинка появится в верхнем левом углу экрана. Вы можете вывести ее в любое место экрана, задав координаты после имени файла. Есть вохможность выводить любой текст командой вида 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 "$username" != "smith" goto again
if not "$userpass" 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

Чтобы установить Linux, вам понадобится загрузочный флоппи-диск, идущий в комплекте поставки дистрибутива RedHat Linux. В BpBatch входит команда, позволяющая загрузить систему с флоппи: FloppyBoot.

Установите на клиентскую машину RedHat Linux, включая поддержку сети, и все пакеты, которые могут понадобиться. Вы также можете пересобрать ядро специально для клиентской машины, но это не обязательно.

Настройка клиентской машины

Неплохой идеей будет включить поддержку BOOTP в ядро, чтобы не настраивать IP-адрес клиента вручную.

Чтобы уменьшить нагрузку на сеть, используйте filecache для кэширования на жестком диске файлов, взятых с NFS. Грубо говоря, принцип файлового кэша состоит в следующем - когда эта система встречает, в подкаталоге cache, символьную ссылку на файл, она заменяет его на сам файл. Если это каталог, то для каждого элемента каталога создается символьная ссылка на источник на сервере. Filecache был написан компанией Unifix GmbH, и является частью Unifix Linux 2.0. Это некоммерческий продукт, и все необходимые файлы можно взять по адресу http://cuiwww.unige.ch/info/pc/remote-boot/soft/filecache.tar.gz. Для того, чтобы использовать filecache вам надо

  • внести изменения в ядро (патч patch-filecache), включить поддержку filecache в make config, и пересобрать ядро

  • скопировать исполняемый файл filecache в /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

Если вы все сделали правильно, то filecache начнет работать сразу после перезагрузки (если вы забыли внести патч в ядро).

Проверка конфигурации

Скопируйте компрессированный образ ядра (zImage, bzImage, vmlinuz или как вы там его называете) в каталог /tftpboot на сервере, назвав его linux.krn. Если вам пришлось убрать BootPROM из клиентской машины, то вставьте его обратно. Когда запустится BpBatch, наберите LinuxBoot "linux.krn" "root=/dev/hda1 BOOT_IMAGE=linux" (предполагаем, что первый раздел - это корневая файловая система ext2). С другой стороны, если вы уже настроили конфигурацию на компьютере без BootPROM, просто дайте ему загрузиться, при помощи стандартного загрузчика (lilo, ...). Правда, во втором случае вам придется для этого отдельно установить ядро с поддержкой filecache в соответствующее место.

Дождитесь, пока загрузится система. Если у вас установлен filecache, то вы можете проверить его работу - каталог /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 с rc.sysinit в RedHat версии 5.1 и позже.

Ваш удаленно загружаемый linux готов! Теперь вы можете установить опцию BOOTP-155 в "linux", или запустить команду include "linux.bpb" в BpBatch для ее проверки.

Поддержка системы и обновления

Если в будущем вам понадобится обновить версию программы, установить патчи и т.п., то сделайте следующее:

  • Загрузите с сети клиентскую машину, чтобы получить свежую инсталляцию linux

  • Внесите изменения

  • Вновь создайте образ диска

  • Скопируйте новый образ диска поверх старого на сервер

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

Настройка DOS 6 и Windows 3.1

Загрузите клиентский компьютер с любимой загрузочной DOS-дискеты (уберите BootPROM или выполните команду 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 Пожалуйста, укажите свое имя и пароль
echo.
net logon *
rem -- скрипт входа должен был создать c:\logged
if not exist c:\logged goto loginneeded
del c:\logged
rem -- теперь снова разрешаем break
echo Yes >NOBRK

Проверьте, загружается ли в DOS ваша клиентская машина после перезагрузки компьютера и выполнения в BpBatch следующих команд: HideBootprom HdBoot

Создаем образ диска

Создайте на сервере разделенный ресурс, назвав его, например, admin, в который вы поместите некоторые файлы, необходимые системному администратору. Если сервер работает под управлением Unix, то неплохо было бы создать в admin символьную ссылку на каталог /tftpboot, чтобы было можно помещать туда образы напрямую с клиентской машины. В admin создайте каталог /utils и поместите туда следующие файлы:

  • mrbatch.exe, DOS-версию BpBatch

  • mrzip.exe, DOS-версию программы, создающей образы дисков

  • bpbatch.hlp, файл помощи

Вы также можете поместить в этот же каталог простой MrZip-скрипт под названием 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-155 в "dos", или запустить команду include "dos.bpb" в BpBatch для ее проверки.

Адаптируем конфигурацию для других машин

Если вы хотите, чтобы некоторые настройки различались на разных машинах (обычно это нужно для настроек IP, потому что Micro$oft DHCP работает ужасно) вы можете указать BpBatch изменять некоторые файлы перед загрузкой. Сначала зайдите в каталог lanman.dos и сделайте следующее copy *.ini *.ref Затем отредактируйте файлы .ref и замените все фиксированные параметры на имена переменных BOOTP следующим образом: computername = ${BOOTP-Host-Name} ipaddress0 = ${MS-IPAddress} subnetmask0 = ${MS-IPSubnet} defaultgateway = ${MS-IPRouter} Затем снова создайте образ диска, как было описано в предыдущей главе. Мы не можем напрямую использовать IP-параметры из переменных BOOTP, потому что LanManager использует в качестве разделителей пробелы, а не точки. Измените dos.bpb примерно так:
hidelog
setpartitions "bigdos:1024"
setbootpart 1
fullunzip "dos.imz" 1
set MS-IPAddress="$BOOTP-Your-IP"/.= /
set MS-IPSubnet="$BOOTP-Subnet-Mask"/.= /
set MS-IPRouter="$BOOTP-Routers"/.= /
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

В предыдущих версиях этого документа мы советовали использовать серверную установку Microsoft Windows 95, но ничего, кроме головной боли и проблем, это не приносит:

Поэтому мы исключили из данного документа всю информацию, касающуюся этой установки, включая советы по обходу трудных ситуаций, собиравшиеся месяцами (вы все еще можете прочитать их в http://cuiwww.unige.ch/info/pc/remote-boot/win95old/win95old.html), и перешли к нашей новой концепции: базирование установки на локальном диске и удаленная загрузка. Одним словом, сейчас конфигурация для Windows 95 так же проста, как и для DOS.

Настройка клиентской машины

Установите стандартную клиентскую конфигурацию Windows 95, либо начиная с нуля (как было описано в установке DOS-клиента), либо запустив инсталляцию в DOS-клиенте с сети (так сделали мы). Вы также можете использовать предустановленную версию Windows, поставляемую вместе с компьютером, но вы, скорее всего, не будете знать, что же там установлено.

Выполните процедуры, описанные ранее при установке DOS-клиента. Обычно НЕТ необходимости использовать EMM386 в Windows 95. Если у вас Windows 95 OSR2 (он же MSWIN 4.1, он же Windows 95 service pack 1, он же Windows 95 с Internet Explorer), вы должны добавить следующую строку в секцию [Options] файла MSDOS.SYS (да-да, это текстовый файл):
AUTOSCAN=0
Таким образом, ScanDisk не будет автоматически запускаться при загрузке Windows .

Если вы хотите облегчить нагрузку на сервер и сеть (что очень ускорит работу всей системы) и держать все программы на сервере - мы бы посоветовали использовать прекрасную программу: Shared LAN Cache компании Measurement Techniques, Inc (см. http://www.lancache.com). Эта программа запускается на каждой клиентской машине и кэширует на локальный жесткий диск все данные, приходящие из сети. Даже MS-Office запускается второй раз значительно быстрее... Вам нужна лицензия на каждый компьютер, но она не очень дорогая, и существуют скидки для образовательных учреждений. Наиболее простой способ - посетить их веб-сайт и взять бесплатную оценочную версию.

Создаем образ диска

Ваш MrZip-скрипт будет называться zipwin95.mrz и будет содержать следующее:
showlog
filter -"temp/*"
filter -"*.swp"
fullzip "c:/" "L:/tftpboot/win95.imz"

Чтобы создать образ, подключите ресурс admin к диску L:, перейдите в каталог utils и запустите следующую команду: mrzip -b zipwin95

Через несколько минут на сервере в каталоге /tftpboot появится новый файл win95.imz, представляющий из себя компрессированный образ вашего жесткого диска. Если ваш компрессированный образ больше 87 Мб, то, скорее всего, он будет разбит на несколько частей. Эти части будут автоматически загружаться друг за другом при необходимости. Заметьте, что образ размером больше 87 Мб обычно будет устанавливаться при загрузке Больше одной минуты, что может плохо сказаться на пользователях. Наш образ Windows 95 имеет размер около 70 Мб, потому что большинство программ (кроме Office и Explorer) полностью находятся на сервере. На декомпрессирование и восстановление диска тратится около 45 секунд.

Создайте пакетный файл /tftpboot/win95.bpb и напишите в нем следующее:
hidelog
setpartitions "bigdos:1024"
setbootpart 1
fullunzip "win95.imz" 1
hidebootprom
hdboot :1

Ваша конфигурация Windows 95 для удаленной загрузки готова! Теперь вы можете установить опцию BOOTP-155 в "win95" или запустить команду include "win95.bpb" в BpBatch для ее проверки.

Адаптируем конфигурацию для других машин

Существует серьезное различие между Windows 3.1 и Windows 95: в последний встроена поддержка Plug-and-play ,т.е. автоматическое определения оборудования. Это не очень плохая штука, но иногда с ней возникают проблемы: порой она слишком чувствительная, а порой не срабатывает.

Если вы попытаетесь загрузить другую клиентскую машину с тем же загрузочным образом, вы, скорее всего, получите при загрузке сообщения о том, что Windows обнаружила новое оборудование: новую звуковую карту, новый жесткий диск, новую сетевую карты и даже новую мышь... Это может возникать по двум причинам:

  • устройства используют разные ресурсы (скажем, мышь включена в другой порт, или звуковая карта включена в другой слот - да-да это тоже определяется)

  • устройства могут давать Windows 95 свои персональные серийные номера (например, Windows 95 различают сетевые карты на основе их уникального Ethernet-адреса)

Факт того, что Windows 95 обнаруживает новые и измененные устройства, не является проблемой, если механизм Plug&Play работает нормально; трудности возникают, если он не работает. Windows 95 Plug-and-Play, например, не работает для наших мышей Logitech PS2/aux - в результате, мыши нет вообще. Чтобы подобных проблем не возникало можно либо стараться сделать конфигурации компьютеров предельно схожими, либо делать разные образы дисков для разного оборудования. Позже вы узнаете, что вы можете использовать тот же образ диска и иметь несколько копий системного реестра, который вы будете копировать с сервера, после записи системы на диск перед загрузкой.

Правда, существует одно устройство, которое уникально на каждом компьютере - это сетевая карта. Для PCI-карт это неважно, но с ISA PnP картами будут проблемы. Нам очень не повезло - PnP код наших карт SMC EtherEZ "вешал" компьютер. Единственное решение - заставить Win95 считать, что он уже знает о сетевой карте и что не надо трогать PnP. Для этого в системный реестр до загрузки Windows 95 необходимо внести данные о сетевой карте. Еще раз напоминаем, что для PCI-карт этого делать не надо.

Перенесите autoexec.bat на сервер, как было ранее описано для DOS. Отредактируйте его (на сервере), добавив следующие строки:
rem --- Вносим изменения в реестр Windows для того, чтобы не работало определение PnP ISA карты
regedit /L:c:\windows\system.dat /R:c:\windows\user.dat c:\temp\patch.reg
regedit - это стандартная программа, входящая в комплект Windows 95, позволяющая вам просматривать содержимое реестра в Windows 95, или производить простые операции с ним из DOS. Запустите regedit в Windows 95, найдите вашу сетевую карту, обычно в
        HKEY_LOCAL_MACHINE\Enum\ISAPNP
и экспортируйте ветвь дерева реестра, используя меню Реестр. Вы получите текстовый файл - назовите его patch.ref и поместите в каталог /tftpboot на сервере. Откройте этот файл и найдите, где хранится Ethernet-адрес этой карты (сделайте это на двух разных машинах и сравните файлы, если не можете сами найти необходимую строку). Замените его на ${MACID}. Добавьте в скрипт win95.bpb примерно такие строки:
        set macid = "$BOOTP-Client-ID"
        patch "patch.ref" "{:1}temp/patch.reg"
(если в реестре записан не совсем Ethernet-адрес карты клиентской машины, то вам придется произвести кое-какие манипуляции с переменной MACID). Это все - ваши клиентские машины должны прекратить попытки автоматически определить сетевую карту.

Еще раз: все, что описано выше, касается только ISA-карт. Кстати, этот же механизм можно использовать для автоматической настройки имени машины - Windows 95 игнорирует это поле в ответе на запрос DHCP. Для этого добавьте в файл patch.ref следующее:
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
"ComputerName"="${BOOTP-Host-Name}"

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP]
"HostName"="${BOOTP-Host-Name}"

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\ComputerName\ComputerName]
"ComputerName"="${BOOTP-Host-Name}"

Используя этот метод исправления реестра, вашу конфигурацию можно перенести на любую машину с подобной конфигурацией. Если все-таки не удается избежать автоматического определения устройств Windows, то попытайтесь вновь создать образ диска. Таким образом, в реестре будет находиться специфичная именно для этой машины информация, и проблема должна быть решена.

Поддержка системы и обновления

Если в будущем вам понадобится обновить версию программы, установить патчи и т.п., то сделайте следующее:

  • Загрузите с сети клиентскую машину, чтобы получить свежую инсталляцию

  • Внесите изменения

  • Вновь создайте образ диска

  • Скопируйте новый образ диска поверх старого на сервер

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

Настройка Windows NT

Мы в настоящий момент не используем Windows NT на удаленно загружаемых машинах, но проверили нашу систему для NT. И она работает.

В наших утилитах нет поддержки NTFS (у нас нет ни документации, ни времени ее реализовывать, но я буду рад помочь тому, кому это интересно) - вам придется установить NT на FAT16 (просто не преобразовывайте ваши разделы в NTFS в процессе установки).

Скопируйте скрипт win95.bpb в winnt.bpb. Замените строку setpartitions в winnt.bpb на следующее:
        setpartitions "BIGDOS:512 BIGDOS:512"
Используя этот скрипт загрузите Windows 95 и установите NT на диск C. Пока не волнуйтесь насчет второго раздела. Очень много не устанавливайте - иначе у вас получится слишком большой и медленно разжимающийся образ диска. Уберите Windows 95 с диска C - он вам больше не нужен (загрузочное меню обрабатывает BootPROM, а не NT-loader).

Перезагрузите компьютер без перезаписи жесткого диска, то есть не запускайте скрипт winnt, а просто дайте две команды:
        hidebootprom
        hdboot
Ваша рабочая станция NT должна нормально загрузиться. Настройте систему необходимым образом.

Создаем образ диска

Проблема с Windows NT состоит в том, что прямой доступ к диску запрещен на уровне ядра. Это означает, что MrZip не сможет прочитать даже загрузочные сектора. Лучший способ сделать образ диска - загрузить Windows 95 и запустить MrZip из окна DOS. Чтобы сделать это, подправьте скрипт winnt.bpb так, чтобы он восстанавливал образ Windows 95 не на первый, а на второй раздел:
hidelog
setpartitions "BIGDOS:512 BIGDOS:512"
setbootpart 2
fullunzip "win95.imz" 2
hidebootprom
hdboot :2
(если имеется дополнительный патч, замените в нем "{:1}" на "{:2}"). Загрузитесь при помощи этого скрипта - у вас должна запуститься Windows 95, и должен появиться диск D:, на котором будет Windows NT.

Создайте образ диска (только, конечно, используя D:), и запишите его на сервер под именем winnt.imz в каталог /tftpboot. Еще раз отредактируйте скрипт winnt.bpb, добавив в него примерно следующее:
hidelog
setpartitions "BIGDOS:512 BIGDOS:512"
setbootpart 1
fullunzip "winnt.imz" 1
clean 2
#fullunzip "win95.imz" 2
hidebootprom
hdboot :1
Ваша конфигурация для удаленной загрузки Windows NT готова. Конечно, если вам не нравится иметь два раздела, можете оставить один. Но, когда понадобится перестроить образ диска, вам придется снова установить второй раздел для загрузки Windows 95.

Поддержка системы и обновления

Если в будущем вам понадобится обновить версию программы, установить патчи и т.п., то сделайте следующее:

  • Загрузите с сети клиентскую машину, чтобы получить свежую инсталляцию

  • Внесите изменения

  • Отредактируйте winnt.bpb: закомментируйте строки clean и fullunzip winnt, и уберите комментарий со строки fullunzip для win95

  • Вновь создайте образ диска

  • Скопируйте новый образ диска поверх старого на сервер

И все!

Проблемы и их решение (FAQ)

В этом разделе приводится решение наиболее часто возникающих проблем.

В: Загрузка образа не работает
В: Процедура разархивации образа раздела сразу выдает ошибку
В: Компьютер повисает во время загрузки/разархивирования (1)
В: Компьютер повисает вместо загрузки/разархивирования (2)
В: Прокрутка экрана в VESA не работает
В: В кэше находится испорченный файл
В: В пакетном файле не работает команда EXIT
В: Команда Print ничего не выводит
В: MrZip выдает ошибку Malloc failed
В: MrZip прерывает работу при чтении каталогов
В: MrZip не может прочитать некоторые файлы
В: Образы дисков всегда читаются с сервера
В: Red Hat Linux 5.1 не загружается
В: Электронный диск широковещательного TFTP повисает (Оставаясь в подключенном состоянии)
В: BpBatch повисает при доступе к файлу, а MrBatch работает нормально
В: Разархивирование образа, разбитого на части, не работает (выдается ошибка Malloc failed)
В: MrBatch и MrZip жалуются на терминал в RedHat 5.x
В: "libncurses.so.3.0: невозможно открыть разделенный объектный файл" в Linux
В: MrBatch и MrZip не работают в Linux (файл не найден)
В: У меня не работают никакие видеорежимы, кроме используемого по умолчанию VESA 800x600
В: BpBatch выводит сообщение "Malloc failed" при разархивировании образов, разбитых на несколько частей
В: Команда Fullunzip в Linux-версии MrBatch не работает
В: Scandisk выдает сообщение об ошибках на диске
В: RedHat не загружается с загрузочного диска, при помощи команды FloppyBoot
В: Диск с файловой системой FAT32 не загружается

В: Загрузка образа не работает

О: Вы, скорее всего, используете стандартный TFTP-севрер, который не поддерживает передачу более 65535 пакетов данных, размером по 512 байт (а в Solaris, вообще, только 32767 пакетов!). В результате этого образ раздела должен быть разбит на части, не более 30 Мб каждая (или не более 15 Мб в Solaris). Смотрите описание команды CopyArchive, которая имеет возможность разбивать на части уже существующий образ раздела. Однако мы настоятельно рекомендуем вам использовать улучшенный TFTP-сервер фирмы InCom - он значительно более эффективен (используя пакеты размером 1408 байт, вместо 512).

В: Процедура разархивации образа раздела сразу выдает ошибку

О: Существуют три варианта: или образ раздела на диске содержит ошибку (используйте MrZip, чтобы определить, есть ли такие ошибки), или файл передан неправильно, из-за превышения времени ожидания в протоколе TFTP, или из-за несовместимости протокола.

Превышение времени ожидания TFTP происходит, если сеть перегружена (например, если вы пытаетесь загрузить большие образы разделов более, чем на 4 машины одновременно). В этом случае, BpBatch не пытается повторять процедуру загрузки бесконечно, потому что это все равно не поможет. Выключите несколько компьютеров и попытайтесь снова не более, чем на 4 компьютерах (или даже на трех). Если у вас есть необходимость часто загружать образы на большое количество компьютеров, то используйте наш специальный широковещательный TFTP-сервер (смотрите посвященный ему раздел).

Несовместимость протокола возникает при попытке использования стандартного TFTP-сервера (обычно входящего в комплект вашего UNIX-сервера), вместе с указанием BpBatch работать с улучшенной версией TFTP. Если вы используете стандартный TFTP-сервер, то должны убрать расширение .P у файла загрузочного образа (это будет разъяснено в ответе на следующий вопрос).

В: Компьютер повисает во время загрузки/разархивирования (1)

О: Если вы используете TFTP-сервер фирмы Incom - попытайтесь указать ему опцию -s 1408 59 в командной строке. Если вы не используете улучшенную версию TFTP-сервера, уберите на сервере расширение .P в имени файла BpBatch и в bootptab.

Подробное разъяснение: эта проблема возникает в том случае, если вы, не установив улучшенную версию TFTP-сервера, использовали bpbatch.P в качестве тэга "имя файла загрузки" в DHCP/BOOTP. BpBatch будет пытаться связаться с улучшенной версией TFTP-сервера, если имя файла загрузки оканчивается на .P. Чтобы решить эту проблему, можно либо убрать расширение .P из имени файла загрузки (таким образом, BpBatch будет использовать стандартный TFTP), либо установить улучшенной версию TFTP-сервера. Единственный, поддерживаемый нами на сегодняшний день, улучшенный TFTP-сервер - это сервер фирмы Incom. Вы можете найти собранную версию на их веб-сайте, или в нашем каталоге дистрибутива нашей системы. Для того, чтобы TFTP-сервер фирмы Incom корректно работал с дополнительными функциями TFTP, ему надо в командной строке указать опцию -s 1408 59.

В: Компьютер повисает вместо загрузки/разархивирования (2)

О: Возможно, в вашем компьютере некорректно работает поддержка VESA. Попробуйте использовать опцию -v в командной строке или установите переменную VESA в "OFF".

В: Прокрутка экрана в VESA не работает

О: Мы используем для прокрутки функции VESA версии 1.1. Если ваш видеоадаптер не поддерживает VESA 1.1, то забудьте о прокрутке. Если же прокрутка работает на одну страницу, а затем на экране появляется странная сдвинутая картинка - не волнуйтесь. Я знаю об этой ошибке, и исправлю ее, как только у меня появится свободное время (прокрутка VESA, на самом деле, не очень то и важна...)

В: В кэше находится испорченный файл

О: Если файл в кэше бывает испорчен внешней программой, то он оттуда автоматически удаляется. Если файл не полностью записан в кэш (это может произойти, если компьютер выключить во время передачи файла), то он также автоматически удаляется. Однако, если сервер передал испорченный файл или передача остановлена со стороны сервера, то, возможно, этот файл останется в кэше. Вы можете очистить кэш, нажав одновременно две клавиши Shift при загрузке BpBatch. Вы также можете использовать команду clean -1 в интерактивном режиме BpBatch.

В: В пакетном файле не работает команда EXIT

О: Это не ошибка. Exit - это не команда. В BpBatch нет команд exit или quit - нет никакого смысла в том, чтобы выходить из загрузочного скрипта без загрузки системы. И MrBatch - это полная копия BpBatch. Вместо этой команды вы можете вызвать HdBoot. Вот это имеет смысл - DOS версия просто прекратит свою работу без перезагрузки. Заметьте, что вы в любое время можете выйти из DOS-версии, нажав Ctrl-Break. Перед выходом программа также восстановит все прерывания, которые она использовала.

В: Команда Print ничего не выводит

О: Если вы пытаетесь что-то печатать, а затем сразу же входите в интерактивный режим, то можно и не увидеть свой текст. Это происходит потому, что текст выводится на рабочий экран, а команда Interact переключила вас на экран Журнала. Поместите команду GetKey сразу после команд Print, и увидите свой текст.

В: MrZip выдает ошибку Malloc failed

О: MrZip требует большое количество памяти для своей работы. Если вы столкнулись с этой проблемой, то, во-первых, убедитесь в том, что BootPROM выгружен командой HideBootprom или при помощи утилиты bputil фирмы Incom. Если вы запускаете MrZip из чистого MS-DOS (не в окне MSDOS в Windows 95) - используйте EMM386 для загрузки сетевых драйверов в верхнюю память, чтобы максимально высвободить основную память. В окне DOS в Windows 95 эта проблема обычно не возникает (если только вы не оставили много старых 16-битных программ в autoexec.bat после установки Windows 95).

В: MrZip прерывает работу при чтении каталогов

О: Эту ошибку уже исправили. Возьмите свежую версию MrZip. Если ошибка повторилась, то попробуйте создать образ раздела вновь с опцией Trace, установленной в "ON" (и, обычно, PauseLog, установленной в "OFF"); это поможет вам узнать причину проблемы. Если возможно, то пошлите нам подробный отчет о найденной ошибке.

В: MrZip не может прочитать некоторые файлы

О: MrZip, скорее всего, пытается прочитать заблокированный, открытый или специальный файл, например, файл подкачки Windows. Обычно нет необходимости включать подобные файлы в образ раздела, и их, в этом случае, необходимо отфильтровывать (при помощи команды filter). Также возможно, что файл не дает вам прочитать сама операционная система. Если MrZip не указывает, с каким именно файлом у него возникли проблемы, попытайтесь создать образ с опцией Trace, установленной в "ON" (и, обычно, PauseLog, установленной в "OFF"). Вы также можете попытаться использовать прямой доступ к диску (то есть ссылаясь на раздел не как на "C:" или "/", а на "{:1}"). Создание образа с использованием прямого доступа к диску обычно продолжается дольше, но, иногда, оно оказывается значительно надежнее.

В: Образы дисков всегда читаются с сервера

О: Образы дисков хранятся на локальной машине в специальном кэш-разделе и не должны загружаться с сети, если они не изменились на сервере. Однако, кэш-раздел начинается сразу за последним существующим разделом - соответственно, если суммарный объем разделов в системах изменяется, то изменяется и месторасположение кэша, и, вследствие этого, теряется его содержимое. Вторая возможная причина исчезновения файла из кэша - предыдущий файл увеличился больше, чем в полтора раза, заняв, тем самым, место, в котором был исчезнувший файл. Данные этого файла были испорчены, и он должен быть загружен с сервера. Так, практически, никогда не происходит. Третья причина - слишком маленький размер кэш-раздела. Если свободное от разделов место меньше, чем сумма объемов всех компрессированных образов, умноженная на 1,5, то в кэше будут храниться только наиболее новые образы, а остальные будут загружаться с сервера при необходимости.

В: Red Hat Linux 5.1 не загружается

О: Этот дистрибутив предполагает, что Linux загружается при помощи lilo, и проверяет наличие в командной строке ядра аргумента BOOT_IMAGE (в скрипте /etc/rc.d/rc.sysinit). Просто добавьте этот аргумент к команде linuxboot, или подправьте rc.sysinit.

В: Электронный диск широковещательного TFTP повисает (Оставаясь в подключенном состоянии)

О: Клиент DHCP в Linux - это специальная программа, меняющая IP-адрес клиентской машины в соответствии с ответами на DHCP-запросы. Если адрес был дан "навсегда" (на бесконечное время), то DHCP-клиент просто устанавливает адрес и выходит (это именно то, что нам нужно). Однако, если время жизни адреса ограничено, DHCP-клиент должен оставаться в памяти и передавать повторные запросы на получение адреса, каждые несколько минут. А если DHCP-клиент не прекращает работу, то MrBatch не загружается вообще... Решение - установить бесконечное время выделения IP-адреса (иногда оно бывает указано, как -1).

В: BpBatch повисает при доступе к файлу, а MrBatch работает нормально

О: Эта проблема возникла с AMI BIOS, датированной 25/07/94. Мы пытались решить эту проблему, но так и не смогли. Скорее всего эта проблем возникает из-за ошибки в BIOS (по-видимому, портится содержимое регистра или ячейка памяти).

В: Разархивирование образа, разбитого на части, не работает (выдается ошибка Malloc failed)

О: Эта ошибка появилась после реализации совместимости с PXE, но теперь она исправлена. Возьмите более новую версию.

В: MrBatch и MrZip жалуются на терминал в RedHat 5.x

О: Эта ошибка исправлена в MrBatch/MrZip в версии от 9 августа. Она возникала из-за проблем с новой версией ncurses, включенной в состав RedHat 5.1.

В: "libncurses.so.3.0: невозможно открыть разделенный объектный файл" в Linux

О: MrZip был собран для libncurses версии 3.0. Вы можете использовать другие версии libncurses, если они новее, чем 3.0. Чтобы их использовать создайте символьную ссылку с вашего файла libncurses.so.xx на libncurses.so.3.0. В RedHat 5.1 используйте следующую команду: cd /usr/lib ; ln -s libncurses.4.2 libncurses.3.0 Вы также можете установить новую версию mrzip/mrbatch. Начиная с 25/10/98 mrbatch собирается в RedHat 5.1.

В: MrBatch и MrZip не работают в Linux (файл не найден)

О: Проблема абсолютно противоположна предыдущей. Сейчас вышла официальная версия libc6, которую невозможно использовать вместе с libc5. Если вы встретились с этой проблемой - обновите свой Linux (Ну, если мы получим слишком много жалоб на это, мы попытаемся держать на сайте два дистрибутива...).

В: У меня не работают никакие видеорежимы, кроме используемого по умолчанию VESA 800x600

О: Сначала посмотрите на содержимое переменной VESA-Modes, и убедитесь в том, что ваша видеокарта поддерживает нужный вам режим. Затем используйте один из двух способов установить необходимый видеорежим:

  • InitGraph "режим": Попробуйте дать команду InitGraph "1024x768", и затем проверьте работу этого режима (например, при помощи DrawGif).

  • VESA-Modes: Режим, указанный первым в переменной VESA-Modes - это режим, используемый по умолчанию. Если вы измените содержимое переменной VESA-Modes, то все команды работы с графикой будут использовать выбранный вами режим.

В: BpBatch выводит сообщение "Malloc failed" при разархивировании образов, разбитых на несколько частей

О: Мы исправили в BpBatch ошибку в процедуре выделения памяти. Убедитесь в том, что ваша версия BpBatch выпущена после 22 сентября 1998.

В: Команда Fullunzip в Linux-версии MrBatch не работает

О: Мы исправили эту ошибку в версии от 22/09/1998.

В: Scandisk выдает сообщение об ошибках на диске

О: В версии от 25/10/98 исправлена ошибка, возникавшая с большими образами дисков. Установите новую версию BpBatch.

В: RedHat не загружается с загрузочного диска, при помощи команды FloppyBoot

О: Эта ошибка исправлена в версии от 25/10/98.

В: Диск с файловой системой FAT32 не загружается

О: Эта ошибка исправлена в версии от 09/02/99.