Вопрос или проблема
У меня есть сервер 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", может быть вызвана несколькими факторами. Давайте рассмотрим возможные причины и способы их решения.
Причины проблемы
-
Неправильный путь к initrd и vmlinuz:
Убедитесь, что пути к файламvmlinuz
иinitrd
указаны правильно в вашем конфигурационном файле. -
Отсутствие файловой системы:
Важно, чтобы образ Ubuntu содержал необходимые файлы для загрузки в режиме Live. Убедитесь, что файлfilesystem.squashfs
доступен и в правильном месте. -
Недостаточные параметры загрузки:
Иногда параметры, передаваемые ядру, могут быть недостаточными для успешной загрузки. -
Ошибки в конфигурации TFTP или DHCP:
Если настройки TFTP или DHCP настроены неправильно, могут возникнуть проблемы с передачей необходимых файлов.
Решение
-
Проверьте пути:
В вашем конфигурационном файле необходимо убедиться, что строки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-образа. -
Добавьте параметры nfsroot:
Возможно, вам нужно указать сервер NFS и путь к NFS-образу. Используйте следующее значение в параметреAPPEND
:nfsroot=<IP вашего PXE сервера>:/tftpboot/ubuntu
Здесь вы заменяете
<IP вашего PXE сервера>
на фактический IP-адрес вашего сервера. -
Проверьте наличие файлов:
Убедитесь, что все необходимые файлы находятся в директорииubuntu/casper/
, включаяfilesystem.squashfs
. Он должен присутствовать, чтобы система могла загрузиться. -
Перепроверьте настройки DHCP:
Убедитесь, что настройки DHCP корректны и указывают на правильный файл загрузки, как вы уже упомянули:option bootfile-name "syslinux.efi";
-
Логи и отладка:
Если ошибка продолжает возникать, посмотрите логи загрузки. Вы можете получить доступ к ним, нажавEsc
при загрузке. Это может помочь в идентификации проблемы. -
Проверьте версию образа:
Убедитесь, что используемый вами образ Ubuntu совместим с вашей конфигурацией PXE. Иногда могут возникнуть проблемы с совместимостью между версиями.
Заключение
Следуя приведенным выше шагам, вы сможете устранить ошибку "Unable to find a medium containing a live file system". Правильные пути к файлам, наличие всех зависимостей и корректные параметры загрузки играют ключевую роль в процессе PXE-развертывания. Если проблема останется нерешенной, пожалуйста, предоставьте дополнительные логи или информацию для дальнейшего анализа.