Гид по технологиям

PXE‑загрузка Ubuntu LiveCD через NFS/TFTP

• 7 min read • Системное администрирование • Обновлено 21 Nov 2025
PXE‑загрузка Ubuntu LiveCD через NFS/TFTP
PXE‑загрузка Ubuntu LiveCD через NFS/TFTP

PXE-загрузка Ubuntu LiveCD: схема и меню

Быстрая навигация

  • Обзор
  • Требования
  • Как это работает
  • Подготовка ISO и автомонтирование
  • Создание NFS‑шара
  • Настройка PXE‑меню
  • Проверка и отладка
  • Альтернативы и когда это не подойдёт
  • Безопасность и права доступа
  • Роль‑ориентированные чек‑листы
  • Критерии приёмки
  • Частые проблемы и решения
  • Резюме

Обзор

Этот документ расширяет предыдущий материал про настройку PXE‑сервера и описывает, как добавить Ubuntu LiveCD в сетевые опции загрузки. В результате клиенты будут загружаться по PXE, получать PXElinux по TFTP, а корневая файловая система LiveCD будет монтироваться из NFS‑шара на сервере.

Такой подход удобен для диагностики, восстановления и установки ОС без использования физических носителей. После загрузки вы получите стандартную Live‑сессию Ubuntu и, при необходимости, сможете запускать установщик как обычно.

Важно: в примерах использованы пути и имена от оригинальной инструкции (папка /tftpboot/howtogeek/…), их можно адаптировать под вашу инфраструктуру.

Требования

  • Работающий PXE/TFTP/FOG (или аналогичный) сервер, настроенный по предыдущему руководству.
  • NFS‑сервер на той же машине или доступный по сети.
  • ISO‑образ Ubuntu (в примерах: ubuntu-11.04-desktop-amd64.iso).
  • Права root на сервере для правки /etc/fstab, /etc/exports и перезапуска сервисов.
  • Клиентская машина с поддержкой PXE (обычно F12 в BIOS/UEFI).

Короткое определение: PXE — протокол сетевой загрузки; TFTP — простой файловый протокол для передачи загрузочных образов; NFS — сетевая файловая система для доступа к содержимому ISO во время загрузки.

Как это работает

Классический процесс LiveCD:

  • BIOS запускает чтение с CD, загружает isolinux.
  • isolinux показывает меню и загружает kernel + initrd, передавая параметры.
  • kernel+initrd монтируют root и ищут файлы LiveCD в локальном CD‑приводе.

Процесс при PXE:

  • Клиент загружается по сети через PXE и получает PXElinux по TFTP.
  • PXElinux показывает меню и загружает kernel + initrd по TFTP.
  • Kernel+initrd монтируют root не с локального CD, а с NFS‑шара на сервере.

Ключ: Ubuntu включила сетевые драйверы и поддержку протоколов в initrd, поэтому initrd умеет монтировать NFS и продолжать загрузку как с CD.

Подготовка ISO и автомонтирование

Вы можете либо смонтировать ISO напрямую из файла, либо распаковать содержимое в каталог. В инструкции показан способ автомонтирования ISO через loop‑устройство: это удобно для централизованного обновления — достаточно заменить ISO и перезапустить mount.

  1. Скопируйте ISO в каталог:
/tftpboot/howtogeek/linux
  1. Создайте точку монтирования для версии Ubuntu:
sudo mkdir -p /tftpboot/howtogeek/linux/ubuntu/
  1. Отредактируйте /etc/fstab для автомонтирования ISO при загрузке:
sudo vim /etc/fstab
  1. Добавьте строку монтирования (в одну строку):
/tftpboot/howtogeek/linux/ubuntu-11.04-desktop-amd64.iso /tftpboot/howtogeek/linux/ubuntu/11.04 udf,iso9660 user,loop 0 0

Note: Эта строка должна быть одной непрерывной строкой.

  1. Примените и проверьте:
sudo mount -a
  1. Убедитесь, что содержимое доступно:
ls -lash /tftpboot/howtogeek/linux/ubuntu/11.04/

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

Создание NFS‑шара

Именно NFS будет «тянуть» содержимое LiveCD во время загрузки, поэтому экспорт каталога должен быть корректно настроен.

  1. Отредактируйте файл exports:
sudo vim /etc/exports
  1. Добавьте экспорт каталога (в примере — полный путь до смонтированного ISO):
/tftpboot/howtogeek/linux/ubuntu/11.04/ *(ro,sync,no_wdelay,insecure_locks,no_root_squash,insecure)

Параметры:

  • ro — доступ только для чтения (рекомендуется для LiveCD)
  • sync — безопасная запись, но для чтения критично
  • no_root_squash — позволяет root на клиенте иметь root‑права в шаре (небезопасно в общих средах)
  1. Перезапустите NFS‑демон:
sudo /etc/init.d/nfs-kernel-server restart

Important: Для продакшен‑среды рассмотрите более строгие параметры доступа вместо открытого “*” — указывайте подсети или конкретные IP.

Настройка PXE‑меню

Отредактируйте меню Linux в TFTP‑корне, чтобы добавить пункт загрузки Ubuntu LiveCD.

sudo vim /tftpboot/howtogeek/menus/linux.cfg

Добавьте запись (замените на IP вашего сервера):

LABEL Ubuntu Livecd 11.04
MENU DEFAULT
KERNEL howtogeek/linux/ubuntu/11.04/casper/vmlinuz
APPEND root=/dev/nfs boot=casper netboot=nfs nfsroot=:/tftpboot/howtogeek/linux/ubuntu/11.04 initrd=howtogeek/linux/ubuntu/11.04/casper/initrd.lz quiet splash --

