Проблема возникает при загрузке PXE в Ubuntu: невозможно найти носитель с файловой системой live.

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

У меня есть сервер PXE-загрузки на Ubuntu. Он должен предоставлять ISO-образы Debian и Ubuntu. ISO-образ Debian загружается на новую машину без проблем, но проблема возникает, когда я выбираю Ubuntu. vmlinuz и initrd загружаются нормально, но в конце появляется сообщение Невозможно найти носитель, содержащий файловую систему ubuntu.

Это конфигурация файла “default”, который находится по пути /tftpboot/pxelinux.cfg/default

UI menu.c32
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

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

kuba@kuba-Virtual-Machine:/tftpboot$ ls
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";

У вас есть идеи, чего не хватает?

введите описание изображения здесь

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

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

Причины проблемы

  1. Неправильный путь к initrd и vmlinuz:
    Убедитесь, что пути к файлам vmlinuz и initrd указаны правильно в вашем конфигурационном файле.

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

  3. Недостаточные параметры загрузки:
    Иногда параметры, передаваемые ядру, могут быть недостаточными для успешной загрузки.

  4. Ошибки в конфигурации TFTP или DHCP:
    Если настройки TFTP или DHCP настроены неправильно, могут возникнуть проблемы с передачей необходимых файлов.

Решение

  1. Проверьте пути:
    В вашем конфигурационном файле необходимо убедиться, что строки KERNEL и APPEND правильно указывают на файлы:

    LABEL Ubuntu Server Minimal
       MENU LABEL Ubuntu
       KERNEL ubuntu/casper/vmlinuz
       APPEND boot=casper netboot=nfs nfsroot=<IP вашего PXE сервера>:/tftpboot/ubuntu/ ip=dhcp quiet splash --

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

  2. Добавьте параметры nfsroot:
    Возможно, вам нужно указать сервер NFS и путь к NFS-образу. Используйте следующее значение в параметре APPEND:

    nfsroot=<IP вашего PXE сервера>:/tftpboot/ubuntu

    Здесь вы заменяете <IP вашего PXE сервера> на фактический IP-адрес вашего сервера.

  3. Проверьте наличие файлов:
    Убедитесь, что все необходимые файлы находятся в директории ubuntu/casper/, включая filesystem.squashfs. Он должен присутствовать, чтобы система могла загрузиться.

  4. Перепроверьте настройки DHCP:
    Убедитесь, что настройки DHCP корректны и указывают на правильный файл загрузки, как вы уже упомянули:

    option bootfile-name "syslinux.efi";
  5. Логи и отладка:
    Если ошибка продолжает возникать, посмотрите логи загрузки. Вы можете получить доступ к ним, нажав Esc при загрузке. Это может помочь в идентификации проблемы.

  6. Проверьте версию образа:
    Убедитесь, что используемый вами образ Ubuntu совместим с вашей конфигурацией PXE. Иногда могут возникнуть проблемы с совместимостью между версиями.

Заключение

Следуя приведенным выше шагам, вы сможете устранить ошибку "Unable to find a medium containing a live file system". Правильные пути к файлам, наличие всех зависимостей и корректные параметры загрузки играют ключевую роль в процессе PXE-развертывания. Если проблема останется нерешенной, пожалуйста, предоставьте дополнительные логи или информацию для дальнейшего анализа.

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

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