Linux PXE 启动逻辑说明

BIOS 模式:
bios pxe client ———> PXE SERVER(DHCP server + TFTP server)———> DHCP OFFER + next-server 地址 ———> TFTP-SERVER ———> /var/lib/tftpboot/pxelinux/pxelinux.0

UEFI 模式:
uefi pxe client ———> PXE SERVER(DHCP server + TFTP server)———> DHCP OFFER + next-server 地址 ———> TFTP-SERVER ———> /var/lib/tftpboot/uefi/grubx64.efi

pxelinux.0 找启动项的顺序逻辑:
pxelinux.0 按照顺序搜索 pxelinux/pxelinux.cfg 目录下的如下文件名的启动菜单文件:
tftpboot/pxelinux/pxelinux.cfg/564d6e48-8ec9-59bb-162a-a4e4470a4a11
tftpboot/pxelinux/pxelinux.cfg/01-00-0c-29-0a-4a-11
tftpboot/pxelinux/pxelinux.cfg/0A0A0A14 0A0A0A 代表10.10.10;14 是 ip 地址最后一位20的16进制值
tftpboot/pxelinux/pxelinux.cfg/0A0A0A1
tftpboot/pxelinux/pxelinux.cfg/0A0A0A
tftpboot/pxelinux/pxelinux.cfg/0A0A0
tftpboot/pxelinux/pxelinux.cfg/0A0A
tftpboot/pxelinux/pxelinux.cfg/0A0
tftpboot/pxelinux/pxelinux.cfg/0A
tftpboot/pxelinux/pxelinux.cfg/0
tftpboot/pxelinux/pxelinux.cfg/default

grubx64.efi 找启动项的顺序逻辑:
grubx64.efi 按照顺序搜索 uefi/grubx64.efi 目录下的如下文件名的启动菜单文件:
tftpboot/uefi/grub.cfg-01-00-0c-29-4e-34-16
tftpboot/uefi/grub.cfg-0A0A0A15 0A0A0A 代表10.10.10;15 是 ip 地址最后一位的16进制值
tftpboot/uefi/grub.cfg-0A0A0A1
tftpboot/uefi/grub.cfg-0A0A0A
tftpboot/uefi/grub.cfg-0A0A0
tftpboot/uefi/grub.cfg-0A0A
tftpboot/uefi/grub.cfg-0A0
tftpboot/uefi/grub.cfg-0A
tftpboot/uefi/grub.cfg-0
tftpboot/uefi/grub.cfg

然后根据加载到的启动 menu 内容中的启动 label ;
加载内核 vmlinuz 与 initrd 文件;
然后就是正式启动加载对应 label 启动项的 root 文件系统了

posted @ 2025-09-14 16:26  微软其实巨硬  阅读(24)  评论(0)    收藏  举报