Efi pxe network что это - TurboComputer.ru
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд (пока оценок нет)
Загрузка...

Efi pxe network что это

Что такое сетевая загрузка (PXE) и как ей можно пользоваться

Оригинал: What Is Network Booting (PXE) and How Can You Use It?
Автор: Aviad Raviv
Дата публикации: 14 апреля 2011
Перевод: Н.Ромоданов
Дата перевода: март 2014 г.

Требовалось ли вам когда-либо устранять проблемы или диагностировать проблемный компьютер, а вы при этом забыли, куда положили компакт диск с утилитами? Мы покажем вам, как пользоваться сетевой загрузкой (PXE) и пакетом FOG для того, чтобы эта проблема ушла в прошлое.

Обзор технологии PXE

Технология PXE (Pre Execution Environment — Среда предварительного исполнения), которая произносится как «Пикси» (Pixie – волшебная пыль), является подходом, который позволяет компьютеру (клиентскому компьютеру) загружаться, используя только свою сетевую карту. Этот метод загрузки был создан еще в 1999 году и если компьютер подключен к сети (и поддерживает этот стандарт), то можно обойти обычную процедуру загрузки (т. е. включение питания -> BIOS -> HD / CD) и сделать некоторые изящные вещи, начиная с поиска и устранения неисправностей, для чего обычно используется живая ОС liveOS, и даже снять образ машины …, но мы забегаем вперед – давайте вернемся к началу.

Когда используется подход PXE, процесс загрузки изменяется с обычного на следующий:

Включение питания -> BIOS -> стек PXE сетевой карты -> программа сетевой загрузки Network Boot Program (NBP), загружаемая с помощью TFTP с сервера в память клиентской машины -> ответственность за выполнение следующего шага возлагается на программу NBP (2-й этап загрузки).

Если использовать программу « PXElinux » NBP, то можно настроить сервер больше, чем просто для загрузки одной программы PXE для наших клиентов. В некотором смысле, это секретный ингредиент, который позволит нам выполнить все вышеперечисленное и даже больше. Для более подробного объяснения всего процесса, его истории и некоторые из имеющихся параметров настройки этой программы и программы gPXE (которая является более развитым клоном первой программы) смотрите эту лекцию на YouTube , предложенную разработчиками этих программ. Кроме того, ниже представлено видео, датированное 2008 годом, рассказывающее о настройке, что позволит быстро перейти к некоторым возможностям загрузки.

Примечание: В этом видео в качестве основы для сервера используется устаревший проект UDA, и аннотации были предназначены для того, чтобы объяснить, что в него были внесены самые новые (на тот момент) дополнения.

Это руководство будет первым из серии руководств, посвященных PXE. В настоящем руководстве мы заложим основы, на которые мы будет опираться в последующих статьях.

Рекомендации, допущения и предварительные требования

  • Клиентская машина, на которой вы тестируете, поддерживает загрузку PXE и вы знаете, как ее включить.
  • Это руководство было написано и протестировано с использованием Debian Squeeze, Ubuntu Server 9.10 и Linux Mint10. Поэтому предполагается, что у вас также есть система на основе Debian.
  • У вас есть возможность посмотреть статью «Как настроит программный RAID» для «Простого файл-сервера» и «Как настроить всю сеть (802.3ad)» , поскольку скорость работы диска и пропускная способность для этого варианта сервера должны быть очень высокими. Настоятельно рекомендуется собирать такую сеть с использованием сервера с высокоотказоустойчивыми сетевыми и дисковыми подсистемами.
  • Вы увидите, что в качестве редактора мы используем VIM, это только потому, что я привык к нему . Вы можете пользоваться любым другим редактором, который вам нравится.

Установка — трудное начало с использованием системы FOG

FOG является свободным решением, предназначенным для клонирования компьютеров и имеющая открытый исходный код, которое было создано Чаком Суперски и Цзянь Чжаном ( Chuck Syperski и Jian Zhang ). FOG берет обычно используемое программное обеспечение (например, Apache, MySQL и tftpd-hpa упомянуть некоторые из них) и упаковывает их в виде свободного и самодостаточного решения PCLM (PC Lifecycle management), предназначенного для управления жизненным циклом ПК. Нужно упомянуть, что с помощью такого свободного решения PCLM можно с помощью единого центральный веб-интерфейса выполнять резервное копирование состояния компьютера путем создания его образа, развертывать программы и настройки (например, Firefox, Office, принтеры и т. д.), а также политики конфигурирования (например, настроек автоматического завершения сессии и экранной заставки).

Примечание: интервью с Чаком Суперски и Цзянь Чжаном о FOG доступно на Tightwad Tech .

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

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

  • Загрузите последнюю версию пакета FOG из sourceforge в каталог, созданный на предыдущем шаге.
  • Разархивируйте пакет и начните установку.
  • Установщик задаст вам несколько вопросов:

  1. What version of Linux would you like to run the installation for? (Для какой версии вы хотите запустить инсталляцию?) – 2 (опять же, при условии, что используется система, базирующаяся на Debian)
  2. What type of installation would you like to do? (Какой вариант инсталляции вы хотите выполнить?) [N] – Нажмите Enter
  3. What is the IP address to be used by this FOG Server? (Какой адрес IP будет использоваться сервером FOG?) [адрес IP сервера, обнаруженного на eth0] – Нажмите Enter.
  4. Would you like to setup a router address for the DHCP server? (Хотели бы вы настроить адрес маршрутизатора для сервера DHCP) [Y/n] – Нажмите Enter.
  5. Would you like to setup a DNS address for the DHCP server and client boot image? (Хотели бы вы настроить адрес DNS для сервера DHCP и клиента загружаемого образа?) [Y/n] – Нажмите Enter.
  6. Would you like to change the default network interface from eth0? If you are not sure, select No. (Хотели бы вы изменить используемый по умолчанию сетевой интерфейс eth0? Если не уверены, то выберите вариант No) [y/N] – Нажмите Enter.
  7. Would you like to use the FOG server for dhcp service? (Хотели бы вы использовать сервер FOG в качестве сервиса dhcp?) [Y/n] – Нажмите Enter (* – см. примечание ниже).
  8. This version of FOG has internationalization support, would you like to install the additional language packs? (В настоящей версии FOG имеется поддержка интернационализации, хотели бы вы , чтобы установить дополнительные языковые пакеты?) [Y/n] – Нажмите n.
  9. Are you sure you wish to continue? (Вы уверены, что хотите продолжить?) (Y/N) – Нажмите Y.
  10. Acknowledge and follow the on screen instructions for “MySQL“. (Подтвердите и следуйте инструкциям пакета «MySQL»)
  11. Leave the MySQL password blank for the root account. (Для аккаунта root оставьте пароль для MySQL пустым)
  12. Would you like to notify the FOG group about this installation? (Хотели бы вы уведомить группу FOG об этой инсталляции?) – Нажмите Y (рекомендуется)

Изображение взято из FOG wiki.

  • Перейдите в вашем браузере по адресу пакета FOG и следуйте инструкциям, выдаваемым на на экран.
  • * Примечание: Предполагается, что у вас нет другого DHCP или он не настроен для использования PXE. Если вы хотите сконфигурировать существующий DHCP, то смотрите описание Конфигурирование DHCP для PXE .

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

    Если все пройдет так, как надо, у вас должна быть возможность выполнить загрузку вашей клиентской машине в режиме PXE (обычно с помощью F12) и получить меню-приглашение, используемое в системе FOG по умолчанию.

    Изображение получено с помощью Hotfortech.

    Чтобы сразу почувствовать вкус возможностей, вы можете выбрать вариант «Run Memtest86+» (выполнить тест Memtest86 +) и получить приглашение программы Memtest, которую мы рассматриваем в нашей статье «Диагностика аппаратных проблем ПК с помощью Ubuntu Live CD» .

    Файлы и каталоги

    Как отмечалось ранее, наша цель заключается в расширении возможности системы FOG и с этой целью мы должны добавить некоторые файлы и каталоги.

    Создайте следующие подкаталоги:

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

    Настройте конфигурационный файл default, используемый по умолчанию

    Мы создадим новое главное меню и поместим в свое собственное подменю все функции системы FOG.

    Скопируйте конфигурационный файл /tftpboot/pxelinux.cfg/default в howtogeek/menus/fog.cfg.

    Теперь отредактируйте содержимое исходного файла default, используемого по умолчанию:

    Сделайте так, чтобы его содержимое выглядело следующим образом:

    Когда мы закончим, эта конфигурация позволит вам получить следующие 3 подменю: Utilities (Утилиты), Manual FOGing (Ручное управление системой FOG), Linux stuff (Linux).

    Создайте мастер-файл

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

    Сделайте так, чтобы его содержание было следующим:

    Читайте также:  Сохранение фото из Instagram на iPhone

    В конфигурации, приведенной выше, будут созданы фиолетовые границы и выделение текста;, если вы хотите, чтобы внешний вид был другой, просто измените значения.

    Чтобы задать фоновый рисунок, поместите картину в каталог /tftproot и укажите для MENU BACKGROUND относительный путь к рисунку (мы рекомендуем использовать изображения с разрешением 640*480). Например полный путь к рисунку, сконфигурированному выше, будет /tftproot/fog/bg.png.

    Подключите подменю FOG к основному меню

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

    Поэтому отредактируйте файл /tftpboot/howtogeek/menus/fog.cfg:

    Добавьте следующую запись после записи «menu color title» и перед функциями FOG:

    Создайте заготовки для подменю

    Мы создали 4 подменю, три из которых будут нами заполнены. Для этого давайте создадим шаблон, которым мы будем пользоваться в дальнейшем.

    Создайте файл шаблона:

    Его содержимое должно быть следующим:

    Давайте зададим заготовки для дополнительных подменю, которые нам потребуются в следующих статьях:

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

    PXE-MOF: Exiting PXE ROM — что это такое?

    Приветствую друзья! Сегодня мы поговорим про такую ошибку как PXE-MOF: Exiting PXE ROM. Моя задача — собрать максимум информации и написать здесь все простыми словами.

    Примерный вид ошибки:

    Я напишу свое мнение, свои советы. Здесь как бы особо путей решения проблемы нет — дело в материнке, в жестком либо в настройках биоса.

    Ошибка PXE-MOF: Exiting PXE ROM — разбираемся

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

    PXE-E61: Media test failure, check cable. PXE-MOF: Exiting PXE ROM.Error operating system

    PXE-E61: Media test failure, check cable
    PXE-MOF: Exiting Intel PXE ROM
    Boot failure: System Halted

    Значит ошибка похожу означает.. что виндовс не может загрузится по сети. Да, имеется ввиду — загрузка по локальной сети, и если я правильно понимаю, то все может обходиться даже без жесткого диска.

    Нужно зайти в биос и отключить там загрузку по локальной сети, такая опция может называться например LAN Boot ROM. Но на разных материнках называться может по-разному — поищите в интернете, указав модель материнки либо хотя бы фирму.

    PXE это вроде какая-то среда, которая поддерживает сетевую загрузку. Старые компы эту фишку могут не поддерживать, поэтому там делают так — вставляют дискету/флешку со специальной прогой, и потом загружаются с этой дискеты/флешки и подключатся. Как понимаете, это дело требует опыта, нужно в этом немного как бы шарить.

    Как по мне — фишка крутая. Правда я никогда не пробовал ее. Это как Тимвиер, но куда круче, мне просто кажется что все это должно работать стабильнее и быстрее чем Тимвиер. Хотя понимаю что Тимвиер вообще из другой оперы..

    Мое личное мнение, что самые частые причины ошибки это:

    • Неверные настройки биоса.
    • Жесткий диск полетел, например что-то сгорело на плате диска.

    Кабель жесктого диска

    Вы можете быть удивлены, но я вам предложу вариант решения такой:

    1. Попробовать извлечь кабель питания из диска и сигнальный кабель.
    2. Короче полностью диск от материнки отключите.
    3. Подождите минуту. А потом подключите обратно.

    Все действия производить когда ПК обесточен. То есть не просто кнопка на блоке питания, а из розетки выключите.

    Вы спросите меня, но причем тут вообще это? Ребята, прикол в том, что в биосе есть порядок загрузки. Он может быть например такой:

    1. Сперва пробуем загружаться из флешки.
    2. Если ее нет — ищем жесткий диск.
    3. Если нет диска — пробуем по сети.

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

    Другие варианты

    1. Могут быть аппаратные проблемы. Например на материнке перегорел какой-то чип. Бывает если.. был скачок напряжения, молния, часто встречается когда ПК сам по себе выключился, а после включения — ошибка PXE-MOF: Exiting PXE ROM.
    2. Тоже самое что и первый пункт, но относится к жесткому или к SSD — он накрылся. В итоге материнка его не видит и пробует загрузиться и следующего устройства из списка загрузки.
    3. Мысль — ошибка PXE-MOF: Exiting PXE ROM может появиться, если например был сброшен биос. Он сбросится может.. когда села батарейка CMOS на материнке, тогда стоит ПК обесточить на пару минут как настройки биоса будут сброшены. Тоже самое касается и ноута.

    Так что делать?

    Судя по всему, что мы узнали, по тому что я нашел в интернете — самое главное:

    1. Зайти в биос, настроить так, чтобы загружался сперва жесткий диск.
    2. Либо в биосе отключить полностью загрузку по сети.
    3. Если у вас современная материнка Асус, то там при включении нажимаете F8 — будет меню устройств, с которых вы можете попробовать загрузится. Выберите там жесткий диск — в названии может упоминаться фирма, например Hitachi, Seagate, WD (Western Digital).
    4. Если вы с биосом разобрались точно — теперь нужно проверить диск.
    5. Если винда загрузилась — отлично. Нет — тогда пробуем загрузиться с установочной флешки USB, на которой стоит образ винды — просто для проверки. Если ок — значит вероятно с материнкой все норм.
    6. Пробуем настройки биоса. Если что — сможете сделать сброс.
    7. Если ничего не помогает — пробуем установить винду на жесткий. Может получится установить на другой раздел, где нет важных файлов, либо вообще создать новый. Да, это можно сделать например при помощи LiveCD, если он у вас есть конечно.

    Ваша задача — запустить Windows и поработать в ней. Если задача выполнима — скорее всего с железом все нормально. При последующих ошибках — косяк в настройках биоса либо может нужно что-то настроить в самой винде.

    На заметку — может быть такое, что с Windows 7 будут траблы, а с Windows 10 — нет.

    Заключение

    Надеюсь мои советы кому-то помогли.

    Главное мы выяснили:

    1. Ошибка при загрузке PXE-MOF: Exiting PXE ROM, либо другая, в названии которой встречается слово PXE — часто означает, что комп не может загрузиться по сети.
    2. Нужно разобраться вообще с тем, почему ПК решил загружаться по сети. Что нет других источников — что с жестким диском?
    3. Самый идеальный вариант — загрузиться из LiveCD и проверить работу жесткого диска. Если работает — то все отлично, ничего серьезного, скорее всего косяк в настройках биоса.

    Надеюсь информация помогла. Удачи и добра, до новых встреч!

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

    Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

    Efi pxe network что это

    В этом небольшом посте я расскажу вам о практических способах реализации загрузки бездисковых устройств через PXE. Скажем так, что до определенного момента я совсем не интересовался этой проблемой и о PXE имел весьма посредственное представление, также, наверное как и у большинства. Т.е. все из нас знают, что в современных ПК есть возможность загрузки по сети, каждый видел в BIOS’е собственного ПК такую возможность (PXE Boot, LAN Boot), но мало кто использовал ее на практике. Реализацией этой возможности мы и займемся на практике, а также рассмотрим какое практическое применение в “домашних условиях” может иметь сетевая загрузка.

    Наша “тестовая лаборатория” включает в себя:

    • Маршрутизатор Mikrotik 951G-2HnD с RouterOS v6.39 (stable)
    • Сетевое хранилище Western Digital My Cloud EX2

    • PXE – Сетевая загрузка с микротика – здесь описывается настройка Mikrotik + TFTP для сетевой загрузки с использованием GRUB (Grub4DOS), а также приведен пример рабочей конфигурации для загрузки ALKID LiveCD и VINCOME LiveCD через PXE. Немного не то что нам хотелось (мы то хотели грузить Ubuntu LiveCD), но тем неменее информация полезная, берем на заметку.
    • Настройка TFTP сервера на Mikrotik RouterOS – а вот здесь рассматривается настройка TFTP на Mikrotik, правда тут уже у нас уже используется не GRUB, а PXELINUX (SysLinux) в качестве загрузчика. Который, как мы убедимся позже, можно будет использовать и для реализации сетевой установки Ubuntu, и для загрузки LiveCD и для множества других вещей. Уже интересно, не правда ли? Знакомимся со статьями дальше.
    • Загрузочный сервер — как загрузочная флешка, только сервер и по сети – пост на Хабре, в котором рассказывается о том как сделать “загрузочную флешку” по сети. Собственно такая конфигурация отлично подойдет для различных сервисных центров и т.п., с другой стороны, выбрать то, что будет грузиться по сети лично у него – это решение каждого, благо примеров полно. К концу чтения этого поста, вы (по-крайней мере я на это надеюсь) поймете, насколько это удобно.
    • Домашний роутер с PXE-Boot и сервисами. – приводится пример организации PXE загрузки на Asus’овском роутере с прошивкой Merlin-Firmware. Честно говоря я сам подобную никогда не использовал, но статья ценна уже как минимум различными примерами рассмотренных в ней конфигураций для загрузки. А также как отличная иллюстрация того, что при желании, для реализации PXE загрузки можно использовать только лишь ресурсы бюджетного SOHO устройства.
    • Как воспользоваться сетевой загрузкой (PXE) для Ubuntu LiveCD – переводная статья с HowToGeek, в принципе тоже может быть интересна. Кстати, именно по теме сетевой загрузки Ubuntu LiveCD вы так или иначе наткнетесь на различные ее вариации в поиске.
    • Мультизагрузочный PXE-реаниматор – статья на 3DNews от 2012 года, но тоже в принципе интересно. Если вы читая этот пост пока просто просматриваете эти ссылки “по диагонали” – то наверное уже поняли, что PXE загрузка предоставляет практически неограниченный набор возможностей, наша задача лишь научиться правильно применить их для наших задач.
    • [How-To] Запуск LiceCD Ubuntu (и не только) с любого ПК в сети с помощью PXE – название поста говорит само за себя, все действия автор проводит на сервере под управлением Debian 7. Т.е. DHCP + TFTP и т.п. у него развернуты на отдельном ПК с Debian 7. Тоже интересно, помечаем в “копилку”.
    • Configure PXE Server In Ubuntu 14.04 – похожий англоязычный вариант.
    • Установка Ubuntu по сети (DHCP, PXE, boot-menu) на примере Ubuntu 14.04.
    • Ubuntu 16.04 / Debian 8: Run PXE boot server for automated install – конфигурирование сервера для автоматизированной установки Ubuntu и Debian по сети. Лично мне эта статья понравилась различными комментариями и дополнительными пояснениями. Если читать вдумчиво, а не по диагонали, то становится (хотя бы на базовом уровне) понятно что такое pxelinux.0, ldlinux.c32 и т.п.
    • Booten vom Netzwerk: Ubuntu 16.04 via PXE starten – статья, правда на немецком, подробно рассказывающая про то, как правильно настроить загрузку LiveCD с Ubuntu по сети. Собственно она и легла в основу решения поставленной задачи.
    • Руководство по сетевой загрузке предустановочной среды Windows (WinPE)
    • IT Geek: How to Network Boot (PXE) the WinPE Recovery Disk with PXElinux v5 & Wimboot
    Читайте также:  Оптимизация презентации PowerPoint

    Ну и на первое время достаточно. Просмотрев / прочитав все это начнем ваять что-то свое. Первое что мы делаем – это подключаем флешку к Mikrotik’у и форматируем ее в FAT32: System -> Disks -> Format drive . Сделать это можно как через WinBox, так и через Web-интерфейс Mikrotik. Проблем с этим возникнуть не должно.

    Затем скачиваем заранее подготовленный архив 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 сервер.

    Переходим на закладку IP -> DHCP Server -> Networks в Mikrotik, выбираем нашу подсеть и делаем там следующие настройки:

    На этом приготовления к первому запуску закончены. Можно брать любой ПК и пробовать загрузиться по сети. Для меня наиболее простым решением было создание отдельной виртуальной машины в VirtualBox и настройка ее на загрузку по сети. В результате, если все сделано правильно, вы увидите вот такую вот симпатичную менюшку PXELinux:

    Сама конфигурация этого меню находится в файле disk1/tftpboot/ubuntu-installer/amd64/boot-screens/menu.cfg . Если мы попробуем загрузиться в Kolibri OS для примера, то заметим что передача казалось бы маленького (всего 66.5 Mb) образа kolibri.iso через TFTP даже по гигабитной сети займет довольно продолжительное время:

    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:

    С гигабитной сетью все получилось достаточно быстро. Основное время здесь правда тратится на загрузку vmlinuz.efi (7 Mb) и initrd.lz (27 Mb) по TFTP. И вот здесь мы подходим к главному? А можно ли как-то грузить эти файлы тоже с NFS или с HTTP ресурса? Можно! И ответом здесь является использование вместо PXELinux (который к сожалению так не умеет), загрузчика iPXE. Настоятельно рекомендую вам познакомиться с ним и изучить примеры и т.п. на официальном сайте. В архив pxe-mikrotik-disk1.rar уже входит ipxe.lkrn , собранный мной из исходников с включенной поддержкой HTTP, NFS и т.п.:

    Обратите внимание, есть поддержка DNS, HTTP, iSCSI, NFS, TFTP и др. вещей. Т.е. грубо говоря используя iPXE вы можете разместить необходимые файлы не только на NFS шаре, но и где-нибудь в интернете, например, на http://yourdomain.ru/files/ . и загрузчик будет брать их оттуда. При выборе опции Load iPXE SuperBoot Menu в PXELinux открывается меню загрузчика iPXE:

    И вот здесь уже, согласитесь, есть чем впечатлиться. Сама конфигурация этого меню находится в файле boot.ipxe, который был взят мной из этого проекта bradgillap/IPXEBOOT на GitHub’е. Внутри подробные примеры и комментарии для всех вариантов загрузки, фактически это означает что вы с минимальными усилиями сможете настроить у себя загрузку любого из приведенных пунктов меню, просто разместив необходимые файлы у себя в сети и скорректировав boot.ipxe .

    Ну и последнее о чем хотелось бы рассказать – это о загрузке *.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.

    Кстати, в меню iPXE SuperBoot от bradgillap есть пункт External Linux Installs. Фактически это внешнее (т.е. находящееся в интернет) загрузочное меню, которое позволяет вам установить некоторые Linux-based ОС, а также загрузить некоторые варианты LiveCD онлайн. Т.е. для того чтобы установить тот же Ubuntu, фактически достаточно только соответствующим образом сконфигурировать DHCP . Все остальное, даже на этапе загрузочного меню может быть взято из сети.

    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

    Развиваем тему загрузки по сети
    На этот раз будем переделывать Grub4Dos на загрузку через syslinux с использованием ipxe
    Разбирать начальную установку сервера не станем, так как уже рассматривался в первой статье по сетевой загрузке
    Установка тонких клиентов на примере загрузки Thinstation и Grub4Dos
    Единственное что нам понадобится, это WEB сервер с модулем просмотра файлов. Любой. Я ставлю lighttpd

    Теперь пойдем по порядку

    1. Качаем и собираем всё необходимое для syslinux
    2. Создаем структуру каталогов
    3. Загружаем iso файлы
    4. Загружаем ipxe
    5. Пишем и правим конфигурацию до необходимого результата
    Читайте также:  Считаем количество символов в документе Microsoft Word

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

    Syslinux

    Создаем в корне tftp сервера папку syslinux
    Здесь будет вся наша структура каталогов и прочее
    Если кроме данной сборки ничего больше не используется, то можно не дробить на подкаталоги и делать без подпапки syslinux
    В моем случае используются и другие загрузочные pxe файлы
    В папке syslinux создаем подпапки:
    pxelinux.cfg – папка конфигурации загрузчика
    utils – папка утилит, можно и без нее кидать всё в корень
    В папке pxelinux.cfg создаем файл пустой файл default
    Это файл основной конфигурации меню syslinux

    Качаем с сайта архив https://cdn.kernel.org/pub/linux/utils/boot/syslinux/
    На момент установки syslinux-6.03.zip
    Не похоже чтобы он развивался дальше так как версия от 06-Oct-2014 16:33
    Распаковываем в любую временную папку и начинаем искать файлы
    Файлы необходимы для базовой работы загрузки по сети. Они раскиданы по папкам. Самое простое, воспользоваться поиском.

    Как видим файл с одинаковым именем встречается в нескольких подкаталогах.
    Нас интересует простой метод, без efi. Берем по пути ./bios/com32/
    Если что-то не докопировали, то при загрузке сервер сообщит об этом
    Список файлов и структура которую мы должны получить в итоге:

    В настройках DHCP сервера, для клиентов указываем файл загрузки
    /syslinux/pxelinux.0

    ISO IPXE

    В корне папки syslinux создаем подпапки
    iso – папка с загрузочными образами
    ipxe – папка с файлами конфигурации и модулем загрузки ipxe
    Закидываем образы для загрузки по сети. Это Live утилиты. С загрузкой больших Live линукс дистрибутивов есть сложности. Для начала рассматриваем что работает без нареканий
    Подопытный ноутбук имеет частоту CPU 1533 и на борту 512 памяти
    По большей части загрузка по сети делается для старого оборудования, которое не умеет грузиться с USB
    В папку ipxe качаем готовый обра IPXE

    Для загрузки образом есть несколько вариантов. Можно использовать nfs, можно использовать http.
    Так как в начале я ставил lighttpd, то понятно что я использую http
    Необходимо настроить путь к папке с образами, а именно путь до папки iso

    Не забвайте про права на папки, так как lighttpd работает от имени пользователя www-data, то необходимо предоставить права на iso. В процессе настройки это может понадобиться не один раз

    Конфигурация

    Основная логика работы такая:
    В пункте меню syslinux выбирается пункт, и в зависимости он грузится или сразу в память, или посредством ipxe по сети
    Мелкие образы я гружу сразу в память через модуль memdisk. Так как её мало то большие образы уже не загрузить и выдается ошибка, поэтому вызывается файл конфигурации *.ipxe для http через модуль ipxe.lkrn
    В папке ipxe создаем файл с параметрами загрузки образа. Под каждый образ, свой файл

    Теперь правим основной файл конфигурации syslinux
    Для фонового изображения необходимо положить его в папку /syslinux/pxelinux.cfg/back.jpg
    Размер изображения должен совпадать с разрешением экрана в конфигурацци
    В моем случае это 800×600

    В итоге структура каталогов имеет вид:

    При попытке загрузить обычный Linux Live дистрибутив, получаем ошибку initramfs
    В принципе есть варианты решений http://ipxe.org/appnote/ubuntu_live
    Мне удалось загрузить Slax
    Сами параметры загрузки можно увидеть распаковав образ Slax iPXE с сайта https://www.slax.org/
    Мы будем загружать простой образ Slax 32bit
    В папке iso создадим папку slax, в ней подпапку ipxe
    В папку ipxe необходимо положить загрузчик slax. Его можно взять из образа или скачать http://ftp.linux.cz/pub/linux/slax/Slax-9.x/ipxe/9.7.0/32bit/
    Сам образ кладем в корне папке slax, здесь же будет и файл параметров конфигурации slax-32bit-9.7.0.ipxe
    Проделываемые действия, без сокращений чтобы лучше понимать

    В меню syslinux создадим пункт меню

    Если получили ошибку доступа к файлам, то не забываем править права

    IP адрес – это адрес сервер tftp, того где мы все это настраиваем

    Расширяем функционал WDS: добавление возможности загрузки в UEFI

    В данной статье, описаны шаги которые необходимо выполнить, для добавления к вашему WDS, возможности загрузки в режиме UEFI.

    Т.е. инструкция в данной статье, предполагает, что у вас уже имеется, примерно следующая конфигурация:

    Так же, здесь описаны действия, которые не принесли мне должного результата.
    Описал я их, для облегчения поиска и экономии вашего времени.

    Предисловие

    Сделал как-то на работе WDS с множеством плюшек, т.к. устал постоянно бегать с кучей флешек и перезаписывать их.

    Выглядит это вот так

    И всё было хорошо, добавлялись новые образы для загрузки, образ winPE обрастал новыми фичами и всё работало.

    Но, уже далеко не все устройства поддерживают режим загрузки BIOS/Legacy, либо если поддерживают, то его включение может находится в очень неочевидном месте.

    Да и установка windows в legacy режиме, когда есть возможность установки в UEFI — не круто.

    В итоге решил добавить возможность загрузки в UEFI, и отправился в гугл.

    Но структурированной информации, как получить рабочий WDS + UEFI, я так и не нашёл.
    Собственно, поэтому я и решил написать эту статью.

    Перед тем как начать, я опишу проблему, которая отняла больше всего времени.

    При добавлении UEFI к WDS возможна следующая, довольно не очевидная ситуация:

    Если вы добавляете загрузочный файл к WDS и при попытке загрузится на устройстве
    в UEFI вы видите следующий текст:

    Но загрузка в legacy у вас работает.
    Тогда один из возможных вариантов — отсутствие файла wdsmgfw.efi,
    по следующему пути:

    Взять его можно тут:

    Либо, если у вас отсутствует по какой-то причине этот файл, я его выложил на google .
    За это решение, спасибо ребятам с реддита .

    С этой проблемой я убил больше всего времени, т.к. я думал, что проблема где-то в конфигурации WDS или DHCP.

    Настраивал политики, путём добавления Vendor Classes(Классы поставщиков) для различных архитектур, и настройкой опций DHCP 060, 066, 067. Инструкция по настройке политик DHCP.

    Архитектуры в ASCII для настройки DHCP

    PXEClient:Arch:00000 — BIOS/Legacy
    PXEClient:Arch:00006 — UEFI x86
    PXEClient:Arch:00007 — UEFI x64

    Так же, пробовал различные варианты загрузочных файлов

    Так же пытался найти проблему в Журнале событий.

    Но, как я уже говорил выше, проблема крылась в файле wdsmgfw.efi.
    Либо я его сам случайно удалил, либо он не скопировался при установке
    и настройке WDS.

    Инструкция

    Этап 1 — Проверка работоспособности WDS

    Возьмите любое устройство или виртуальную машину с поддержкой загрузки в режиме UEFI по сети и попробуйте загрузится.

    У вас должна быть следующая картина:

    Если так, то отлично, можно продолжать.
    Если же нет, то смотрите, что я написал в предисловии.

    Этап 2 — Сборка загрузочного файла iPXE

    Запускаем заранее подготовленную Ubuntu, открываем терминал и вставляем эту строку:

    Тут хотелось бы сделать небольшое замечание, о том, что возможно вам в Ubuntu придётся добавить пакеты, необходимые для компиляции C и C++.
    Просто у меня они уже были установлены.

    Скачалось? — Отлично!
    Теперь нужно сделать конфигурационный файл для сборки.
    В терминале, пишем:

    И вставляем в этот файл, следующий код, после чего сохраняем:

    Идём опять в терминал и запускаем компиляцию:

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

    И файл ipxe.efi, по пути:

    Если у вас по какой-то причине не получилось скомпилировать самостоятельно,
    я приложил свой файл .
    Он скомпилирован для загрузки с

    На этом с Ubuntu всё.

    Этап 3 — Добавление ipxe.efi к WDS

    Берём файл, который мы получили во втором этапе и копируем по пути:

    После переименовываем его в BOOTX64.EFI.
    Это не обязательно, так просто удобней.

    Потом запускаем cmd от имени администратора, и пишем следующие команды:

    Этим мы установим полученный файл для загрузки через WDS.

    Я так же скопировал файл ipxe.efi, переименовал его в BOOTIA32.EFI и сконфигурировал загрузку для него, на всякий случай.

    Но по большому счёту в этом нет смысла, т.к. файл Bootmgfw.efi не поддерживает x86

    Проверим, что получилось.

    Отлично, WDS передаёт для загрузки наш файл и он в свою очередь ищет конфигурацию по пути:

    Этап 4 — Конфигурация меню

    Идём в корневую папку вашего сайта.
    По умолчанию это:

    Создаём текстовый файл install.ipxe.

    И конфигурируем его в соответствии с документацией и вашими нуждами.
    Так же имеется русскоязычное описание команд.
    Я пользовался этой инструкцией при конфигурации своего WDS.

    Пример конфигурации install.ipxe

    Про конфигурацию для загрузки winPE можно прочитать здесь .

    Этап 5 — MIME types

    После создания меню и добавления всех необходимых файлов в корневую папку IIS,
    необходимо дать к ним доступ.

    Т.к. даже если вы попробуете из браузера скачать файл, по его адресу то получите ошибку:

    .

    Для этого необходимо в панели управления IIS добавить типы MIME, в соответствии
    с расширениями файлов которые у вас будут загружаться через http.

    Я не искал какой тип MIME подходит для этих целей лучше, и задал

    , после чего всё заработало.

    Для файлов у которых нет расширения, используйте точку.

    Заключение

    В конечном итоге, у нас получается возможность загрузки по локальной сети через UEFI.

    Если мы всё сделали правильно, то будет примерно такое меню выбора загрузки:

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

    Спасибо за внимание и огромное спасибо тем людям чьи статьи мне помогли!
    На Хабре это: Ingtar и Deeptown .

    Ссылка на основную публикацию
    Adblock
    detector