无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 21006|回复: 317

[发布] [史上最伟大网管]自主研发!支持HTTP,适应BIOS/UEFI环境! NBpxe网启服务器(httpdisk)

    [复制链接]
发表于 2025-8-14 14:03:10 | 显示全部楼层 |阅读模式
本帖最后由 江南一根葱 于 2025-11-20 12:10 编辑
声明:我完全不懂python,我连python写"hello world"都不会
全由AI使用python语言编写,我是躺在AI的怀抱里进行开发!

NBpxeServer 功能简介与使用说明
功能简介
本工具是一款轻量级的PXE网络启动服务器,专为同时兼容传统BIOS和现代UEFI(特别是VMware环境)而设计。软件为绿色单文件,内置代理DHCP (Proxy DHCP) 和TFTP服务,无需复杂安装,可与您现有的路由器、交换机共存,帮助您快速部署网络启动环境。

直接把工具放入ipxefm目录即可使用
注意,grub2和grub4dos for uefi均不支持在pxe菜单阶段启动后工作,只能作为第一启动文件,netgrubfm能在ipxe菜单阶段启动并使用,是我做了特殊处理)
使用说明见2楼

下载(支持win732):

NBPxeServer-x86.part1.rar (4 MB, 下载次数: 6)

评分

参与人数 3无忧币 +12 收起 理由
freesoft00 + 5
redapple + 2 神马都是浮云
ksafei + 5 很给力!

查看全部评分

 楼主| 发表于 2025-9-15 21:54:32 | 显示全部楼层
本帖最后由 江南一根葱 于 2025-9-18 11:58 编辑

  • 使用说明及注意事项前言
    · 由于功能还不确定,现在还处于组装打磨微调阶段,每次下载了更新版本请先手动删除ipxefm_cli.ini和NBpxe.ini再运行
    · 此网启服务器高度依赖iPXEFM项目,如果用来启动别的项目,请自行修改启动文件
    · 初学者应先修改配置并关闭"PXE菜单"来使用、ipxe菜单可以保留
    关于PXE菜单、iPXE菜单重要说明和解释
    · PXE菜单是为了方便调用其它TFTP服务器或网启文件设计的,开启安全启动也可以出现这个菜单,提示时按下"F8"就可以选择bootmgfw.efi、iPXE.efi等文件来启动,特别要注意,这个阶段除iPXE外,启动其它引导文件比如grub2是不支持proxydhcp的、grub4dos for uefi也一样grub4dos for uefi还会丢失更多dhcp信息,也就是不可正常使用,如果要使用,请在"修改配置"->"引导文件"里直接改UEFI64启动文件为netgrubfm或g4e.efi即可正常支持proxydhcp

    PXE菜单定义里有示例,我用iPXE菜单举例吧.

PXE、iPXE启动菜单项定义-(不能超过256字节)
PXE菜单定义里有示例,我用iPXE菜单举例吧。
示例: 菜单文本, 启动文件, 类型(4位Hex), 服务器IP
iPXE (iPXEFM_Menu), ipxeboot.txt, 8001, %tftpserver%
Bind_ClientIP, %dynamicboot%=whoami, 8005, %tftpserver%
iPXE_File_Manager, %dynamicboot%=ipxefm, 0001, %tftpserver%
newbeeplus.wim, %dynamicboot%=/newbeeplus.wim, 8005, %tftpserver%
newbeeplus.iso, %dynamicboot%=/newbeeplus.iso, 8006, %tftpserver%
netboot.xyz, https://boot.netboot.xyz, 8002, %tftpserver%
GRUB4DOS FOR UEFI, g4e.efi, 8003, %tftpserver%
GRUBFM, grubfmx64.efi, 8004, %tftpserver%
Boot from Local Disk, , 0000, 0.0.0.0


  • 里的类型其实就是4位数字,每项不同就行,菜单文本是显示名字,启动文件支持填url,重点来讲下这个动态菜单%dynamicboot%
    %dynamicboot%的值是http://${pxebs/next-server}/dynamic.ipxe?bootfile,而
    dynamic.ipxe则是动态生成的启动菜单,不必找来找去找它,这个文件在目录里是不存在的。
    %dynamicboot%=/newbeeplus.wim,表示从http://${pxebs/next-server}/下载newbeeplus.wim并启动,现在的版本默认写死了80端口,有需要改的话以后再弄吧....
    新增了预登记模式 Bind_ClientIP, %dynamicboot%=whoami, 8005, %tftpserver% 这项是DHCP模式下,选中后会进入客户机登记界面,比如说教室里你选中1号机,192.168.11.1,客户机就会重启,重启后不管是PE还是Windows,获得的ip都是192.168.11.1,使用该功能需要先在右键菜单中批量添加客户机
    新增了真正的iPXE_File_Manager模式 iPXE_File_Manager, %dynamicboot%=ipxefm, 0001, %tftpserver% 这项进入以后,会生成一份http目录下的文件清单,默认列出iso,wim,img,ima,efi等格式文件,选中后可以启动,目前仅支持wim iso efi文件类型,以后增加