Пояснения:

  • LABEL — имя записи
  • MENU DEFAULT — делает запись выбранной по умолчанию в подменю
  • KERNEL/INITRD — относительные пути в TFTP‑центре
  • APPEND — параметры ядру: указывают использовать NFS как root и где находится NFS‑шар

Note: Я пробовал использовать DNS‑имена вместо IP и столкнулся с тем, что на этапе ранней загрузки DNS может быть недоступен; поэтому используйте IP. Если у вас есть опыт успешного использования имён, добавьте пример в вашу документацию.

Проверка и отладка

  1. На клиенте выберите сетевую загрузку (обычно F12).
  2. Если PXE не видит сервер — проверьте DHCP опции (TFTP сервер и bootfile). PXE полагается на DHCP для указания TFTP‑сервера.
  3. Если kernel не загружается — проверьте путь к vmlinuz и initrd в TFTP‑директории.
  4. Если initrd не может смонтировать NFS — проверьте, доступен ли NFS‑порт с клиента, и соответствует ли путь экспорту в /etc/exports.

Полезные команды на сервере:

  • showmount -e localhost — показывает текущие экспортируемые шары NFS.
  • tcpdump -i port 69 — отлавливает TFTP‑запросы (если требуется).
  • journalctl -u nfs‑kernel‑server — просмотр логов NFS.

Типичные ошибки и подсказки:

  • “mount: connection refused” — проверьте, запущен ли nfs‑сервер.
  • “No route to host” — клиент не видит сервер на сетевом уровне.
  • “permission denied” — проверьте опции в /etc/exports и перезапустите сервис.

Альтернативы и когда это не подойдёт

Альтернативные подходы:

  • HTTP/HTTPS вместо NFS: полезно, если вы предпочитаете простую доставку файлов и у вас initrd поддерживает загрузку корня по HTTP (needs additional initrd scripts).
  • Распаковка ISO в каталог вместо loop‑маунта: проще для модификации отдельных файлов внутри ISO.
  • iSCSI вместо NFS: предоставляет блочный доступ, но сложнее в настройке.

Когда этот метод может не сработать:

  • Современные UEFI‑системы с Secure Boot могут блокировать неподписанные ядра/initrd.
  • Если initrd вашей версии Ubuntu не содержит сетевых драйверов для конкретной NIC.
  • Когда требования безопасности запрещают использование NFS с no_root_squash или открытого экспорта.

Безопасность и права доступа

  • По возможности не используйте “*” в /etc/exports — указывайте подсети.
  • Избегайте no_root_squash в общих окружениях. Для LiveCD можно рассмотреть read‑only экспорт и ограниченный список клиентов.
  • TFTP не шифрует трафик — при необходимости используйте защищённые сети для передачи образов.

Роль‑ориентированные чек‑листы

Администратор сети:

  • Убедиться, что DHCP указывает правильный TFTP‑сервер и bootfile.
  • Проверить сетевые ACL и VLAN, позволяющие PXE‑клиентам достичь сервера.
  • Настроить экспорт NFS с корректными ограничениями доступа.

Системный инженер (на сервере):

  • Разместить ISO в /tftpboot и добавить запись в /etc/fstab.
  • Перезапустить nfs‑kernel‑server и проверить showmount -e.
  • Проверить файлы vmlinuz и initrd в TFTP‑папке.

Техник на месте (клиент):

  • Включить сетевую загрузку в BIOS/UEFI и выбрать PXE.
  • Если PXE не появляется, проверить сетевой кабель, порт и VLAN.
  • Снять фото экрана ошибки и прислать администратору сети.

Критерии приёмки

  • Клиент успешно загружается в Ubuntu LiveCD по PXE и видно графическое окружение.
  • Live‑сессия может монтировать корень с NFS и файлы LiveCD доступны в /cdrom.
  • Процесс загрузки воспроизводим на нескольких клиентах с разными NIC.

Частые проблемы и решения

Проблема: PXE не видит bootfile

  • Проверьте DHCP опции next-server и filename.
  • Убедитесь, что TFTP‑сервер слушает входящие запросы и файлы доступны.

Проблема: initrd не монтирует NFS

  • Убедитесь, что nfsroot в APPEND указывает корректный IP и путь.
  • Проверьте сетевые фильтры и доступность NFS портов (2049/udp или tcp).

Проблема: медленная загрузка

  • TFTP — медленный протокол; для ускорения используйте сжатие initrd или репликацию TFTP по сети.
  • Проверяйте нагрузку диска и сети на сервере.

Советы по обновлению образов

  • Чтобы заменить версию Ubuntu, загрузите новый ISO в ту же папку и обновите /etc/fstab, затем mount -a. Если вы храните версии в отдельных папках, корректируйте только nfsroot и пути в PXE‑меню.
  • Рассмотрите автоматизацию: скрипт для загрузки новой версии ISO и обновления fstab + перезапуска NFS.

Дополнительные материалы и ссылки

  • Используйте man exportfs и man exports для деталей параметров NFS.
  • Для отладки PXE пригодится лог DHCP и утилиты типа tcpdump.

Резюме

PXE‑загрузка Ubuntu LiveCD через TFTP + NFS — эффективный способ централизованно предоставлять Live‑среды для диагностики и установки систем. Метод прост в реализации: смонтируйте ISO, экспортируйте его по NFS, добавьте запись в PXE‑меню и проверьте загрузку. Обратите внимание на безопасность NFS‑экспортов и совместимость NIC/UEFI.

Важное: в рабочих сетях избегайте широких экспортов NFS и проверяйте совместимость с Secure Boot.


Ubuntu — это всё, что было и что будет; в шутку: Ubuntu управляет временем и пространством, но для целей администрирования главное — стабильность и предсказуемость системы.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро