【UEFI实战】HttpBoot

环境配置

  1. 首先下载tftpd工具,可以在phjounin / tftpd64 / Downloads --- Bitbucket下载到,建议不要安装到C盘,因为可能无法修改其配置。
  2. 配置tftpd工具的DHCP服务:

注意这里的IP地址需要跟实际网卡IP匹配。

  1. 下载Apache,可以在Apache VS17 binaries and modules download (apachelounge.com)下载到,同上,建议不要安装到C盘。
  2. 配置Apache,需要修改的是安装目录下的conf\htpd.conf文件,其中的修改点如下:
bash 复制代码
Define SRVROOT "F:\httpd\Apache24"
ServerName www.example.com:80
  1. 配置成功之后通过如下的命令查看配置是否成功:
bash 复制代码
D:\Apache24>bin\httpd.exe -t
Syntax OK

D:\Apache24>

返回"Syntax OK"表示配置是成功的。

  1. 进一步安装Apache,对应的命令:
bash 复制代码
bin\httpd.exe -k install -n Apache
  1. 之后可以在Windows服务中看到Apache:
  1. 后续要使用Apache服务器,使用安装目录下的bin/ApacheMonitor.exe,它是一个图形界面,打开如下(可以在任务栏图标中找到,下图中是已经打开了Apache服务器):

打开之后就可以通过浏览器访问:

如果显示"It works!"表示Apache服务正常工作。注意这里的地址是127.0.0.1,这是因为是在本地访问的,如果是远程访问,则使用实际Apache所在设备IP即可,比如:

到这里HttpBoot的环境就已经准备好了。

上述的工具主要的作用是提供DHCP和HTTP服务,前者用来分配IP地址,后者用于下载BootLoader。

使用

  1. 首先获取BootLoader,这里随便从Ubuntu安装包里面获取一个bootx64.efi,然后放到Apache特定目录下:
  1. 编译支持HttpBoot功能的BIOS,可以从edk2-beni: 用于学习和验证UEFI BIOS。 (gitee.com)下载到源码,打开编译宏NETWORK_HTTP_BOOT_ENABLE开启HttpBoot。
  2. 启动BIOS,进入到Setup,选择"Device Manager"->"Network Device List",选择需要HttpBoot启动的网卡:

选择"HTTP Boot Configuration",输入URI:

之后保存配置,退回到BootManager界面,可以看到刚才配置的HttpBoot:

启动该配置项,执行如下:

可以看到bootx64.efi被下载,最终被执行,这表示HttpBoot已经成功启动起来,不过后续还依赖于bootx64.efi的配置,这里不关注。

相关推荐
网络研究院4 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
酣大智4 天前
ARP代理--工作原理
运维·网络·arp·arp代理
treesforest4 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
shushangyun_4 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
2601_961845154 天前
粉笔行测题库|系统班|刷题
网络·百度·微信·微信公众平台·facebook·新浪微博
程序猿阿伟4 天前
《Chrome离线扩展安装的底层逻辑与场景落地指南》
服务器·网络·chrome
InHand云飞小白4 天前
无人值守站点网络困境?工业级路由器IR315破解连接难题
网络·物联网·4g·工业路由器·4g路由器·iiot·蜂窝路由器
森G4 天前
75、服务器源码解析---------云视频服务项目
linux·服务器·网络·c++·qt
江华森4 天前
TCP/IP 协议栈实战 — 7 个实验详解
网络·tcp/ip·智能路由器
酉鬼女又兒4 天前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php