PXE菜单启动效果:


pxe菜单.png

iPXE菜单启动效果:

ipxe菜单是.png

这里启动的文件,独立于ipxeboot.txt,配置更灵活











点评

iPXE菜单启动效果: iPXE这个菜单是怎么出现的?  详情 回复 发表于 2025-9-16 23:47
回复

使用道具 举报

 楼主| 发表于 2025-9-18 12:18:31 | 显示全部楼层
本帖最后由 江南一根葱 于 2025-9-18 12:22 编辑

玩法1免写菜单启各种pe:
下载ipxefm,把自己的一堆pe文件放到目录,可以自己建各种iso wim目录,可以清爽点
放iso.png

启动服务器

2.png
客户机去网络启动,在第二个ipxe菜单按F8,选List Files
3.png
会出现你目录上的文件列表,选择你要启动的pe按回车即可
4.png

回复

使用道具 举报

发表于 2025-8-14 14:12:08 | 显示全部楼层
这是要出力作的前奏啊!注意身体啊!
回复

使用道具 举报

发表于 2025-8-14 14:27:43 | 显示全部楼层
楼主技术达人
回复

使用道具 举报

发表于 2025-8-14 14:40:24 | 显示全部楼层
感谢分享了
回复

使用道具 举报

发表于 2025-8-14 15:03:40 | 显示全部楼层
感谢分享原创优秀资源
回复

使用道具 举报

发表于 2025-8-14 15:31:09 | 显示全部楼层
感谢分享了
回复

使用道具 举报

发表于 2025-8-14 16:10:18 | 显示全部楼层
网刻这类的东西 都快忘完了
回复

使用道具 举报

发表于 2025-8-14 16:28:42 | 显示全部楼层
东西是好东西,奈何平时用不到。
回复

使用道具 举报

发表于 2025-8-14 16:42:47 | 显示全部楼层
感谢楼主的分享,超赞
回复

使用道具 举报

发表于 2025-8-14 17:48:13 | 显示全部楼层
版主,版本高了win7用不了,能否分享下py文件感谢

点评

编译了个低版本的  详情 回复 发表于 2025-8-14 18:13
7用有啥提示没  详情 回复 发表于 2025-8-14 17:54
回复

使用道具 举报

 楼主| 发表于 2025-8-14 17:54:14 | 显示全部楼层
season111 发表于 2025-8-14 17:48
版主,版本高了win7用不了,能否分享下py文件感谢

7用有啥提示没
回复

使用道具 举报

 楼主| 发表于 2025-8-14 18:13:36 | 显示全部楼层
season111 发表于 2025-8-14 17:48
版主,版本高了win7用不了,能否分享下py文件感谢

编译了个低版本的
回复

使用道具 举报

发表于 2025-8-14 18:31:32 | 显示全部楼层
本帖最后由 season111 于 2025-8-14 18:56 编辑

感谢分享,可以了,刚才80端口被iis占用了,共享B盘无法使用,找不到

点评

B盘手工smb共享为pxe就行了  详情 回复 发表于 2025-8-14 19:13
回复

使用道具 举报

发表于 2025-8-14 18:49:12 | 显示全部楼层
感谢分享!
回复

使用道具 举报

 楼主| 发表于 2025-8-14 19:13:26 | 显示全部楼层
season111 发表于 2025-8-14 18:31
感谢分享,可以了,刚才80端口被iis占用了,共享B盘无法使用,找不到

B盘手工smb共享为pxe就行了
回复

使用道具 举报

发表于 2025-8-14 19:35:45 | 显示全部楼层
感谢楼主分享 !
回复

使用道具 举报

发表于 2025-8-14 20:17:19 来自手机 | 显示全部楼层
成功通过G4E网起虚拟机VM。要是HTTP服务支持断点续传就完美了。

