Begin pxe scan при загрузке с флешки

Begin pxe scan при загрузке с флешки

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

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

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

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

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, того где мы все это настраиваем

Содержание статьи

Сегодня автоматизируется все больше задач, для максимальной отдачи серверов все шире используют виртуализацию. Но устанавливать операционки по-прежнему приходится. Каждый делает это по-своему: у кого-то полные карманы различных образов на все случаи жизни, кто-то по старинке носит с собой «барсетку» с дисками, а то и две. Как правило, администраторы выполняют эту работу с невеликим удовольствием. Давай посмотрим, как сократить время на тривиальные задачи, как научить компьютеры устанавливать системы самостоятельно, вообще без участия админа, используя при этом только локальную сеть.

Итак, сегодня мы научимся: устанавливать Windows и Linux по сети, грузить небольшие ISO-образы, полезный софт (всяких там Касперских, Акронис, WinPE, мемтесты), разворачивать тонкие клиенты и рулить ими. Чтобы, например, бухгалтер, работающая с 1С по RDP, не прибила тебя за то, что у нее слетела винда, а отчет нужно было подготовить еще вчера. Или скупой начальник, который не хочет обновлять свой комп, восхитился твоим профессионализмом, когда увидит, как на стареньких компах летает Windows 8. В достижении наших коварных целей нам поможет сервер, предоставляющий загрузку по сети (PXE).

У любого системного администратора в заначке есть универсальный USB-диск для экстренной реанимации компьютера. Согласись, было бы куда лучше иметь ту же функциональность, используя одну лишь сетевую карту. Нельзя при этом не отметить возможность одновременной работы с несколькими узлами сразу. Итак, исходя из наших потребностей у нас есть два пути решения: использовать PXE или LTSP.

LTSP нам не очень подходит: он призван грузить по сети ОС, установленную на самом сервере, что позволяет использовать приложения сервера LTSP. Это не совсем то, что нам нужно. PXE — инструмент для загрузки компьютера по сети без использования локальных носителей данных, так же как и LTSP. PXE позволяет организовать мультизагрузочное меню загрузки, аналогичное универсальному «USB-реаниматору».

Главное меню загрузки PXE, графический режим

Что будем реализовывать?

