Процесс загрузки / установки PXE состоит из нескольких этапов.
На первом этапе микропрограмма, содержащаяся в вашей плате сетевого адаптера, предоставляет услуги стандартизированного сетевого драйвера PXE (UNDI).
Этот драйвер обрабатывает первые передачи TFTP как:
- NBP (программа сетевой загрузки), т.е. pxelinux.0
- ядро т.е. в мире Linux vmlinuz
- initrd, т.е. в мире Linux initrd.gz
NBP после TFTP-передачи файлов ядра и initrd передает управление ядру, которое монтирует initrd.
На этом этапе (второй этап) работающее ядро больше не будет использовать драйвер PXE UNDI и начинает использовать свои собственные сетевые драйверы. Здесь вы можете очень хорошо видеть, что переданный initrd "не включает в себя соответствующий драйвер NIC", а затем на консоли, если вы введете ifconfig, вы увидите только петлю 127.0.0.1
Как вы можете видеть, в то время как драйвер сетевой платы PXE может передавать начальные загрузочные компоненты, загруженная ОС может не включать необходимые драйверы сетевой карты для продолжения нормальной работы.
В моем примере упоминался Linux, но загрузка любого варианта BSD также включает начальные передачи PXE, обрабатываемые драйвером UNDI, и следующее загруженное ядро с использованием его собственных сетевых драйверов (если доступно).