The problem has been solved. The specific method is
Use GRLDR as the PXE boot file
The menu file is placed in the root directory of the drive where this service is located. The directory is meu.lst/default
Everyone should note that menu.lst is a directory, not a file
Syntax:
title Boot network PE
root (pd) Use network
pxe keep I don't quite understand either
chainloader --force /startrom.0 Use PXE PE boot file
boot
There are two more points to note. (Assuming TFT32 is placed in the pxe directory of drive D)
1: Pay attention to the location of the file. No matter which directory your PXE service is in,
GRLDR always starts from the root directory. For example: map --mem (pd)/pxe/img/dos.img (fd0)
SYSLINUX starts from the TFT32 directory (this gave me a headache for several hours)
2: It is best not to use it under the USB flash drive (be sure to copy it to the local hard drive for use)
Because the find command cannot be used under some USB flash drives, and the transmission speed of the USB flash drive is slower than that of the hard drive (causing a bottleneck)
Here are some tips: (not very sure)
The command chainloader --force /startrom.0 may not need the preceding /, I also forgot
SYSLINUX is not needed (everyone should also pay attention)
There is also something not verified:
It is said that GRUB4DOS after 12-05 will have problems with PXE, you can use the version before 12-05
I verified that versions like 12-25 and some others cannot find the file under some motherboards. I didn't verify the version before 12-05