无忧启动论坛
标题: [史上最伟大网管]自主研发!支持HTTP,适应BIOS/UEFI环境! NBpxe网启服务器(0902开源) [打印本页]
作者: 江南一根葱 时间: 2025-8-14 14:03
标题: [史上最伟大网管]自主研发!支持HTTP,适应BIOS/UEFI环境! NBpxe网启服务器(0902开源)
本帖最后由 江南一根葱 于 2025-9-2 22:24 编辑
声明:我完全不懂python,我连python写"hello world"都不会
全由AI使用python语言编写,我是躺在AI的怀抱里进行开发!
NBpxeServer 功能简介与使用说明功能简介
本工具是一款轻量级的PXE网络启动服务器,专为同时兼容传统BIOS和现代UEFI(特别是VMware环境)而设计。软件为绿色单文件,内置代理DHCP (Proxy DHCP) 和TFTP服务,无需复杂安装,可与您现有的路由器、交换机共存,帮助您快速部署网络启动环境。
使用与配置
您可以通过以下两种方式对服务器进行配置:
方法一:直接修改配置文件 (推荐)
这是最快捷的方式。在启动服务器前,请按以下步骤操作:
核心配置:用记事本打开 NBpxe.ini 文件。最关键的一步是将 server_ip 的值修改为您电脑的实际IP地址。然后根据需要,更改 [BootFiles] 部分中 bios 和 uefi64 对应的启动文件名。
放置文件:将您需要的所有启动文件(例如 ipxe.efi, ipxe.bios 等)复制到 tftp_root 文件夹内。
方法二:使用交互式菜单修改
如果您不确定如何修改配置文件,可以使用程序自带的菜单:
运行程序:管理员身份或启动服务器应用程序。
进入菜单:在主菜单界面,输入 2 并按回车,进入“配置菜单”。
按需修改:根据屏幕提示,选择您想修改的选项(如网络IP、启动文件、服务开关等)。
保存配置:完成修改后,务必输入 s 并按回车,将当前更改保存到 NBpxe.ini 文件中。
返回主菜单:输入 b 返回主界面。
配置完成后,在主菜单选择 1 并按回车,即可根据最新配置启动所有服务。
直接把ipxefm目录里面的内容放入tftp_root目录即可使用
- 修复tftp服务器不可写的问题
- 增加smb共享为pxe的功能(需要管理员运行),如果直接扔ipxefm目录里用,在ini里配置tftp目录为.\
20250817更新- HTTP支持断点续传
- 增加TFTP HTTP SMB路径独立配置(也可以在互动界面中统一配置)
- 增加UI界面
- 修复启用共享跳黑框的问题
- 配置路径增加浏览按钮
- 共享方式增加可写方式
20250818更新- HTTP、TFTP增加多线程支持(测试)
- 优化配置界面,统一服务器路径配置,增加配置启动文件选项卡
20250828更新- 修复HTTP进过修改配置界面就启动报错的问题
- 增加UEFI/BIOS启动菜单,同dnsmasq的菜单,支持安全启动!!(为调试方便默认开启,需在界面上关闭),此项功能尚未正常工作(效果如下图)
-
20250830更新
- 修复DHCP模式无效的问题
- 此版本还有坑,proxydhcp模式下,uefi须启用pxe菜单,bios须禁用pxe菜单使用
20250901更新
- dhcp/proxydhcp启动核心让AI参考pypxe项目重新构建
- 暂时不启用pxemenu功能,让程序能用再说
20250902更新
- dhcp/proxydhcp启动核心让AI参考dnsmasq项目重新构建
- PXEMenu全面启用,传统bios和uefi环境(特别是安全启动也无错支持!!)实现和dnsmasq一样强大功能
- 加入其它dhcp服务器探测,探测到后警告信息提示,依法网启人人有责
-
下载.png
(26.42 KB, 下载次数: 102)
作者: bnsgj 时间: 2025-8-14 14:12
这是要出力作的前奏啊!注意身体啊!
作者: 绿光科技 时间: 2025-8-14 14:27
楼主技术达人
作者: zxtbest 时间: 2025-8-14 14:40
感谢分享了
作者: 进士小站 时间: 2025-8-14 15:03
感谢分享原创优秀资源
作者: 小灰兔 时间: 2025-8-14 15:31
感谢分享了
作者: yazband 时间: 2025-8-14 16:10
网刻这类的东西 都快忘完了
作者: semiuel 时间: 2025-8-14 16:28
东西是好东西,奈何平时用不到。
作者: housecall 时间: 2025-8-14 16:42
感谢楼主的分享,超赞
作者: season111 时间: 2025-8-14 17:48
版主,版本高了win7用不了,能否分享下py文件感谢
作者: 江南一根葱 时间: 2025-8-14 17:54
7用有啥提示没
作者: 江南一根葱 时间: 2025-8-14 18:13
编译了个低版本的
作者: season111 时间: 2025-8-14 18:31
本帖最后由 season111 于 2025-8-14 18:56 编辑
感谢分享,可以了,刚才80端口被iis占用了,共享B盘无法使用,找不到
作者: handsome_xiang 时间: 2025-8-14 18:49
感谢分享!
作者: 江南一根葱 时间: 2025-8-14 19:13
B盘手工smb共享为pxe就行了
作者: wn168cn@163.com 时间: 2025-8-14 19:35
感谢楼主分享 !
作者: 2011yaya2007777 时间: 2025-8-14 20:17
成功通过G4E网起虚拟机VM。要是HTTP服务支持断点续传就完美了。
作者: 江南一根葱 时间: 2025-8-14 20:55
有没有支持断点续传的软件,我可以让ai调试出来,貌似sanboot需要这个支持吧
作者: 江南一根葱 时间: 2025-8-14 21:04
责令AI改了个怕点续传版本,试下看
NBpxeSer断点续传测试.part2.rar
(1.52 MB, 下载次数: 15)
NBpxeSer断点续传测试.part1.rar
(3.81 MB, 下载次数: 14)
AI是这么说的
好的,遵照您的要求,我已经将 HTTP 服务器的逻辑修改为支持 Range 请求,从而实现断点续传功能。
核心改动如下:
创建了自定义的 :这个类继承自 http.server.SimpleHTTPRequestHandler,并重写了 do_GET 方法。
方法的新逻辑:
它会检查客户端请求头中是否包含 Range 字段。
如果没有 Range 头,它会像以前一样,发送整个文件。
如果有 ,它会解析请求的字节范围,并返回 206 Partial Content 状态码,以及所请求的那部分文件数据。
它还会正确处理无效的范围请求,返回 416 Range Not Satisfiable 错误。
为了告知客户端服务器支持此功能,响应头中会加入 Accept-Ranges: bytes。
无缝集成:run_http_server 函数现在使用这个新的 RangeRequestHandler 来处理请求,而脚本的其他所有部分(DHCP, TFTP, SMB, 菜单等)均保持不变。
作者: 2011yaya2007777 时间: 2025-8-14 21:41
不错,现在支持断点续传了!
不过,他不支持:
bytes=-8 #从末尾读8字节
返回错误代码400:BAD_REQUEST(错误的请求)
再训练一下。
作者: 江南一根葱 时间: 2025-8-14 21:50
本帖最后由 江南一根葱 于 2025-8-14 21:58 编辑
AI回复:
您提出了一个非常好的问题,并且观察得非常仔细!您是对的,我之前的实现只解析了 bytes=start-end 格式,没有处理 bytes=-suffix(即从文件末尾计算的范围)这种有效的 Range 请求格式,因此会导致服务器返回 400 Bad Request。
我已经修正了这个问题。新的 RangeRequestHandler 类现在可以正确解析并响应以下所有 Range 格式:
bytes=100-200:请求第100到第200个字节。
bytes=100-:请求从第100个字节到文件末尾的所有内容。
bytes=-800:请求文件的最后800个字节 (这是您指出的未支持的功能)。
我对 do_GET 方法中的范围解析逻辑进行了重写,使其更加健壮和符合 RFC 7233 标准。其他所有功能(DHCP, TFTP, SMB, 菜单等)均保持原样。
作者: luodeman 时间: 2025-8-14 22:03
先生大才,感谢分享,辛苦了
作者: 2011yaya2007777 时间: 2025-8-14 22:33
你这效率太高了!我明天再测试吧。
作者: zp1688 时间: 2025-8-14 22:43
不错!
作者: yuguotqing 时间: 2025-8-14 23:06
赞 一只支持你!!
作者: AcidBurn 时间: 2025-8-15 04:55
谢谢楼主的分享!
作者: 2011yaya2007777 时间: 2025-8-15 07:08
HTTP已经完美支持断点续传!
反馈一个问题:
服务状态:TFTP 红 已停止
日志:TFTP:致命错误,无法绑定端口:[WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
但是实际上无论tftp/http都工作正常。这个tftp服务是哪里提供的?
如果点一下服务状态:TFTP 的红方框,变绿了,但是“已停止”仍然是红的。此时再执行HTTP传输,则失败。
作者: 江南一根葱 时间: 2025-8-15 08:58
2011yaya2007777 发表于 2025-8-15 07:08
HTTP已经完美支持断点续传!
反馈一个问题:
应该是启动了多个,我启动两个才遇到有这情况,或者默认有可能监听了0.0.0.0,那就冲突几率大,可能要改成实际ip
作者: wqsohu 时间: 2025-8-15 10:00
谢谢分享
作者: mygamexxx 时间: 2025-8-15 11:31
能否将TFTP与HTTP的根目录设置不在程序所在目录下,并且能使用磁盘根目录?
作者: yahu5 时间: 2025-8-15 11:38
AI让你搞正了
作者: 2011yaya2007777 时间: 2025-8-15 11:57
可以设置任意目录。c:\asd\zxc
作者: redapple 时间: 2025-8-15 12:23
用哪个AI这么强大?给个地址
作者: yidaifengniu 时间: 2025-8-15 12:35
感谢分享
作者: fegr 时间: 2025-8-15 14:02
谢谢楼主分享
作者: mygamexxx 时间: 2025-8-15 14:26
本帖最后由 mygamexxx 于 2025-8-15 14:34 编辑
如何设置?
配置文件中好像没地方设置,将程序NBpxeServer.exe放在G:根目录
[FileServer]
shared_root_dir = G:
tftp_enabled = true
http_enabled = true
http_port = 80
-
wechat_2025-08-15_143225_372.png
(13.37 KB, 下载次数: 68)
作者: 2011yaya2007777 时间: 2025-8-15 15:32
shared_root_dir = G:\
作者: mygamexxx 时间: 2025-8-15 16:19
本帖最后由 mygamexxx 于 2025-8-15 16:21 编辑
没有区别!并且NBpxeServer.exe必须在根目录,否则设置就会与显示不一致。
[FileServer]
shared_root_dir = G:\
tftp_enabled = true
http_enabled = true
http_port = 80
-
wechat_2025-08-15_161858_779.png
(17.78 KB, 下载次数: 61)
作者: mygamexxx 时间: 2025-8-15 16:36
分配192.168.220.2,读取变成192.168.220.128?
-
wechat_2025-08-15_163511_627.png
(25.04 KB, 下载次数: 67)
作者: 2011yaya2007777 时间: 2025-8-15 16:38
本帖最后由 2011yaya2007777 于 2025-8-15 16:47 编辑
没有区别!并且NBpxeServer.exe必须在根目录,否则设置就会与显示不一致
这是我的配置:
[General]
listen_ip = 192.168.182.1
server_ip = 192.168.182.1
[DHCP]
enabled = false
mode = proxy
pool_start = 192.168.56.2
pool_end = 192.168.56.254
subnet = 255.255.255.0
router = 192.168.1.1
dns = 192.168.1.1
lease_time = 86400
[FileServer]
shared_root_dir = C:\usr\TinyPXEServer\netboot\
tftp_enabled = true
http_enabled = true
http_port = 80
[BootFiles]
bios = grldr
uefi32 = ipxe32.efi
uefi64 = bootx64.efi
ipxe = ipxeboot.txt
[SMB]
enabled = false
share_name = pxe
我的NBpxeServer文件在:C:\usr\dist\
你是不是需要配置一下。选4,从文件重载配置。
作者: mygamexxx 时间: 2025-8-15 16:41
试了下BOOTG4E.EFI
-
wechat_2025-08-15_164027_464.png
(13.9 KB, 下载次数: 72)
-
wechat_2025-08-15_164008_549.png
(4.48 KB, 下载次数: 56)
-
wechat_2025-08-15_164000_278.png
(4.81 KB, 下载次数: 58)
作者: mygamexxx 时间: 2025-8-15 16:48
配置文件修改如下,启用代理,客户机返回到BOOT MANAGER
[General]
listen_ip = 192.168.220.1
server_ip = 192.168.220.1
[DHCP]
enabled = false
mode = proxy
pool_start = 192.168.220.2
pool_end = 192.168.220.254
subnet = 255.255.255.0
router = 192.168.1.1
dns = 192.168.1.1
lease_time = 86400
[FileServer]
shared_root_dir = G:\
tftp_enabled = true
http_enabled = true
http_port = 80
[BootFiles]
bios = ipxe.bios
uefi32 = ipxe32.efi
uefi64 = BOOTG4E.EFI
ipxe = ipxeboot.txt
[SMB]
enabled = false
share_name = pxe
-
wechat_2025-08-15_164723_515.png
(17.46 KB, 下载次数: 74)
作者: mygamexxx 时间: 2025-8-15 17:04
本帖最后由 mygamexxx 于 2025-8-15 17:07 编辑
重建配置,选择DHCP,
[General]
listen_ip = 192.168.220.1
server_ip = 192.168.220.1
[DHCP]
enabled = true
mode = dhcp
pool_start = 192.168.220.2
pool_end = 192.168.220.254
subnet = 255.255.255.0
router = 192.168.1.1
dns = 192.168.1.1
lease_time = 86400
[FileServer]
shared_root_dir = g:\
tftp_enabled = true
http_enabled = true
http_port = 80
[BootFiles]
bios = ipxe.bios
uefi32 = ipxe32.efi
uefi64 = bootg4e.efi
ipxe = ipxeboot.txt
[SMB]
enabled = false
share_name = pxe
日志如下
[2025-08-15 17:02:44] --- 正在根据当前配置启动所有服务 ---
[2025-08-15 17:02:44] SMB: 删除旧共享'pxe'时出错,可能不存在。
[2025-08-15 17:02:44] DHCP: 服务已在 192.168.220.1:67 启动 (dhcp 模式)
[2025-08-15 17:02:44] TFTP: 服务已在 192.168.220.1:69 启动, 根目录: 'G:\/'
[2025-08-15 17:02:44] HTTP: 服务已在 http://192.168.220.1:80/ 启动 (支持断点续传)
[2025-08-15 17:03:43] DHCP: 为 00:0c:29:52:ce:c8 (UEFI64) 提供 Offer -> 'bootg4e.efi'
[2025-08-15 17:03:47] DHCP: 为 00:0c:29:52:ce:c8 (UEFI64) 提供 Offer -> 'bootg4e.efi'
[2025-08-15 17:03:55] DHCP: 为 00:0c:29:52:ce:c8 (UEFI64) 分配 IP [192.168.220.2] -> 'bootg4e.efi'
[2025-08-15 17:03:55] TFTP: [GET] ('192.168.220.132', 1960) 开始读取 'bootg4e.efi'
[2025-08-15 17:03:55] TFTP: [GET] 选项协商失败 -> ('192.168.220.132', 1960)
[2025-08-15 17:03:55] TFTP: [GET] ('192.168.220.132', 1961) 开始读取 'bootg4e.efi'
[2025-08-15 17:03:57] TFTP: [GET] 'BOOTG4E.EFI' -> ('192.168.220.132', 1961) 传输完成。
[2025-08-15 17:04:34] --- 正在停止所有服务 ---
[2025-08-15 17:04:35] HTTP: 线程已停止。
[2025-08-15 17:04:35] DHCP: 线程已停止。
[2025-08-15 17:04:35] TFTP: 线程已停止.
[2025-08-15 17:04:35] SMB: 删除旧共享'pxe'时出错,可能不存在。
-
wechat_2025-08-15_170326_950.png
(4.46 KB, 下载次数: 67)
-
wechat_2025-08-15_170253_176.png
(13.61 KB, 下载次数: 63)
作者: 2011yaya2007777 时间: 2025-8-15 17:15
你已经成功网起,只是没有找到菜单。
在命令行执行:
root
pxe
作者: mygamexxx 时间: 2025-8-15 17:32
如图
-
wechat_2025-08-15_173120_314.png
(7.13 KB, 下载次数: 65)
作者: 2011yaya2007777 时间: 2025-8-15 17:46
在菜单里设置 set http
在 G:\ 建立 g:\efi\grub\ 安放 menu.lst
在 G:\ 建立 g:\efi\grub\ext\ 安放 ntboot
作者: mygamexxx 时间: 2025-8-15 18:22
本帖最后由 mygamexxx 于 2025-8-15 18:33 编辑
这几个原来就有,用其他服务器是成功的。应该是server ip,client ip 地址的问题。其他服务器一般是192.168.220.1,客户端为192.168.220.2或3。日志中地址里示前后不一致。dhcp与[GET]不一致。
作者: 江南一根葱 时间: 2025-8-15 18:58
你这个是双dhcp的问题,你的环境必须要用proxydhcp,但可能g4e不支持proxydhcp,只有解决这个问题才能解决问题
作者: 江南一根葱 时间: 2025-8-15 19:00
建议解决proxydhcp支持的问题
https://github.com/a1ive/grub2-filemanager
编译出来的efi文件是支持proxydhcp的
作者: 2011yaya2007777 时间: 2025-8-15 19:05
proxydhcp与dhcp有什么不同?系统里只留一个dhcp不好吗?g4e是静态绑定ip的。
作者: 2011yaya2007777 时间: 2025-8-15 19:24
我理解这是虚拟机或者实体机的UEFI固件提供的。
作者: 江南一根葱 时间: 2025-8-15 19:43
本帖最后由 江南一根葱 于 2025-8-15 19:44 编辑
按ai的说法,proxydhcp提供dhcp服务但不分配ip地址,只给出next-server也就是tftp地址和启动文件ipxe可以识别出proxydhcp提供的ip地址,grubfm新版也可以识别,只要能识别,就可以从唯一的启动服务器(next-server)获取启动文件
作者: 江南一根葱 时间: 2025-8-15 20:07
https://github.com/a1ive/grub/bl ... s/efi/efinet.c#L468
支持proxydhcp代码好像在这里,瞎猜的
作者: sxz7392 时间: 2025-8-16 13:29
谢谢分享
作者: blank_f 时间: 2025-8-16 17:17
谢谢分享
作者: lypopuser 时间: 2025-8-16 17:25
东西是好东西
作者: season111 时间: 2025-8-16 17:52
你这网关和DNS都和你配置的ip都不在一个网段,你都不看的吗?
作者: a20120227 时间: 2025-8-16 18:27
大佬能否做一个pe下通用的热备份pe的工具 主要是想用当前pe装好驱动 个性化设置好保存成镜像 下次直接使用 想把pe当日常办公使用
作者: a20120227 时间: 2025-8-16 18:29
我有个老笔记本装常规系统太卡了 pe很流畅 请问pe能否启用睡眠关机的功能
作者: yinchilang1 时间: 2025-8-16 21:21
感谢分享了
作者: mygamexxx 时间: 2025-8-17 18:30
那是重建配置过程,程序自动产生的,我没修改,因为修改过一次,没变化。
作者: 江南一根葱 时间: 2025-8-17 19:52
本帖最后由 江南一根葱 于 2025-8-17 20:42 编辑
20250817更新- HTTP支持断点续传
- 增加TFTP HTTP SMB路径独立配置(也可以在互动界面中统一配置)
- 增加UI界面
作者: 江南一根葱 时间: 2025-8-17 20:01
现在可以分别设置了
作者: 江南一根葱 时间: 2025-8-17 22:03
20250817更新- HTTP支持断点续传
- 增加TFTP HTTP SMB路径独立配置(也可以在互动界面中统一配置)
- 增加UI界面
- 修复启用共享跳黑框的问题
- 配置路径增加浏览按钮
- 共享方式增加可写方式
作者: 蛋疼王子 时间: 2025-8-18 11:27
感谢大佬分享
作者: 江南一根葱 时间: 2025-8-18 13:01
20250818更新- HTTP、TFTP增加多线程支持(测试)
- 优化配置界面,统一服务器路径配置,增加配置启动文件选项卡
作者: ckg56 时间: 2025-8-18 14:44
遥远又高级的新功能
作者: 57023626 时间: 2025-8-20 09:28
感谢感谢 下来试试
作者: 312571605 时间: 2025-8-21 22:29
搞个网启软件,是没头没尾,不清不楚,折腾人啊
作者: mygamexxx 时间: 2025-8-22 07:42
本帖最后由 mygamexxx 于 2025-8-22 07:43 编辑
[FileServer]
tftp_root = G:\
http_root = G:\
smb_root = tftp_root
tftp_enabled = true
http_enabled = true
http_port = 80
tftp_multithread = true
http_multithread = false
HTTP: 致命错误,无法启动: an integer is required (got type str)
提示这个错误,需要如何解决?
作者: 江南一根葱 时间: 2025-8-22 07:55
mygamexxx 发表于 2025-8-22 07:42
[FileServer]
tftp_root = G:\
http_root = G:\
关掉界面再打开
作者: mygamexxx 时间: 2025-8-22 08:29
本帖最后由 mygamexxx 于 2025-8-22 08:38 编辑
使用代理,启动ipxe.efi好像也不行(HTTP连接不成功,使用了192.168.220.254)
-
wechat_2025-08-22_082616_738.png
(21.09 KB, 下载次数: 53)
-
wechat_2025-08-22_083457_665.png
(6.53 KB, 下载次数: 45)
作者: 江南一根葱 时间: 2025-8-22 11:53
本帖最后由 江南一根葱 于 2025-8-22 11:54 编辑
254如果是你网关的话,是你脚本写得不对
作者: mygamexxx 时间: 2025-8-22 13:04
正常应该是192.168.220.1
作者: 江南一根葱 时间: 2025-8-22 13:08
所以是你脚本写得不对
作者: mygamexxx 时间: 2025-8-22 13:17
本帖最后由 mygamexxx 于 2025-8-22 13:22 编辑
使用haneWIN DHCP Server v3.1.27 + EasyWebServer v1.9测试是正常的。脚本如下:
#!ipxe
################系统设置开始####################
#设置分辨率图片
#isset ${x} || set x 800
#isset ${y} || set y 600
#isset ${bg} || set bg 800x600.png
#isset ${ld} || set ld loading.png
#这句脚本是读取本地文件用,不用管
ifopen net0
#同上
ifstat
#这个我自己调试用的
set getfile /ipxeboot.txt
:boot
#找不到next-server变量就把dhcp-server的变量值给它
isset ${next-server} || set next-server ${dhcp-server}
#找不到proxydhcp/next-server变量就把proxydhcp/dhcp-server的变量值给它
isset ${proxydhcp/next-server} || set proxydhcp/next-server ${proxydhcp/dhcp-server}
#如果proxydhcp/next-server变量值存在,那么赋给booturl,不然就使用next-server的变量值
isset ${proxydhcp/next-server} && set booturl ${proxydhcp/next-server} || set booturl ${next-server}
#备用 prompt --key 0x02 --timeout 2000 Press Ctrl-B for the iPXE command line... && shell ||
#设置永久环境变量
#修改booturl的地址(默认是自动获取,要生效就去掉#号)
#set booturl 192.168.11.1:881/ipxefm
#没有设置iscsiurl就设置为booturl
isset ${iscsiurl} || set iscsiurl ${booturl}
#没有设置smbserver就设置为next-server
isset ${smburl} || set smburl ${next-server}
#set prefix /Boot/ipxefm
#set themes http://${booturl}/Boot/ipxefm/themes/jnygc
set quiet 1 #静默启动,1打开,注释掉不打开
#console --x ${x} -y ${y} ||
#console --picture ${themes}/${bg} --left 32 --right 32 --top 32 --bottom 48 ||
################系统设置结束##################
set s_boot http://${next-server}/boot
chain http://${next-server}/menu.ipxe || set s_boot tftp://${next-server}/boot
chain /menu.ipxe
pxe
e
-
wechat_2025-08-22_132141_458.png
(2.27 KB, 下载次数: 53)
-
wechat_2025-08-22_132135_597.png
(47.25 KB, 下载次数: 48)
作者: 江南一根葱 时间: 2025-8-22 13:22
本帖最后由 江南一根葱 于 2025-8-22 13:24 编辑
你这都通过tftp取到文件了,就说明没问题,肯定是脚本问题
你直接用原版ipxefm测试
你上面的脚本,是我以前测试服务端linux环境网启时用的
作者: 江南一根葱 时间: 2025-8-22 13:41
本帖最后由 江南一根葱 于 2025-8-22 13:44 编辑
就是这里写错了,${next-server}应该写成${booturl}
你别的dhcp能启,是因为你没用proxydhcp模式
next-server是主dhcp通告的,proxydhcp/next-server是代理dhcp通告的,这些数据引用不能弄错
作者: 超逸绝尘 时间: 2025-8-22 13:52
果然非常专业
作者: mygamexxx 时间: 2025-8-22 13:54
如果不使用代理,是否能成功?
作者: 江南一根葱 时间: 2025-8-22 14:17
你局域网两个dhcp,你说能不能成功,客户机找哪个好?
作者: mygamexxx 时间: 2025-8-23 11:02
还是想请教葱大,因为是VWmare虚拟机为客户机,网络使用NAT模式,应该只有主机与虚拟机。为什么会有俩个DHCP?
作者: mygamexxx 时间: 2025-8-23 11:06
还是要请教一下葱大,客户机是VMware虚拟机,虚拟机网络使用NAT模式,应该只有主机与虚拟机。网段是192,物理主机网段是172,应该网段192只有主机与客户机。为什么会有两个DHCP?
作者: 江南一根葱 时间: 2025-8-23 12:18
nat模式,本身是虚拟机虚拟网卡提供类似路由器功能,虚拟机网卡接口会有个dhcp服务,虚拟机网络配置里可以看到dhcp分配地址池设置
作者: mygamexxx 时间: 2025-8-23 13:52
因为TFTP与HTTP服务器一般设置为PXE服务器的DHCP,能否有开关可以忽略掉虚拟机网卡的DHCP。
作者: 江南一根葱 时间: 2025-8-23 15:54
这不现实,自己关下虚拟机的dhcp就行了
作者: mygamexxx 时间: 2025-8-23 16:40
好的,谢谢
作者: 2011yaya2007777 时间: 2025-8-24 07:46
本帖最后由 2011yaya2007777 于 2025-8-24 09:05 编辑
昨天突然被Windows Defender删除了,说是有Trojan:Win32/Wacatac.B!ml病毒!以前一直相安无事。
设置白名单,重新下载后,运行有问题:
ProxyDHCP: 无法绑定 4011: [WinError 10049] 在其上下文中,该请求的地址无效。
DHCP: 致命错误,无法绑定端口: [WinError 10049] 在其上下文中,该请求的地址无效。
TFTP: 致命错误,无法绑定端口: [WinError 10049] 在其上下文中,该请求的地址无效。
HTTP: 致命错误,无法启动: [WinError 10049] 在其上下文中,该请求的地址无效。
HTTP: 线程已停止。
鬼抽筋,现在又正常了。Windows Defender提醒了一次,选择允许。记得以前添加过嘛。
“SMB: 删除旧共享'pxe'时出错,可能不存在。”
SMB已经禁止,就不需要执行删除功能了吧。
作者: hjdx001 时间: 2025-8-24 08:06
感谢分享
作者: 江南一根葱 时间: 2025-8-24 09:22
2011yaya2007777 发表于 2025-8-24 07:46
昨天突然被Windows Defender删除了,说是有Trojan:Win32/Wacatac.B!ml病毒!以前一直相安无事。
设置白名 ...
貌似有时候也要tinypxe那样ini删除大法
作者: 江南一根葱 时间: 2025-8-24 10:13
好像禁用后删除下也是必要的,如果是之前共享着,再删除下。。如果有同名共享,删除下。不过大多数情况下是有点重复
作者: 2011yaya2007777 时间: 2025-8-24 11:01
明白了
作者: 2011yaya2007777 时间: 2025-8-24 20:09
如果首先运行服务器,然后从VM虚拟机正常启动G4E,在菜单或者命令行执行 "pxe init",从而实现网起,这是不是你说的实现了proxydhcp?
作者: 江南一根葱 时间: 2025-8-24 20:55
proxydhcp模式下,如果启动grub2的话pxe init后输入set能看到tftpserver的ip,而且取菜单文件不是从原先的dhcp取就行了
作者: mygamexxx 时间: 2025-8-25 08:57
停用NAT模式的DHCP,出错。
-
wechat_2025-08-25_085412_209.png
(26.65 KB, 下载次数: 15)
-
wechat_2025-08-25_085513_646.png
(16.72 KB, 下载次数: 13)
作者: mygamexxx 时间: 2025-8-25 09:42
没问题了,谢谢葱大。
set next-server ${booturl}
set s_boot http://${next-server}/boot
chain http://${next-server}/menu.ipxe || set s_boot tftp://${next-server}/boot
chain /menu.ipxe
pxe
e
作者: staf1235 时间: 2025-8-25 10:21
感谢分享。这个能避免驱动不识别的问题吗?用过iventoy和tiny pxe导入驱动都用不了,电脑不识别,还是卡在install driver to show hardware,但是在u盘放同样的驱动程序,马上就识别了
作者: 江南一根葱 时间: 2025-8-25 17:48
你直接
chain http://${booturl}/menu.ipxe || chain tftp://${booturl}/menu.ipxe
不就行了吗
作者: mygamexxx 时间: 2025-8-26 10:27
本帖最后由 mygamexxx 于 2025-8-26 10:28 编辑
下述脚本在DHCP和使用DHCP PROXY模式下均能正常Http启动,请葱大再指点一下,是否存在问题:
#判断是否存在DHCP代理
chain ${next-server}/menu.ipxe || set next-server ${proxydhcp/next-server}
#为menu.ipxe指定参数
set s_boot http://${next-server}/boot
chain http://${next-server}/menu.ipxe || set s_boot tftp://${next-server}/boot
chain /menu.ipxe
pxe
e
作者: 江南一根葱 时间: 2025-8-26 11:50
mygamexxx 发表于 2025-8-26 10:27
下述脚本在DHCP和使用DHCP PROXY模式下均能正常Http启动,请葱大再指点一下,是否存在问题:
#判断是 ...
非极端环境,脚本是不需要判断的,直接
/就行的
欢迎光临 无忧启动论坛 (http://wuyou.net/) |
Powered by Discuz! X3.3 |