Вопрос или проблема
При попытке загрузить Ubuntu 20.04 через PXE я получаю ошибку Невозможно найти файловую систему в сети
.
Я использую метод NFS:
menu label ^Установить ubuntu
kernel /images/ubuntu20-04/casper/vmlinuz
append initrd=/images/ubuntu20-04/casper/initrd nfsroot=192.168.2.1:/nfs_share/ubuntu ro netboot=nfs boot=casper ip=dhcp ---
Как я могу это исправить?
Я столкнулся с такой же ошибкой, как и вы.
Причина, вероятно, в том, что я использовал неправильные загрузочные файлы.
Вот что я сделал, чтобы это работало:
mount -o loop /var/www/kickstart/ubuntu2004/ubuntu-20.04.4-live-server-amd64.iso /mnt
cd casper/
###
hwe-initrd hwe-vmlinuz initrd vmlinuz
Я использовал загрузку iPxe
. Вот моё меню загрузки.
:ubuntu2004
# initrd=XXX в строке 'kernel' является обязательным.
# /boot/efi обязательно, если вы не разбиваете на разделы автоматически.
# https://cloudinit.readthedocs.io/en/latest/topics/datasources/nocloud.html
# Вы можете предоставить метаданные и пользовательские данные локальной виртуальной машине для загрузки через файлы на файловой системе vfat или iso9660. Метка объёма файловой системы должна быть cidata или CIDATA.
# Память должна быть больше 4Г, иначе cloud-init не сможет запуститься.
# UEFI, https://askubuntu.com/questions/1238070/deploy-ubuntu-20-04-on-bare-metal-or-virtualbox-vm-by-pxelinux-cloud-init-doesn
# cloud-net\; s=xxx
kernel ${base}/images/ubuntu2004/vmlinuz root=/dev/ram0 ramdisk_size=1500000 ip=dhcp url=${base}:8081/ubuntu2004/ubuntu-20.04.4-live-server-amd64.iso autoinstall ds=nocloud-net;s=${base}:8081/ubuntu2004/
initrd ${base}/images/ubuntu2004/initrd
boot || goto failed
goto start
Ответ или решение
Проблема с ошибкой "Unable to find a live file system on the network" при попытке загрузки Ubuntu 20.04 по PXE, скорее всего, связана с неправильно настроенными параметрами загрузки или файловой системой, используемой для установки. Ниже приведены шаги для устранения данной проблемы.
1. Проверьте правильность настройки NFS
Убедитесь, что NFS-сервер правильно настроен и доступен. Для этого выполните следующие команды на NFS-сервере:
# Убедитесь, что NFS-сервисы запущены
sudo systemctl status nfs-kernel-server
# Проверьте, правильно ли экспортируются маршруты
cat /etc/exports
Ваше /etc/exports
должно содержать что-то вроде:
/nfs_share/ubuntu *(rw,sync,no_root_squash,no_subtree_check)
После изменения файла не забудьте обновить экспорт:
sudo exportfs -a
2. Проверка файлового пути
Убедитесь, что пути к ядру и образу initrd правильные. Замените строки в конфигурации PXE следующим образом:
kernel /images/ubuntu20-04/casper/vmlinuz
initrd /images/ubuntu20-04/casper/initrd
Если файлы находятся в другом месте, убедитесь, что указали правильные пути.
3. Использование правильных файлов
Как упомянуто в вашем сообщении, проверьте, что вы используете правильные файлы из ISO-образа. При использовании ISO-файла необходимо смонтировать его:
sudo mount -o loop /var/www/kickstart/ubuntu2004/ubuntu-20.04.4-live-server-amd64.iso /mnt
cd /mnt/casper/
# Убедитесь, что файлы vmlinuz и initrd присутствуют
ls
4. Убедитесь в правильности конфигурации PXE
Ниже приведен пример конфигурации для использования iPXE, который вы можете адаптировать:
:ubuntu2004
kernel ${base}/images/ubuntu2004/vmlinuz root=/dev/ram0 ramdisk_size=1500000 ip=dhcp url=${base}:8081/ubuntu2004/ubuntu-20.04.4-live-server-amd64.iso autoinstall ds=nocloud-net;s=${base}:8081/ubuntu2004/
initrd ${base}/images/ubuntu2004/initrd
boot || goto failed
goto start
Убедитесь, что вы заменили ${base}
на фактический адрес вашего сервера.
5. Проверка сети
Убедитесь, что клиент, с которого вы пытаетесь загрузиться, может получить IP-адрес и что он может связаться с сервером NFS. Вы можете протестировать это с помощью:
ping 192.168.2.1
6. Проверка прав доступа
Проверьте права доступа к директории NFS. Должны быть установлены подходящие права для доступа к файлам:
sudo chown -R nobody:nogroup /nfs_share/ubuntu
sudo chmod -R 755 /nfs_share/ubuntu
7. Пробуйте загрузку еще раз
После выполнения всех вышеуказанных шагов перезапустите процесс PXE-загрузки и проверьте, исчезла ли ошибка.
Если проблема не решается, рекомендуется проверить журналы PXE-загрузки и на NFS-сервере на наличие дополнительных подсказок о причинах неудачи.