RFC 4578 为 PXE 定义了各种机器架构,如下所示:
Type Architecture Name
---- -----------------
0 Intel x86PC
1 NEC/PC98
2 EFI Itanium
3 DEC Alpha
4 Arc x86
5 Intel Lean Client
6 EFI IA32
7 EFI BC
8 EFI Xscale
9 EFI x86-64
我已经测试了两台 IBM 机器(HS22 blade、x3550M3),它们都使用“EFI BC”架构进行 EFI PXE 启动。
它代表什么?什么时候使用?为什么 IBM 使用它而不是“EFI x86-64”?
答案1
EFI BC = EFI 字节码。EFI 字节码是一种用于设备驱动程序、PXE 和其他 EFI 扩展的处理器无关语言,因此代码只需编写一次即可在任何支持平台上运行。
答案2
定义的架构类型之间存在冲突RFC4578 DHCP PXE 选项和IANA 注册的处理器架构类型:后者指出 x64 UEFI 是类型 00:07,这似乎是实践中使用的值(参考。https://www.syslinux.org/archives/2014-October/022684.html)。
有一个勘误表 ID 4624在 RFC 上提交。其中规定 7 应为 EFI x86-64,9 应为 EFI BC。
因此,IANA 注册表(它更为广泛,应该是 RFC 发布后此信息的权威来源,因为它在 RFC 未维护和更新的地方进行维护和更新)是正确的,而原始 RFC 是错误的。