Я использую OpenDHCPServer вместе с OpenTFTPServer, чтобы опробовать загрузку по сети. Моя проблема в том, что после получения IP-адреса клиент начинает загрузку загрузочного файла и останавливается.
Сообщение в файле журнала TFTP:
[20-Aug-15 14:35:32] Client 10.0.0.3:2070 c:\tftp\pxelinux.0, Client 10.0.0.3:2070, Error Code 0 at Client, TFTP Aborted
[20-Aug-15 14:35:32] Client 10.0.0.3:2071 c:\tftp\pxelinux.0, 19 Blocks Served
Я выяснил, что размер блока в OpenTFTP по умолчанию равен 512 байтам. Размер загрузочного файла должен составлять 53 блока. Я попытался передать поддельный файл из 1 блока в надежде на какую-то цитату с ошибкой, но там не повезло, клиент все еще просто останавливается (ну, на самом деле курсор все еще мигает).
Моя конфигурация DHCP:
[RANGE_SET]
DHCPRange=10.0.0.2-10.0.0.5
SubnetMask=255.255.255.0
BootFileName="pxelinux.0"
NextServer=10.0.0.1
Сервер TFTP имеет все по умолчанию, кроме
[HOME]
C:\tftp\
При обычном обслуживании работают как назначение IP, так и передача файлов.
РЕДАКТИРОВАТЬ
Какого черта, теперь он переместил все 53, когда я снизил максимальный размер блока до 512. Видимо, комментарии в конфигурации сервера полны лжи. Тем не менее, после этого клиент останавливается.
Оуууу, оказывается, это pxelinux.0 заставляет клиента останавливаться. Grub4dos загрузился без проблем. Мое плохое, урок вот в чем: не грузите культовые уроки.
Если ваш клиент начал передавать файлы только тогда, когда вы установили размер блока = 512, это говорит мне, что ваш клиент не поддерживает TFTP blocksize option RFC 2348
Если это так, прошивка PXE вашего клиента устарела и наверняка содержит ошибки. Пожалуйста, попробуйте обновить прошивку перед любой новой попыткой загрузки PXE.