Сетевое меню с помощью PXE

Привет, сегодня мы используем TFTP и DHCP сервер для того чтобы сделать загрузочное меню с помощью PXE. PXE это своего рода среда, которая используется для загрузки компьютеров через сеть, при этом другие носители не участвуют в загрузке, загрузка осуществляется через сетевую карту. TFTP это протокол передачи файлов используемый для загрузки без дисковых станций. Для начала нам надо установить tftp , делаем это вот такой командой:

apt-get install tftp tftpd-hpa

После установки нас спросят какой каталог вы будете использовать в качестве корневой папки, можете указать свой каталог, я например оставил как есть /srv/tftp. Если вы вдруг ошиблись и указали несуществующий каталог или просто хотите поменять конфигурацию вашего TFTP сервера, то это можно сделать с помощью вот такой команды:

dpkg-reconfigure tftpd-hpa

Сетевое меню с помощью PXE

Установка закончилась и теперь у нас уже имеется tftp, можно больше его и не трогать. Для дальнейшей работы нам нужен dhcp сервер. А как же его установить? все очень просто смотрим ТУТ . Итак dhcp мы уже установили, однако это еще не все, к нашему конфигурационному файлу добавляем вот такие строки:

next-server 127.0.0.1; # адрес tftp сервера filename "pxelinux.0"; # имя загрузочного файла(в нашем случае pxelinux.0)

После проделанных изменений перезапустите dhcp сервер. Когда мы все сделали, переходим к созданию самого меню которое будет загружаться по сети, для этого мы используем файлы из проекта syslinux, сами файлы вы можете найти http://www.syslinux.org/wiki/index.php/The_Syslinux_Project или установить пакет syslinux-common вот такой командой:

apt-get install syslinux-common

Так, вы получили архив syslinux удобным для вас способом, что дальше? Из этого архива понадобятся всего несколько файлов:

  • pxelinux.0;
  • menu.c32;
  • memdisk.

Находим их среди многочисленных загрузчиков и копируем в каталог нашего tftp сервера. В этом же каталоге создаём папку pxelinux.cfg, а в этой папке файл с именем default. Открываем только что созданный файл и пишем примерно следующее:

DEFAULT menu.c32 TIMEOUT 600 MENU TITLE Название вашего меню. LABEL HDDBoot LOCALBOOT 0

Получаем при загрузке примерно следующее:Сетевое меню с помощью PXE Загрузочное меню почти готово, добавим к нашему меню, замечательную программу для тестирования жестких дисков компьютера. Для этого скачиваем с официального сайта Victoria 3.5 Russian. Загрузочная версия для FDD, из скачанного архива берем образ дискеты fdd35.img и копируем, например в корень нашего tftp сервера. Далее в файле default пишем следующее

LABEL Victoria KERNEL memdisk APPEND initrd=/fdd35.img

Получилось примерно следующее:

Сетевое меню с помощью PXE

Вот собственно и все! Чтобы не делать меню самостоятельно можете скачать мою сборку, в которую вошли: memtest86 + MiniXP (Выдрал из HirenBoot CD) Victoria 3.5 Clonezilla-live-1.2.12-60-i486 GParted-live-0.12.1-5

Сетевое меню с помощью PXE

Скачать готовую сборку можно тут (288 МБ)

ЗЫ: В подобное меню можно добавить различные линуксы и необходимый софт, также организовать развертывание ОС Windows.

Комментарии
  1. KillOSer2014 04 февраля 2015, 12:04(Комментарий был изменён) # 0
    мне кажется, что не лишним будет ограничить возможность загрузки по сети, например путём добавления в конфигурацию DHCP:
    # Клиент для установки/загрузки по сети (по МАК-адресу)
    host tftpclient {
      allow booting;
      filename "pxelinux.0";
      hardware ethernet 08:00:27:85:33:f7;
      fixed-address 192.168.100.151;
    }
    иначе может получится так, что загрузится компьютер не очень радивого но любопытного пользователя, а первым пунктом меню (по умолчанию, по истечению времени ожидания)… будет тот же gparted и восстанавливай потом… кстати я себе поставил первым пунктом (он же загрузится по умолчанию) AviraRescue — очень удобно…

    и спасибо за статью
    Поиск
    Последние комметарии
    Qwestuss написал комментарий к записи Установка Mac OS X Yosemite 10.10.3 на ПК 22 мая 2017, 16:36
    Евгений написал комментарий к записи Адекватный интернет от компании Сибтелеком 17 мая 2017, 01:37
    Николай написал комментарий к записи Как iPhone отвязать от Apple ID 29 апреля 2017, 17:07
    сергей написал комментарий к записи Как перевести деньги с киви на киви кошелек 26 апреля 2017, 02:32
    Антон написал комментарий к записи Что такое удаленный доступ и как его организовать? 24 апреля 2017, 11:28
    информация для пользователей