pxe 启动微软 Surface

pxe 启动微软 Surface

我想知道是否有人曾经尝试过使用 Linux PXE 服务器进行此操作?

我已经将它设置好,并且几乎可以在所有其他笔记本电脑和台式机上使用。

这是我第一次尝试这样做,我们有官方的 Microsoft Surface USB 转 LAN 适配器。

这是我的 dnsmasq 配置:

interface=eno16777736,lo,eth0
#bind-interfaces
domain=netdec.lan
# DHCP range-leases
dhcp-range= eno16777736,192.168.1.3,192.168.1.60,255.255.255.0,1h
# PXE
dhcp-boot=pxelinux.0,pxeserver,192.168.1.133
# Gateway
dhcp-option=3,192.168.1.1
# DNS
dhcp-option=6,192.168.1.1, 8.8.8.8
server=8.8.4.4
# Broadcast Address
dhcp-option=28,10.0.0.255
# NTP Server
dhcp-option=42,0.0.0.0
user=nobody
pxe-prompt="Press F8 for menu.", 120
pxe-service=x86PC, "Proceed and choose your operating system", pxelinux
enable-tftp
tftp-root=/var/lib/tftpboot
log-dhcp

使用上述配置时,我们无法获取 PXE 菜单(继续并选择您的操作系统),只有在注释掉以下“dhcp-boot=pxelinux.0,pxeserver,192.168.1.133”时,我们才能获取 pxe 菜单。

在日志中我可以看到 PXE 启动表面时的以下内容;

Jun 15 14:12:15 localhost dnsmasq-dhcp[17425]: DHCPDISCOVER(eth0)   c0:33:5e:74:41:65

Jun 15 14:12:15 localhost dnsmasq-dhcp[17425]: DHCPOFFER(eth0) 192.168.1.34 c0:33:5e:74:41:65

Jun 15 14:12:31 localhost dnsmasq-dhcp[17425]: DHCPREQUEST(eth0) 192.168.1.34 c0:33:5e:74:41:65

Jun 15 14:12:31 localhost dnsmasq-dhcp[17425]: DHCPACK(eth0) 192.168.1.34 c0:33:5e:74:41:65

Jun 15 14:12:31 localhost dnsmasq-tftp[17425]: error 8 User aborted the     transfer received from 192.168.1.34

Jun 15 14:12:31 localhost dnsmasq-tftp[17425]: failed sending     /var/lib/tftpboot/pxelinux.0 to 192.168.1.34

Jun 15 14:12:31 localhost dnsmasq-tftp[17425]: sent /var/lib/tftpboot/pxelinux.0 to 192.168.1.34

这是当表面尝试通过 TFTP 检索 pxelinux.0 文件时的 tcpdump。 15:06:29.757118 IP 192.168.1.34.sdsc-lm > 192.168.1.133.tftp: 40 RRQ
“pxelinux.0”八位字节 blksize 1468 15:06:29.758004 IP 192.168.1.133.54039 > 192.168.1.34.sdsc-lm: UDP,长度 27 15:06:29.759410 IP 192.168.1.34.sdsc-lm > 192.168.1.133.54039: UDP,长度 30 15:06:29.782301 IP 192.168.1.34.3ds-lm > 192.168.1.133.tftp:32 RRQ
“pxelinux.0”八位字节blksize 1468

这真的很简单吗?我错过了什么,还是根本就不可能?

感谢你们。

答案1

Microsoft Surface 是仅支持 UEFI 的设备;您永远无法在该设备上启动 pxelinux.0 NBP(仅限 BIOS)。这就是您看不到启动菜单的原因。

如果你想使用 PXE 运行 Microsoft Surface,你需要类似塞瓦能够自动 PXE 启动/安装 UEFI 和 BIOS 客户端。(我与 Serva 开发相关)

相关内容