Pxe network что это
Что такое сетевая загрузка (PXE) и как ей можно пользоваться
Оригинал: What Is Network Booting (PXE) and How Can You Use It?
Автор: Aviad Raviv
Дата публикации: 14 апреля 2011
Перевод: Н.Ромоданов
Дата перевода: март 2014 г.
Требовалось ли вам когда-либо устранять проблемы или диагностировать проблемный компьютер, а вы при этом забыли, куда положили компакт диск с утилитами? Мы покажем вам, как пользоваться сетевой загрузкой (PXE) и пакетом FOG для того, чтобы эта проблема ушла в прошлое.
Обзор технологии PXE
Когда используется подход PXE, процесс загрузки изменяется с обычного на следующий:
Примечание: В этом видео в качестве основы для сервера используется устаревший проект UDA, и аннотации были предназначены для того, чтобы объяснить, что в него были внесены самые новые (на тот момент) дополнения.
Это руководство будет первым из серии руководств, посвященных PXE. В настоящем руководстве мы заложим основы, на которые мы будет опираться в последующих статьях.
Рекомендации, допущения и предварительные требования
Установка — трудное начало с использованием системы FOG
FOG является свободным решением, предназначенным для клонирования компьютеров и имеющая открытый исходный код, которое было создано Чаком Суперски и Цзянь Чжаном ( Chuck Syperski и Jian Zhang ). FOG берет обычно используемое программное обеспечение (например, Apache, MySQL и tftpd-hpa упомянуть некоторые из них) и упаковывает их в виде свободного и самодостаточного решения PCLM (PC Lifecycle management), предназначенного для управления жизненным циклом ПК. Нужно упомянуть, что с помощью такого свободного решения PCLM можно с помощью единого центральный веб-интерфейса выполнять резервное копирование состояния компьютера путем создания его образа, развертывать программы и настройки (например, Firefox, Office, принтеры и т. д.), а также политики конфигурирования (например, настроек автоматического завершения сессии и экранной заставки).
Использование FOG в качестве основы для вашего сервера PXE является хорошим способом иметь в наличии все необходимые составляющие, например, TFTP и, если требуется, DHCP без необходимости устанавливать и настраивать их вручную, при одновременном предоставлении вам в качестве бонуса всех функций пакета FOG.
Изображение взято из FOG wiki.
Это все, что нужно сделать во время установки пакета FOG. Опять же, поскольку FOG представляет собой большую систему, ее использование не входит в круг рассмотрения данного руководства, и для того, чтобы вы могли лучше разобраться с возможностями системы FOG и с тем, как она может помочь вам управлять жизненным циклом ваших компьютеров-клиентов, мы призываем вас обратиться к вики-страницам с описанием этой системы.
Если все пройдет так, как надо, у вас должна быть возможность выполнить загрузку вашей клиентской машине в режиме PXE (обычно с помощью F12) и получить меню-приглашение, используемое в системе FOG по умолчанию.
Изображение получено с помощью Hotfortech.
Файлы и каталоги
Как отмечалось ранее, наша цель заключается в расширении возможности системы FOG и с этой целью мы должны добавить некоторые файлы и каталоги.
Создайте следующие подкаталоги:
Эти подкаталоги будут служить в качестве шаблонов для всех изображений, программ и конфигураций, которыми мы будем пользоваться для того, чтобы расширить систему FOG.
Настройте конфигурационный файл default, используемый по умолчанию
Мы создадим новое главное меню и поместим в свое собственное подменю все функции системы FOG.
Скопируйте конфигурационный файл /tftpboot/pxelinux.cfg/default в howtogeek/menus/fog.cfg.
Теперь отредактируйте содержимое исходного файла default, используемого по умолчанию:
Сделайте так, чтобы его содержимое выглядело следующим образом:
Когда мы закончим, эта конфигурация позволит вам получить следующие 3 подменю: Utilities (Утилиты), Manual FOGing (Ручное управление системой FOG), Linux stuff (Linux).
Создайте мастер-файл
Мастер-файл позволит делать глобальные изменения во внешнем виде меню без повторного ввода их в отдельном порядке снова и снова. Такие особенности, как фоновый рисунок, используемый по умолчанию, стили границ, позиции и т.д., все это будет объединено в этом файле master.cfg.
Сделайте так, чтобы его содержание было следующим:
В конфигурации, приведенной выше, будут созданы фиолетовые границы и выделение текста;, если вы хотите, чтобы внешний вид был другой, просто измените значения.
Чтобы задать фоновый рисунок, поместите картину в каталог /tftproot и укажите для MENU BACKGROUND относительный путь к рисунку (мы рекомендуем использовать изображения с разрешением 640*480). Например полный путь к рисунку, сконфигурированному выше, будет /tftproot/fog/bg.png.
Подключите подменю FOG к основному меню
Т.к. мы сделали простую копию оригинального конфигурационного файла в подкаталог меню (сохранив цветовую схему, тайм-ауты и прочее), то если вы теперь перейдете в это подменю из загруженного клиента PXE, оно будет работать, но вы не сможете вернуться в главное меню без перезагрузки машины.
Поэтому отредактируйте файл /tftpboot/howtogeek/menus/fog.cfg:
Добавьте следующую запись после записи «menu color title» и перед функциями FOG:
Создайте заготовки для подменю
Мы создали 4 подменю, три из которых будут нами заполнены. Для этого давайте создадим шаблон, которым мы будем пользоваться в дальнейшем.
Создайте файл шаблона:
Его содержимое должно быть следующим:
Давайте зададим заготовки для дополнительных подменю, которые нам потребуются в следующих статьях:
Вот и все, базовая компоновка теперь готова и теперь нам нужно будет ей пользоваться, что мы будем делать в следующих статьях. Поскольку эти статьи еще не опубликованы, мы рекомендуем ознакомиться с системой FOG, т.к. эта система сама по себе исключительно интересная.
Efi pxe network что делать
Когда возникают ошибки в операционной системе, их в большинстве случаев относительно легко решить. В крайнем случае, всегда можно переустановить дистрибутив, что приведет к полному исцелению компьютера (если проблема программная). Другое дело, когда пользователь сталкивается с проблемами на аппаратном уровне и с программами, которые обеспечивают работу и взаимодействие между собой оборудования. К одной из таковых, например, относится ошибка EFI Network 0 for IPv4 boot failed, что делать с ней не никто не сможет разобраться без обращения к соответствующим информационным источникам.
Что это за ошибка EFI Network 0 for IPv4 boot failed на ноутбуках Lenovo
Ошибка EFI Network 0 for IPv4 boot failed на ноутбуках Lenovo
«Error: EFI Network 0 for IPv4 boot failed» – это системное сообщение, в котором пользователю сообщается о том, что попытка загрузиться по сети с использованием протокола IP четвертой версии завершилась неудачей. Собственно, в этом нет ничего удивительного, так как обычные пользователи ПК загружаются с жесткого диска, а те, кто не пожалели денег на покупку твердотельного накопителя – с SSD.
Такое сообщение могут увидеть исключительно владельцы ноутбуков Lenovo, так как на других компьютерах она называет немного по-другому.
Ошибка при загрузке ноутбука Lenovo
Соответствующая ошибка может появиться в виду многих причин, например, в результате перепрошивки BIOS или неаккуратной работы самого пользователя в соответствующем «инженерном меню».
Что и как делать, чтобы исправить ошибку EFI Network 0 for IPv4 boot failed
Стартовый экран загрузки ноутбуков Lenovo
Здесь есть несколько вариантов. Вначале владельцам ноутбуков Lenovo следует попробовать сбросить настройки BIOS по умолчанию. Делается это так:
На ряде ноутбуков Lenovo одновременное нажатие этих двух клавиш приводит к сбросу настроек BIOS. Если это произошло, то после очередной перезагрузки начнет загружаться операционная система.
BOIS ноутбуков Lenovo
Если соответствующие действия не привели к нужному результату, следует выполнить следующее:
После того, как ноутбук перезагрузится, должна начать загружаться операционная система, а ошибка «EFI: Network 0 for IPv4 boot failed» больше не должна беспокоить.
Если и эти действия не привели к нужному результату, тогда в BIOS потребуется еще и найти пункт «1 st boot device», который потребуется развернуть и в нем выбрать HDD + (название жесткого диска). Таким образом, будет сообщено компьютера то, с какого устройства ему следует загружаться в первую очередь. Поэтому он перестанет пытаться загрузиться из сети, в которой у пользователя, по понятным причинам, отсутствуют загрузчик и система.
Следует заметить, что пункты и вкладки в BIOS могут иметь другие названия (это зависит от модели компьютера).
Сегодняшняя статья будет посвящена владельцам ноутбуков Lenovo. Хотя, полезного в статье будет много и для тех у кого нет ноутбука Lenovo…
Дело в том, что сообщение об ошибке EFI Network 0 For IPv4 Boot Failed высвечивается только в ноутбуках фирмы Lenovo. В других ноутбуках, данное сообщение отображается совершено по иному, однако, все те действия которые будут здесь описаны, актуальны и для других производителей ноутбуков.
Сообщение об ошибке EFI Network 0 For IPv4 Boot Failed возникает тогда, когда пользователь пытается загрузиться с IP-адреса. Звучит конечно же дико и нелепо. Все мы загружаем свои компьютеры с жесткого диска, а те кто не пожалел денег на покупку чего-то по круче, загружаются с SSD-диска. В любом случае, загрузка происходит с твердотелого диска, на котором установлена операционная система.
Однако производители BIOS зашили в своих микропрограммах разного рода функции, которые собственно не понятно как использовать.
Ошибка вида EFI Network 0 For IPv4 Boot Failed возникает как правило в результате неопытного использования BIOS, когда определенные атрибуты, отвечающие за загрузку компьютера были изменены, причем на неправильные значения. Также, подобное значение могло возникнуть в результате перепрошивки BIOS на более свежую версию…
Так или иначе, копаться в настройках BIOS и искать затерянный параметр отвечающий за загрузку не каждый будет. Мы расскажем вам о самом простом и быстром способе устранить подобное (EFI Network 0 For IPv4 Boot Failed) сообщение, за вывод которого могут отвечать несколько настроек.
Для того чтобы устранить ошибку EFI Network 0 For IPv4 Boot Failed, необходимо выключить компьютер. Далее мы снимаем боковую крышку системного блока и находим на материнской плате небольшую круглую батарейку. Вытаскиваем ее, аккуратно поддевая чем-нибудь плоским.
Подождите десять секунд и вставляйте батарейку обратно.
Включайте компьютер и заходите в BIOS. В разделе отвечающим за загрузку, который называется Boot. находим параметр который отвечает за последовательность загрузки устройств. Вам необходимо выставить правильную очередь загрузки устройств.
Первым у нас должен стартовать жесткий диск (винчестер), а за ним должен идти привод. Собственно все. Другие устройства выставлять не надобности и пустые строки можно заменить на значение Отключено.
Таким образом, мы рассмотрели сегодня один способ, как избавиться от сообщения об ошибке EFI Network 0 For IPv4 Boot Failed. Разумеется вы можете сбросить значение настроек вашего BIOS другим способом, например, через сам BIOS. Так или иначе, вам просто необходимо выставить все значения по умолчанию, а после выставить правильную очередь загрузки устройств вашего персонального компьютера.
В этом небольшом посте я расскажу вам о практических способах реализации загрузки бездисковых устройств через PXE. Скажем так, что до определенного момента я совсем не интересовался этой проблемой и о PXE имел весьма посредственное представление, также, наверное как и у большинства. Т.е. все из нас знают, что в современных ПК есть возможность загрузки по сети, каждый видел в BIOS’е собственного ПК такую возможность (PXE Boot, LAN Boot), но мало кто использовал ее на практике. Реализацией этой возможности мы и займемся на практике, а также рассмотрим какое практическое применение в «домашних условиях» может иметь сетевая загрузка.
Наша «тестовая лаборатория» включает в себя:
Затем скачиваем заранее подготовленный архив pxe-mikrotik-disk1.rar и распаковываем его содержимое в корень флешки. Сделать это можно как в меню Files в web-интерфейсе Mikrotik’а, так и через FTP в Mikrotik, ну или просто вставив отформатированную USB Flash в ПК и распаковав в корень содержимое архива. В результате там должна получиться следующая структура файлов (смотреть скриншот справа).
Некоторых файлов, например kolibri.iso (образ Kolibri OS) в архиве не будет, т.к. их можно без труда найти и скачать в интернете, также в архиве не будет содержимого папки winpe (т.к. все эти файлы есть на любом установочном диске с Windows и включать их в состав архива я не вижу смысла). А вот на остальных мы остановимся подробнее.
pxelinux.0 — это основной загрузчик, на который направляются DHCP сервером все клиенты сетевой загрузки, он входит в состав пакета syslinux. Все что касается данного загрузчика, а также используемых им библиотек (*.c32) можно взять в следующих пакетах:
Для чего они? После загрузки PXELinux на устройство начинается поиск дополнительных файлов и библиотек, т.е. устройство пытается подключиться к TFTP серверу, указанному в опциях отдаваемых DHCP сервером и запросить у него, например, файл ldlinux.c32, так вот TFTP сервер должен знать о реальном местоположении файла, чтобы отдать его, например в нашем случае он лежит в disk1/tftpboot/ldlinux.c32. Честно говоря я не экспериментировал, можно ли задать соответствие не отдельным файлам, а папкам или файлам по маскам, поэтому на всякий случай сделал правила для всех файлов на TFTP сервере. После того как мы прописали правила необходимо настроить наш DHCP сервер.
На этом приготовления к первому запуску закончены. Можно брать любой ПК и пробовать загрузиться по сети. Для меня наиболее простым решением было создание отдельной виртуальной машины в VirtualBox и настройка ее на загрузку по сети. В результате, если все сделано правильно, вы увидите вот такую вот симпатичную менюшку PXELinux:
650 Mb и отдавать их по TFTP устройствам — превращается в настоящую муку. Т.е. грузится — да, но оЧЧень медленно. Первая мысль которая приходит в голову — а что если в качестве средства доставки тяжеловесного контента использовать не TFTP, а HTTP или NFS? И да, действительно, такая возможность есть.
Посмотрите как реализована в конфигурации (menu.cfg) загрузка того же Ubuntu LiveCD:
Здесь ядро vmlinuz.efi и рамдиск initrd.lz у нас грузятся по TFTP, а вот содержимое rootfs уже берется с NFS ресурса (благо Ubuntu так умеет). Порядок создания папки ubuntu16.04_live_amd64 на NFS ресурсе описан тут.
Ну или если вкратце, то я создал отдельную папку на WDMyCloud EX2, разрешил доступ к ней по NFS:
/nfs и просто скопировал необходимые файлы с LiveCD с Ubuntu в нее:
В результате содержимое папки ubuntu16.04_live_amd64 у нас полностью идентично корню LiveCD с Ubuntu:
Просто? Просто. Теперь пробуем загрузиться по PXE выбрав в меню LiveCD:
Ну и последнее о чем хотелось бы рассказать — это о загрузке *.wim образов WinPE через PXE. Для этого в моем примере используется именно iPXE и wimboot. Пример конфигурации вы можете увидеть в menu.cfg от PXELinux в пункте меню «Load iPXE [wim-boot.ipxe]». Фактически там грузится ipxe.lkrn, который читает файл конфига wim-boot.ipxe. Просто размещаете файлы wimboot, bootmgr, bcd, boot.sdi и boot.wim вашего WinPE дистрибутива где-либо в сети (на HTTP, NFS ресурсах) и все замечательно загружается. Примеры опять же, смотрите в wim-boot.ipxe.
p.s. Чуть не забыл 😉 Архив pxe-mikrotik-disk1.rar со всеми необходимыми загрузчиками и примерами конфигураций (пароль на архив стандартный — decker.su). Также буду рад любым вашим мнениям и отзывам в комментариях. Если у вас уже есть свои конфигурации для PXE загрузки распространенных LiveCD дистрибутивов, например, DrWeb Live CD, Kaspersky Rescue Disc и др. популярных инструментов — делитесь ими в комментариях. Также, если у кого-то есть опыт (или ссылки на соответствующие статьи) о настройке бездисковых RDP клиентов, например на базе Thinstation — это тоже приветствуется.
Как вы уже поняли, я далеко не гуру в Linux’е и по-сути как работает PXE я узнал только вчера. Поэтому в архиве по факту используется несколько загрузчиков: PXELinus (SysLinux) как основной, а из него уже можно загрузить iPXE или Grub4DOS, хотя по факту, в реальной жизни достаточно использовать что-то одно. Все это оставлено просто в качестве примера, чтобы было наглядно понятно как работать и с тем, и с другим, и с третьим. Так что, как говорится, «ногами не пинать», а ценные комментарии всегда приветствуются.
PXE — грузим всё! Осваиваем мультизагрузку по локальной сети
Содержание статьи
Сегодня автоматизируется все больше задач, для максимальной отдачи серверов все шире используют виртуализацию. Но устанавливать операционки по-прежнему приходится. Каждый делает это по-своему: у кого-то полные карманы различных образов на все случаи жизни, кто-то по старинке носит с собой «барсетку» с дисками, а то и две. Как правило, администраторы выполняют эту работу с невеликим удовольствием. Давай посмотрим, как сократить время на тривиальные задачи, как научить компьютеры устанавливать системы самостоятельно, вообще без участия админа, используя при этом только локальную сеть.
Итак, сегодня мы научимся: устанавливать Windows и Linux по сети, грузить небольшие ISO-образы, полезный софт (всяких там Касперских, Акронис, WinPE, мемтесты), разворачивать тонкие клиенты и рулить ими. Чтобы, например, бухгалтер, работающая с 1С по RDP, не прибила тебя за то, что у нее слетела винда, а отчет нужно было подготовить еще вчера. Или скупой начальник, который не хочет обновлять свой комп, восхитился твоим профессионализмом, когда увидит, как на стареньких компах летает Windows 8. В достижении наших коварных целей нам поможет сервер, предоставляющий загрузку по сети (PXE).
Xakep #201. Как стать киборгом
У любого системного администратора в заначке есть универсальный USB-диск для экстренной реанимации компьютера. Согласись, было бы куда лучше иметь ту же функциональность, используя одну лишь сетевую карту. Нельзя при этом не отметить возможность одновременной работы с несколькими узлами сразу. Итак, исходя из наших потребностей у нас есть два пути решения: использовать PXE или LTSP.
LTSP нам не очень подходит: он призван грузить по сети ОС, установленную на самом сервере, что позволяет использовать приложения сервера LTSP. Это не совсем то, что нам нужно. PXE — инструмент для загрузки компьютера по сети без использования локальных носителей данных, так же как и LTSP. PXE позволяет организовать мультизагрузочное меню загрузки, аналогичное универсальному «USB-реаниматору».
Главное меню загрузки PXE, графический режим
Что будем реализовывать?
Началось все с необходимости иметь под рукой инструмент для удаленной установки Ubuntu/Debian Server по сети, с возможностью загрузки Live CD маленькой системы, вроде SliTaz или Kolibri OS.
Как говорится, аппетит приходит во время еды: намеченное не успели реализовать, а к плану добавился еще ряд «хотелок». В итоге список получился весьма внушительным.
Собираем все в кучу и взлетаем
В качестве дистрибутива для сервера выбор пал на Ubuntu Server 14.04.2 LTS. Можно остановиться на любой другой ОС, разница будет только в синтаксисе. Итак, приступим. Нам потребуется TFTP, DHCP (необязательно установленный на этом же сервере, в роли DHCP-сервера может выступить роутер), сервис для организации сетевой файловой системы NFS. Рассматривать будем только те настройки, которые нас интересуют в рамках темы. Первым делом установим все необходимое, предварительно сделав все обновления:
Обрати внимание, параметр TFTP_DIRECTORY=»/var/lib/tftpboot» указывает место расположения корневого каталога TFTP-сервера. После сохранения перезапускаем удобным для себя способом:
Далее настроим DHCP-сервер. Приведу простую конфигурацию файла /etc/dhcp/dhcpd.conf:
Данная конфигурация говорит о том, что DHCP-сервер работает в локальной сети 192.168.0.0/24. Клиенту присваиваются адреса из диапазона 192.168.0.150–192.168.0.200, им будут присвоены параметры шлюза — 192.168.0.1, DNS-сервера — 192.168.0.2 и 192.168.0.5. Класс pxeclients, а именно параметр filename — это имя файла загрузчика, расположенного в корневой папке TFTP-сервера, в нашем случае /var/lib/tftpboot/pxelinux.0, на сервере с адресом 192.168.0.10.
Syslinux. Ставим загрузчик
В качестве загрузчика будем использовать Syslinux. Последнюю версию можно взять здесь. Распаковываем и кладем в /var/lib/tftpboot следующие файлы: ldlinux.c32, libcom32.c32, pxelinux.0 и lpxelinux.0 и каталог boot, в который складываем chain.c32, ldlinux.c32, libcom32.c32, libcom32.elf, libutil.c32, linux.c32, memdisk, menu.c32, vesamenu.c32 (menu.c32 — только текстовое меню, vesamenu.c32 позволяет украсить меню, например добавив фон). Файл меню загрузки по умолчанию должен находиться в /var/lib/tftpboot/pxelinux.cfg/default и иметь вид
На этом этапе загрузчик должен работать и иметь единственный пункт меню «Загрузка с первого жесткого диска». Далее необходимо создать подменю. Чтобы не путаться и не городить огромные файлы, рекомендую вынести подпункты в отдельные файлы меню, например так:
Все, что относится к разделу меню Install/Boot Linux, вынесем в отдельный файл /var/lib/tftpboot/linux. Аналогично выносятся другие пункты меню. Остальные параметры загрузки рассмотрим при добавлении каждого пункта/продукта.
Раздел Linux. Готовим на примере Ubuntu 14.04
Тонкие клиенты / Thinstation Linux
Acronis
Продукты Acronis загружаются аналогично инсталляторам Linux-систем. Скачал в Сети первый попавшийся образ Acronis, исключительно в научных целях. Распаковал. Нас интересуют только два каталога: ADD12 и ATI2015. Внутри каждого каталога видим по два файла с одинаковым именем и разным расширением. Это сделано для загрузки на 32-битных и x64-системах. Если открыть файл menu.lst того же образа, можно посмотреть, что чему соответствует. Для удобства складываем True Image и Disk Director аналогичным образом. Создаем папку acronis в рабочем каталоге ( /var/lib/tftpboot ). В него копируем ADD12 и ATI2015 со всем содержимым. Для удобства продукты Acronis выносим в отдельный раздел меню, так же как и раздел Linux. В pxelinux.cfg/default добавляем:
Файл acronis приводим к такому виду:
Windows PE
Заключение
На этом всё. В следующей статье мы научимся подготавливать и добавлять Windows-образы, сетевой установке в ручном и автоматическом режимах. Добавим Kaspersky Rescue v10, ERD Commander, именуемый MSDaRT. Разберемся, как запускать диагностические утилиты на примере memtest, а также покажем, как украсить меню загрузки.
Александр «Plus» Рак
Участник сообщества OmskLUG. Инженер отдела электронного взаимодействия МКУ «Информационно-технического управления».