이전에는 ISO를 NFS 마운트로 추출하고 vmlinuz.efi 및 initrd.gz를 캐스퍼에서 tftpboot 디렉토리로 복사하여 iPXE 스크립팅 마법을 사용하여 Ubuntu LiveCD의 PXE 부팅을 설정했습니다.
이것은 16.04, 16.10 및 17.10 (Artful)에서 완벽하게 작동했습니다.
18.04에서 vmlinuz.efi가 캐스퍼에 더 이상 존재하지 않지만 vmlinuz는 더 이상 있음을 발견했습니다. 그래서 이름을 바꾸고 다시 시도합니다 ...
이제는 여전히 부팅이 완료되지 않습니다. "비상 모드"가 나타납니다. 'journalctl -xb'(비상 모드 프롬프트에서 제안한대로)를 입력하고 탐색하면 다음이 발생합니다.
Unit sys-fs-fuse-connections has begun starting up.
ubuntu systemd[1]: Failed to set up mount unit: Device or resource busy
ubuntu systemd[1]: Failed to set up mount unit: Device or resource busy
sys-kernel-config.mount: Mount process finished, but there is no mount.
sys-kernel-config.mount: Failed with result 'protocol'.
Failed to mount Kernel Configuration File System.
도움!
2018-04-30 추가 :
PXE 마운트 용 ISO를 추출하는 데 사용되는 스크립트 코드 (TARGET은 이미지 이름으로 설정 (예 : 바이오닉)) :
set -e
# Look for bionic.iso as the ISO I am going to extract.
TARGET=invalid.iso
[ -f bionic.iso ] && TARGET=bionic
echo TARGET=$TARGET
# Mount the ISO to the /tmp directory
sudo rm -rf /var/nfs/$TARGET/*
sudo rm -rf /tmp/$TARGET
mkdir /tmp/$TARGET
sudo mount -o loop ~/$TARGET.iso /tmp/$TARGET
# Clear up the NFS directory where things will be copied (and copy them)
sudo rm -rf /var/nfs/$TARGET
sudo mkdir /var/nfs/$TARGET
sudo rsync -avH /tmp/$TARGET/ /var/nfs/$TARGET
# I've not had luck with iPXE changing filesystems to find
# vmlinuz, vmlinuz.efi, or initrd.gz... so I copy those files
# specifically to the tftp directory structure so the boot loader
# can load them.
sudo rm -rf /var/lib/tftpboot/$TARGET
sudo mkdir /var/lib/tftpboot/$TARGET
sudo cp /tmp/$TARGET/casper/vmlinuz* /var/lib/tftpboot/$TARGET/.
sudo cp /tmp/$TARGET/casper/initrd.lz /var/lib/tftpboot/$TARGET/.
# Cleanup: unmount the ISO and remove the temp directory
sudo umount /tmp/$TARGET/
sudo rm -rf /tmp/$TARGET/
echo Done.