无忧启动论坛

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

[发布] 自适应代理DHCP/DHCP、BIOS/UEFI、HTTP/TFTP能方便地启动多个PE的iPXE菜单示例!

[复制链接]
跳转到指定楼层
1#
发表于 昨天 15:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 江南一根葱 于 2025-9-5 19:03 编辑

                                     本贴由AI生成,但代码是亲自部署
🚀 我的 iPXE 智能启动菜单——比你想象的更狠
这份 iPXE 脚本,不是普通的 PXE 菜单,它有几个硬核优点:
  • 智能协议切换(HTTP ↔ TFTP)

    • 默认高速 HTTP 传输,拉取大文件(比如 WinPE WIM)飞快。
    • 如果检测到 HTTP 不通?自动无缝切换 TFTP,不用人管。
      👉 稳定性 + 速度,鱼与熊掌我都要。

  • 自动识别 DHCP/代理DHCP

    • 支持 proxydhcp/next-server 和 next-server 双方案。
    • 无论是标准环境,还是 WDS/代理DHCP 混合环境,都能“智能取值”。
      👉 一套脚本,放到哪里都能跑。

  • 极简但高效的菜单设计

    • choose 菜单超长超稳,默认项是常用的 PE。
    • 快捷键直达:1 就是新蜂 PE,2 就是迷你 PE,效率拉满。
    • 额外还内置 config / shell / reboot / poweroff,全场景全覆盖。
      👉 不仅能启动,还能维护、调试、救急。

  • 跨 BIOS & UEFI 双平台

    • 自动判断 ${platform},分别加载 bootmgr 或 bootmgfw.efi。
    • 字体、BCD、boot.sdi、bootres.dll 统统打包,EFI/BIOS 无缝兼容。
      👉 不管是老机器还是新主板,一把梭。

  • 错误兜底机制

    • 任何一个文件取不到,直接回菜单重新选,永不死机。
    • 菜单、协议、文件多层 fallback。
      👉 出错也优雅,不会卡死黑屏。

  1. #!ipxe
  2. ifopen net0
  3. ifstat
  4. #set quiet 1 #
  5. set protocol http    #初始化协议变量,走http
  6. isset ${proxydhcp/next-server} && set booturl ${proxydhcp/next-server} || set booturl ${next-server} #有代理dhcp信息就直接取值,智能获取启动ip


  7. :bootmenu  #启动菜单查看基本情况
  8. menu  iPXE's Boot Menu BootServer:${protocol}://${booturl}
  9.    
  10.    item --gap -- Choose BootFile
  11.    item --key 1 newbeeplus.wim      2.  Boot newbeepe #启动newbeepe.wim
  12.    item --key 2 mini.wim      2.  Boot mini.wim  #同上

  13.    item --gap -- Advanced options
  14.    item --key c config              C.  Configure settings   
  15.    item --key s shell          S.  Drop to iPXE shell
  16.    item --key r reboot         R.  Reboot computer
  17.    item --key p poweroff       P.  Poweroff computer
  18. choose --timeout 100000 --default newbeeplus.wim selected || #默认选newbeeplus.wim来启动
  19. iseq ${selected} config && config ||
  20. iseq ${selected} shell && shell ||
  21. iseq ${selected} reboot && reboot ||
  22. iseq ${selected} poweroff && poweroff ||
  23. set bootfile ${selected} && echo bootfile:${selected} && goto wimboot  #启动菜单上选中的wim文件,也就是pe ||




  24. :switch_protocol #http不能启动?就改协议成tftp,然后继续启动
  25. console
  26. echo error! swich_protocol!
  27. set protocol tftp
  28. echo now boofile is ${protocol}://${booturl}/${bootfile}
  29. sleep 1 && goto wimboot



  30. :wimboot #启动菜单上选中的PE
  31. echo ${bootfile}
  32. kernel ${protocol}://${booturl}/app/wimboot/wimboot ${wimbootcmd} gui || goto switch_protocol #第一个文件都取不成功,肯定http走不起了,换tftp协议
  33. iseq ${platform} pcbios && initrd ${protocol}://${booturl}/app/wimboot/bootmgr  bootmgr ||
  34. iseq ${platform} efi && initrd -n bootx64.efi ${protocol}://${booturl}/app/wimboot/bootmgfw.efi ||
  35. initrd ${protocol}://${booturl}/app/wimboot/BCD  BCD ||
  36. initrd ${protocol}://${booturl}/app/wimboot/boot.sdi boot.sdi ||
  37. initrd ${protocol}://${booturl}/app/wimboot/segoen_slboot.ttf segoen_slboot.ttf ||
  38. initrd ${protocol}://${booturl}/app/wimboot/segoe_slboot.ttf segoe_slboot.ttf ||
  39. initrd ${protocol}://${booturl}/app/wimboot/segmono_boot.ttf segmono_boot.ttf ||
  40. initrd ${protocol}://${booturl}/app/wimboot/wgl4_boot.ttf wgl4_boot.ttf ||  
  41. initrd ${protocol}://${booturl}/app/wimboot/bootres.dll bootres.dll ||
  42. iseq ${platform} pcbios && initrd ${protocol}://${booturl}/${bootfile} boot.wim && boot ||
  43. iseq ${platform} efi && initrd -n boot.wim ${protocol}://${booturl}/${bootfile} || goto bootmenu #启到这里不成功,说明没这个wim文件,回菜单重新选另一个文件启动
  44. boot ||