点评

责令AI改了个怕点续传版本,试下看 AI是这么说的 好的,遵照您的要求,我已经将 HTTP 服务器的逻辑修改为支持 Range 请求,从而实现断点续传功能。[/backcolor]核心改动如下:[/backcolor] [*]创建了自定义的  详情 回复 发表于 2025-8-14 21:04
有没有支持断点续传的软件,我可以让ai调试出来,貌似sanboot需要这个支持吧  详情 回复 发表于 2025-8-14 20:55
回复

使用道具 举报

 楼主| 发表于 2025-8-14 20:55:04 | 显示全部楼层
2011yaya2007777 发表于 2025-8-14 20:17
成功通过G4E网起虚拟机VM。要是HTTP服务支持断点续传就完美了。

有没有支持断点续传的软件,我可以让ai调试出来,貌似sanboot需要这个支持吧
回复

使用道具 举报

 楼主| 发表于 2025-8-14 21:04:06 | 显示全部楼层
2011yaya2007777 发表于 2025-8-14 20:17
成功通过G4E网起虚拟机VM。要是HTTP服务支持断点续传就完美了。

责令AI改了个怕点续传版本,试下看 NBpxeSer断点续传测试.part2.rar (1.52 MB, 下载次数: 16)
回复

使用道具 举报

发表于 2025-8-14 21:41:16 | 显示全部楼层
不错,现在支持断点续传了!

不过,他不支持:
bytes=-8         #从末尾读8字节
返回错误代码400:BAD_REQUEST(错误的请求)

再训练一下。

点评

您提出了一个非常好的问题,并且观察得非常仔细!您是对的,我之前的实现只解析了 bytes=start-end 格式,没有处理 bytes=-suffix(即从文件末尾计算的范围)这种有效的 Range 请求格式,因此会导致服务器返回 400  详情 回复 发表于 2025-8-14 21:50
回复

使用道具 举报

 楼主| 发表于 2025-8-14 21:50:32 | 显示全部楼层
本帖最后由 江南一根葱 于 2025-8-14 21:58 编辑
2011yaya2007777 发表于 2025-8-14 21:41
不错,现在支持断点续传了!

不过,他不支持:

NBpxeSer断点续传2.part2.rar (1.33 MB, 下载次数: 28)
回复

使用道具 举报

发表于 2025-8-14 22:03:10 | 显示全部楼层
先生大才,感谢分享,辛苦了
回复

使用道具 举报

发表于 2025-8-14 22:33:55 来自手机 | 显示全部楼层
你这效率太高了!我明天再测试吧。
回复

使用道具 举报

发表于 2025-8-14 22:43:11 | 显示全部楼层
不错!
回复

使用道具 举报

发表于 2025-8-14 23:06:24 | 显示全部楼层
赞 一只支持你!!
回复

使用道具 举报

发表于 2025-8-15 07:08:25 | 显示全部楼层
HTTP已经完美支持断点续传!

反馈一个问题:
服务状态:TFTP 红 已停止
日志:TFTP:致命错误,无法绑定端口:[WinError 10048]  通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
但是实际上无论tftp/http都工作正常。这个tftp服务是哪里提供的?

如果点一下服务状态:TFTP 的红方框,变绿了,但是“已停止”仍然是红的。此时再执行HTTP传输,则失败。

点评

应该是启动了多个,我启动两个才遇到有这情况,或者默认有可能监听了0.0.0.0,那就冲突几率大,可能要改成实际ip  详情 回复 发表于 2025-8-15 08:58
回复

使用道具 举报

 楼主| 发表于 2025-8-15 08:58:35 来自手机 | 显示全部楼层
2011yaya2007777 发表于 2025-8-15 07:08
HTTP已经完美支持断点续传!

反馈一个问题:

应该是启动了多个,我启动两个才遇到有这情况,或者默认有可能监听了0.0.0.0,那就冲突几率大,可能要改成实际ip
回复

使用道具 举报

发表于 2025-8-15 10:00:22 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2025-8-15 11:31:45 | 显示全部楼层
能否将TFTP与HTTP的根目录设置不在程序所在目录下,并且能使用磁盘根目录?

点评

现在可以分别设置了  详情 回复 发表于 2025-8-17 20:01
回复

使用道具 举报

发表于 2025-8-15 11:38:26 | 显示全部楼层
AI让你搞正了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-11-22 17:07

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表