Проблема возникает при PXE-загрузке на Ubuntu: «Не удалось найти устройство, содержащее живую файловую систему Ubuntu».

Вопрос или проблема

У меня есть PXE загрузочный сервер на Linux Ubuntu, который должен обслуживать ISO образы Debian и Ubuntu. ISO образ Debian загружается на новое устройство без проблем, но возникает ошибка, когда я выбираю Ubuntu. Vmlinuz и initrd загружаются нормально, но в конце я получаю сообщение
Не удалось найти носитель с файловой системой live ubuntu
Это конфигурация файла “default”, который находится в /tftpboot/pxelinux.cfg/default

MENU TITLE PXE Boot Menu

LABEL Debian Net Boot
    MENU LABEL Debian
    KERNEL debian/install.amd/vmlinuz
    APPEND initrd=debian/install.amd/initrd.gz

LABEL Ubuntu Server Minimal
    MENU LABEL Ubuntu
    KERNEL ubuntu/casper/vmlinuz
    APPEND vga=788 initrd=ubuntu/casper/initrd

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

debian  ldlinux.e64  libutil.c32  menu.c32  pxelinux.cfg  syslinux.efi  ubuntu
kuba@kuba-Virtual-Machine:/tftpboot$ cd ubuntu/
kuba@kuba-Virtual-Machine:/tftpboot/ubuntu$ ls
boot  boot.catalog  casper  dists  EFI  install  md5sum.txt  pool
kuba@kuba-Virtual-Machine:/tftpboot/ubuntu$ cd casper/
kuba@kuba-Virtual-Machine:/tftpboot/ubuntu/casper$ ls
filesystem.manifest
filesystem.size
initrd
install-sources.yaml
ubuntu-server-minimal.manifest
ubuntu-server-minimal.size
ubuntu-server-minimal.squashfs
ubuntu-server-minimal.squashfs.gpg
ubuntu-server-minimal.ubuntu-server.installer.generic.manifest
ubuntu-server-minimal.ubuntu-server.installer.generic.size
ubuntu-server-minimal.ubuntu-server.installer.generic.squashfs
ubuntu-server-minimal.ubuntu-server.installer.generic.squashfs.gpg
ubuntu-server-minimal.ubuntu-server.installer.manifest
ubuntu-server-minimal.ubuntu-server.installer.size
ubuntu-server-minimal.ubuntu-server.installer.squashfs
ubuntu-server-minimal.ubuntu-server.installer.squashfs.gpg
ubuntu-server-minimal.ubuntu-server.manifest
ubuntu-server-minimal.ubuntu-server.size
ubuntu-server-minimal.ubuntu-server.squashfs
ubuntu-server-minimal.ubuntu-server.squashfs.gpg
vmlinuz

DHCP и TFTP работают так, как и должны. DHCP указывает на option bootfile-name "syslinux.efi";
Есть идеи, чего не хватает?
вставьте описание изображения здесь

Ответ или решение

Проблема, с которой вы столкнулись — сообщение об ошибке «Unable to find a medium containing a live file system» при загрузке через PXE для Ubuntu, может быть вызвана несколькими факторами. Давайте рассмотрим шаги по диагностике и решению этой проблемы.

1. Проверьте пути к файлам и их имена

Убедитесь, что конфигурация вашего файла default, находящегося в директории /tftpboot/pxelinux.cfg/default, правильно указывает на необходимые файлы. В частности, вам следует проверить, правильно ли указаны пути к vmlinuz и initrd.

Ваш текущий конфиг:

LABEL Ubuntu Server Minimal
    MENU LABEL Ubuntu
    KERNEL ubuntu/casper/vmlinuz
    APPEND vga=788 initrd=ubuntu/casper/initrd

Путь к initrd скорее всего неправильный. В вашем списке файлов ubuntu/casper вы видите initrd. Правильная строка должна быть:

APPEND vga=788 initrd=ubuntu/casper/initrd boot=casper netboot=nfs nfsroot=<IP-сервер>:/путь/к/вашему/образу

Имейте в виду, что может потребоваться указать параметр boot=casper, чтобы указать загрузчику, что это загрузка с Live CD.

2. Убедитесь в наличии файловой системы

Ошибка может также возникать из-за отсутствия файловой системы, необходимой для работы Ubuntu Live. Убедитесь в наличии файла filesystem.squashfs, который должен находиться в директории casper. Этот файл содержит фактические пакеты для загрузки.

3. Проверьте конфигурацию DHCP сервера

Убедитесь, что ваша конфигурация DHCP настроена правильно. Проверьте, что вы указываете правильный option bootfile-name и наличие настроек для PXE. Пример раствора конфигурации DHCP:

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.100 192.168.1.150;
    option domain-name-servers 8.8.8.8;
    option domain-name "example.com";
    option routers 192.168.1.1;
    option broadcast-address 192.168.1.255;
    option bootfile-name "syslinux.efi";
    filename "pxelinux.0"; # Используйте правильный загрузчик
    next-server <IP вашего TFTP-сервера>;
}

4. Проверка отладочной информации

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

5. Подготовка ISO и директории

Убедитесь, что файлы ISO, которые вы используете, корректны и что вы правильно их извлекли. Проверьте целостность ISO-образа с помощью md5sum или аналогичных средств. Возможно, имеет смысл пересоздать директорию ubuntu с помощью метода, как rsync, чтобы избежать потерь данных.

6. Обновление конфигурации

Если вы внесли изменения в конфигурацию, не забудьте перезагрузить службы DHCP и TFTP для применения изменений:

sudo systemctl restart isc-dhcp-server
sudo systemctl restart tftpd-hpa

Заключение

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

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

Капча загружается...