Началось все с необходимости иметь под рукой инструмент для удаленной установки Ubuntu/Debian Server по сети, с возможностью загрузки Live CD маленькой системы, вроде SliTaz или Kolibri OS.
Как говорится, аппетит приходит во время еды: намеченное не успели реализовать, а к плану добавился еще ряд «хотелок». В итоге список получился весьма внушительным.

  1. Тонкие клиенты на базе Thinstation Linux.
  2. Раздел Linux.
  1. Установка Ubuntu 14.04 x86.
  2. Установка Ubuntu 14.04 x64.
  3. Установка Ubuntu 12.04 x86.
  4. Установка Ubuntu 12.04 x64.
  5. Загрузка SliTaz Live CD.
  • Раздел Windows.
    1. Установка Windows 2012.
    2. Установка Windows 7.
    3. Acronis.
      1. Windows PE с пакетом полезного ПО.
      2. Acronis True Image.
        1. Legacy BIOS.
        2. UEFI.
        3. Acronis Disk Director.
          1. Legacy BIOS.
          2. UEFI.
          3. Касперский Rescue v 10.
          4. ERD Commander от 5 до 8 через ISO-образ.
          5. Memtest.
          6. Собираем все в кучу и взлетаем

            В качестве дистрибутива для сервера выбор пал на Ubuntu Server 14.04.2 LTS. Можно остановиться на любой другой ОС, разница будет только в синтаксисе. Итак, приступим. Нам потребуется TFTP, DHCP (необязательно установленный на этом же сервере, в роли DHCP-сервера может выступить роутер), сервис для организации сетевой файловой системы NFS. Рассматривать будем только те настройки, которые нас интересуют в рамках темы. Первым делом установим все необходимое, предварительно сделав все обновления:

            Продолжение доступно только участникам

            Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

            Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

            Читайте также:  Как узнать какой офис установлен на компьютере

            Вариант 2. Открой один материал

            Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

            Александр «Plus» Рак

            Участник сообщества OmskLUG. Инженер отдела электронного взаимодействия МКУ "Информационно технического управления".

            Игорь Осколков

            01 марта 2012

            Напоминаем, что попытки повторить действия автора могут привести к потере гарантии на оборудование и даже к выходу его из строя. Материал приведен исключительно в ознакомительных целях. Если же вы собираетесь воспроизводить действия, описанные ниже, настоятельно советуем внимательно прочитать статью до конца хотя бы один раз. Редакция 3DNews не несет никакой ответственности за любые возможные последствия.

            Помните, мы когда-то рассматривали создание универсальной USB-«аптечки» для экстренной починки компьютера? В последней статье мы познакомились с загрузкой по сети и программой DRBL. Ну а в этот раз мы займёмся созданием аналога мультизагрузочного носителя, только загружаться мы будем не с флешки, а по сети — с помощью PXE. Делается это довольно просто. Как обычно, нам понадобится машина под управлением Ubuntu Server 11.10 с двумя сетевыми картами, которая будет исполнять роль сервера. В BIOS клиентских машин должна быть включена поддержка сетевой загрузки.

            Дабы упростить себе задачу и не возиться по отдельности с установкой и настройкой различных сетевых служб вроде DHCP- и TFTP-сервера, мы воспользуемся более универсальным решением — dnsmasq. Это лёгкий DNS/DHCP/TFTP-сервер, который прекрасно подходит для сетевой загрузки машин. Как и в прошлый раз, договоримся, что сетевой интерфейс eth0 автоматически получает IP-адрес от роутера и имеет доступ в Интернет. В свою очередь eth1 смотрит во внутреннюю сеть и имеет статический IP-адрес 192.168.0.1. Отредактируйте сетевые настройки в файле /etc/network/interfaces с помощью текстового редактора nano, если вы этого ещё не сделали.

            В конце файла добавим настройки интерфейса eth1 и сохраним его (F2, Y, Enter).

            Если необходимо дать доступ в Сеть для локальных клиентов, то придётся сделать ещё кое-что. Во-первых, раскомментировать (убрать # в начале) строчку net.ipv4.ip_forward=1 в файле /etc/sysctl.conf. Во-вторых, выполнить пару команд. Последнюю команду надо добавить в конец файла /etc/rc.local перед строчкой exit 0, чтобы проброс Сети запускался при старте.

            Теперь надо установить dnsmasq, а также несколько утилит для облегчения работы — файловый менеджер Midnight Commander и утилиты для распаковки ISO-образов и архивов ZIP/RAR/7ZIP.

            Приступаем к настройке dnsmasq.

            Добавляем в самом конце следующие строки:

            Что есть что? Параметр interface указывает на то, с каким сетевым интерфейсом будет работать dnsmasq. В dhcp-range первые два параметра указывают начало и конец диапазона выдаваемых клиентским компьютерам адресов, затем идёт маска подсети и время аренды адресов. В поле server указываются IP-адреса вышестоящих DNS-серверов (например, провайдера), но при желании можно воспользоваться Google DNS или OpenDNS. Директива enable-tftp включает встроенный TFTP-сервер, а в tftp-root указывается корневой каталог для него. Наконец, в dhcp-boot прописывается загрузчик, который будет отдаваться по сети.

            Сохраним настройки и перезапустим сервер, а также создадим необходимые папки и запустим Midnight Commander (mc), где и продолжим основную работу. В /pxe/images/ будут храниться образы утилит или дистрибутивов, которые будут загружаться через локальную сеть. Каталог /pxe/pxelinux.cfg предназначен для хранения настроек PXE.

            Первым делом надо получить загрузочные программы из проекта syslinux. Скачайте наиболее свежий архив в домашнюю папку. Команды можно набирать прямо в mc или для удобства переключаться между консолью и панелями сочетанием клавиш Ctrl+O. Качать файлы удобнее всего программой wget. Например, вот так:

            Входим в скачанный архив, просто переместив выделение к нему и нажав Enter. Из него в директорию /pxe надо скопировать несколько файлов — pxelinux.0 из папки /core, menu.c32 из /com32/menu и memdisk из одноимённого каталога.

            Начинаем потихоньку заполнять настройки по умолчанию pxelinux.

            Добавим в этот файл следующие строки:

            Вообще вся документация по формированию параметров загрузчиков syslinux, и загрузочного меню PXE в частности, находится в текстовых файлах каталога docs архива syslinux. Разберём те параметры, которые мы только что использовали. По умолчанию запускается файл menu.c32, который и отображает наше PXE-меню. В TIMEOUT указывается время ожидания (в 1/10 с), после которого будет произведена загрузка пункта по умолчанию. В MENU TITLE содержится заголовок нашего меню. Туда можно вписать всё, что душе угодно.

            Затем идёт описание первого пункта меню. Каждому пункту для удобства обращения с ним присваивается метка (LABEL). В MENU LABEL имя метки, которое пользователь увидит при загрузке. MENU DEFAULT означает, что этот пункт из текущего меню будет запущен по умолчанию. Ну а директива LOCALBOOT 0 указывает на то, что надо завершить работу PXE и вернуться к обычной загрузке компьютера. Лучше оставить этот пункт для запуска по умолчанию.

            Разнообразим наш мультизагрузчик некоторыми утилитами. Возьмём, к примеру, известнейшую программу для тестирования памяти Memtest86+. Скачиваем с сайта архив с Pre-Compiled Bootable Binary. Сохраняем из него файл memtest.bin как memtest (без расширения!) в папку /pxe/images. Здесь мы сталкиваемся сразу с двумя особенностями. Во-первых, для набора syslinux ряд файлов (.0, .bin, .bs и так далее) должны иметь строго определённый формат. Тот же .bin для isolinux читается как загрузочный сектор CD, а memtest.bin таковым не является. Во-вторых, этот файл напрямую поддерживает загрузку с помощью syslinux, поэтому мы можем смело указать его в качестве запускаемого «ядра».

            Ещё один полезный вариант загрузки — использование memdisk. В этом случае носитель (iso-образ, raw-образ дискеты, образ HDD) полностью копируется в оперативную память компьютера и дальнейшая загрузка происходит с него. Вот пример для запуска KolibriOS. Из архива с дистрибутивом надо скопировать файл kolibri.img в папку /pxe/images, а в /pxe/pxelinux.cfg/default дописать нижеследующие строки.

            Можно поступить «суровее» — поставить в загрузку Hiren’s Boot CD. Уже можно догадаться, что iso-образ надо сохранить как /pxe/images/hirens.iso. На клиентской машине придётся подождать минуту-другую, пока полугигабайтный iso скопируется в память. Естественно, что на самом ПК должен быть хотя бы один гигабайт RAM. Зато после загрузки работа с Hiren’s Boot CD крайне быстра. Впрочем, таких экстремальных вариантов лучше, наверное, избегать.

            Возьмём пример посложнее — загрузим Clonezilla Live через PXE. Создаём папку /pxe/images/clonezilla. Туда надо будет скопировать все файлы из папки /live, которая лежит в ISO-образе. В настройках мы указываем загрузку ядра Linux (vmlinuz), а в APPEND передаём ему параметры. Их можно подсмотреть в файле isolinux/isolinux.cfg внутри ISO-образа (ключи ocs_* относятся непосредственно к Clonezilla, а не ядру как таковому). В нашем случае отличия от него будет немного — надо только указать, что файл с образом системы в Squashfs следует забрать при загрузке с TFTP-сервера.

            Внимание! Всё, что находится после APPEND, является одной-единственной строкой без переносов. Текст между директивами TEXT HELP и ENDTEXT будет показан в качестве подсказки при выборе соответствующего пункта загрузочного меню. Аналогичным образом добавляются в загрузку и другие дистрибутивы или утилиты на основе Linux. Попробуйте в качестве разминки прописать настройки для легковесного дистрибутива SliTaz.

            Как видите, всё довольно просто и достаточно гибко настраивается. Для дальнейшего изучения PXE-загрузки на базе Ubuntu Server неплохо было бы ознакомиться с wiki syslinux и документацией, которая прилагается в архиве к этой утилите. Из интересных решений с использованием PXE можно почитать, к примеру, про сетевую установку Windows 7 без применения RIS/WDS. А из полезных дополнений стоит присмотреться к дистрибутиву Thinstation для создания тонких клиентов, а также к менеджеру загрузки Plop. Несомненно, пригодятся утилиты для тестирования «железа» и диагностики проблем, для восстановления данных и создания бекапов, для… В общем, дело за вами. Удачи!

            Ссылка на основную публикацию
            Asus k56c установка ssd
            Запись сделана для тех, кто собирается делать аналогичный апгрейд своего Asus N56VZ, но безболезненно и без танцев с бубнами. А...
            Adblock detector