复制代码

ipxeboot.txt (2.44 KB, 下载次数: 11)
20250905 19点前下载的都有bug,传统bios无法启动,现在已修复

评分

参与人数 1无忧币 +5 收起 理由
wuxin9712 + 5 很给力!

查看全部评分

2#
发表于 昨天 16:05 | 只看该作者
这个是引导系统么
回复

使用道具 举报

3#
发表于 昨天 16:07 | 只看该作者
葱大,史上最伟大网管,果然名不虚传。
回复

使用道具 举报

4#
发表于 昨天 16:19 | 只看该作者
感谢分享
回复

使用道具 举报

5#
发表于 昨天 16:45 | 只看该作者
&#128073  这是啥符号?都被吃了。。。
回复

使用道具 举报

6#
发表于 昨天 17:01 | 只看该作者
感谢分享!!!
回复

使用道具 举报

7#
发表于 昨天 17:08 | 只看该作者
谢谢分享
回复

使用道具 举报

8#
发表于 昨天 17:14 | 只看该作者
感谢分享
回复

使用道具 举报

9#
发表于 昨天 17:23 | 只看该作者

感谢分享
回复

使用道具 举报

10#
发表于 昨天 18:31 | 只看该作者
支持原创 感谢分享
回复

使用道具 举报

11#
发表于 昨天 18:42 | 只看该作者
感谢分享!
回复

使用道具 举报

12#
 楼主| 发表于 昨天 19:03 | 只看该作者
20250905 19点前下载的都有bug,传统bios无法启动,现在已修复
回复

使用道具 举报

13#
发表于 昨天 19:25 | 只看该作者

葱大,史上最伟大网管。让人叹为观止,从此爱上装系统,
回复

使用道具 举报

14#
发表于 昨天 20:02 | 只看该作者
谢谢分享!
回复

使用道具 举报

15#
发表于 昨天 20:55 | 只看该作者
葱老板 又有新东西了 进来收货
回复

使用道具 举报

16#
发表于 昨天 21:18 | 只看该作者
谢谢分享。
回复

使用道具 举报

17#
发表于 昨天 22:10 | 只看该作者
感谢分享 ! ! !
回复

使用道具 举报

18#
发表于 9 小时前 | 只看该作者
咋用
回复

使用道具 举报

19#
发表于 9 小时前 | 只看该作者
感谢分享!
回复

使用道具 举报

20#
发表于 3 小时前 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

21#
发表于 2 小时前 | 只看该作者
谢谢
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-9-6 10:04

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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