無法從 PXE GRUB 菜單引導 ISO 文件
哎呀朋友們。今天我使用 dnsmasq 作為 DHCP 代理以及 tftp 伺服器來設置我的 PXE 伺服器。我想設置一個 grub 菜單,以便能夠在 EFI 和 Legacy 模式下執行 Windows ISO 文件,具體取決於客戶端。所以我使用以下方法設置了我的 grub pxe 文件夾:
grub-mknetdir
我使用以下命令為 EFI 和舊版引導創建了 grub 映像
grub-mkimage -d /usr/lib/grub/i386-pc/ -O i386-pc-pxe -o ./booti386 -p ‘/var/lib/tftpboot/boot/grub’ pxe tftp
grub-mkimage -d /usr/lib/grub/x86_64-efi/ -O x86_64-efi -o ./bootx64.efi -p ‘/var/lib/tftpboot/boot/grub’ efinet tftp
現在我已經從 /boot/grub 複製了 grub.cfg 文件
$$ .. $$我的伺服器,它就像所有 linux 發行版的預設 grub 載入器一樣工作。為了檢查它是如何工作的,我在 Virtualbox 上設置了一個通用系統來找出問題所在。
現在我使用選項 l) 進行 PXE 引導
Grub loader 出現,一切正常,尚未修改。
我嘗試選擇一些東西,例如 Clonezilla 或 Debian Netinst 不幸的是,我只得到黑屏和伺服器上的以下 tftp syslog。
10 月 13 日 17:45:05 millenium-fbe48 dnsmasq-tftp
$$ 4797 $$:無法將 /var/lib/tftpboot/iso/clonezilla/clonezilla-live-20191009-eoan-amd64.iso 發送到 192.168.2.89 “無法將 iso 發送到 192.168.2.89”
我必須做些什麼才能載入iso文件嗎?我使用循環方式讓它們執行,但是有沒有類似超時或其他的東西?
//編輯:現在差不多 5 分鐘後,我得到了以下輸出。有什麼辦法可以提高速度嗎?
grub.cfg 中是否有類似 pxe-nfs-loop-iso 語法的東西用於 pxegrub?
感謝所有的答复。我能夠擺脫 nfs 問題,但現在我陷入了困境。nfs 部分執行良好,我還可以掛載 squashfs 文件。不幸的是我得到這個核心恐慌,有人知道問題可能是什麼嗎?
//編輯!哎呀朋友們。我能夠讓它執行。我是那麼快樂的朋友,你無法相信。查看我目前的 grub.cfg 配置。
menuentry "Netroot" { echo 'Trying to boot via nfs ...' load_video insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 echo 'Loading Linux ...' linux /programs/clonezilla/live/vmlinuz root=/dev/nfs ip=dhcp rw netboot=nfs fetch=tftp://192.168.2.55/programs/clonezilla/live/filesystem.squashfs nfsroot=192.168.2.55:/var/lib/tftpboot/programs/clonezilla/live/ rw boot=live username=user union=overlay config components noswap edd=on nomodeset nodmraid locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no net.ifnames=0 nosplash noprompt echo 'Loading initial ramdisk ...' initrd /var/lib/tftpboot/programs/clonezilla/live/initrd.img }
這樣它執行良好,但不幸的是非常慢。有什麼辦法可以提高數據速率?