以前は、ISOをNFSマウントに抽出し、vmlinuz.efiとinitrd.gzをcasperからtftpbootディレクトリにコピーし、iPXEスクリプトマジックを使用してUbuntu LiveCDのPXEブートを設定しました。
これは、16.04、16.10、および17.10(Artful)でも問題なく機能しました。
18.04では、最初にvmlinuz.efiはcasperには存在しませんが、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.