无忧启动论坛

 找回密码
 注册
搜索
WEPE笔记本电脑手机维修小包 IT发烧友的必备工具最纯净的「微PE装机优盘」UEPON大师作品卡瑞飞系统和装机二合一超级U盘
无忧启动论坛唯一网址:bbs.wuyou.net系统gho:最纯净好用系统下载站广告联系 QQ:184822951 微信:wuyouceo
查看: 1602|回复: 27

[分享] 国庆快乐,分享一个自编译的ipxe

[复制链接]
发表于 2019-10-1 11:49:29 | 显示全部楼层 |阅读模式
本帖最后由 chenall 于 2019-10-3 10:13 编辑

现在由于工作关系很少发贴和回复了,但是还是会经常上来看看

最近为了方便使用修改了ipxe的一些代码重新编译了一个(使用github上的最新源码修改编译的)


相对于默认编译额外开启了以下功能

FTP NFS COMBOOT HTTPS

ipxe1.zip 的开启了更多的功能. 像CONSOLE_CMD POWEROFF PING等

增加的功能
对于脚本或goto 增加了参数变量, 可以简化ipxe菜单的写法

比如启动命令 chain boot.ipxe aa bb cc dd

在boot.ipxe脚本里面就可以使用  ${%0} ${%1} 这些变量
其中 %0 就是boot.ipxe %1 第一个参数 %n 第n个参数 最多是 %9

goto 命令也是一样
比如:
goto winpe bootmgr.exe winpe.wim

在winpe标签下就可以使用${%1} bootmgr.exe

注: 使用了比较直接而且暴力的方式 简单的把参数设为变量,所以....你懂的.

附后使用wimboot启动各种PE的例子.
  1. #!ipxe
  2. #bootmgr启动文件判断
  3. iseq "${platform}" "pcbios" && set bootmgr bootmgr.exe || set bootmgr bootx64.efi
  4. iseq "${platform}_${buildarch}" "efi_i386" && set bootmgr bootia32.efi ||

  5. :menu
  6. menu Windows Preinstallation Environment
  7. item --gap -- -------Windows Preinstallation Environment-----------------------------
  8. item ljycslg/pe32.wim  Windows 10 PE x86 with Network (by ljycslg)
  9. iseq ${buildarch} i386 || item ljycslg/pe64.wim  Windows 10 PE x64 with Network (by ljycslg)
  10. item WEPE/WePE_32_V2.0.WIM Windows 10 PE x86 (WePe v2.0 2017-03-21)
  11. iseq ${buildarch} i386 || item WEPE/WePE_64_V2.0.WIM Windows 10 PE x64 (WePe v2.0 2017-03-21)
  12. iseq ${buildarch} i386 || item WEPE/WePE_64_V2.0_mod.WIM  Windows 10 PE x64 (WePe v2.0 mod by 027sun 2019-09-27)
  13. item --gap -- ------------------------------ Advanced ---------------------------------
  14. item shell Drop to iPXE shell
  15. item exit  Exit or Return
  16. choose --timeout 5000 MENU.SELECT
  17. ${MENU.SELECT} || goto wimboot ${MENU.SELECT}
  18. goto menu

  19. :wimboot
  20. imgfree
  21. kernel -a wimboot
  22. #附加文件会存放到 windows/system32 目录下
  23. initrd -n ${next-server}.cmd pxeautorun.txt ${next-server}.cmd ||
  24. initrd -n custom.7z custom/${ip}.7z custom.7z ||
  25. initrd -n custom.cmd custom/${ip}.cmd custom.cmd ||
  26. #pe wimboot启动通用文件
  27. initrd -n boot.sdi pxe/boot.sdi boot.sdi
  28. initrd -n ${bootmgr} pxe/${bootmgr} ${bootmgr}
  29. initrd -n bcd pxe/bcd bcd
  30. #PE WIM文件
  31. initrd -n boot.wim ${%1} boot.wim
  32. boot || prompt Boot failure press any key to continue
  33. goto menu
复制代码

ipxe.zip

1.18 MB, 下载次数: 85, 下载积分: 无忧币 -2

基础功能

ipxe1.zip

1.57 MB, 下载次数: 61, 下载积分: 无忧币 -2

大部份功能

评分

参与人数 4无忧币 +16 收起 理由
tocjc0 + 1 赞一个!
a1379388505 + 5 求教你这个配置文件是用什么文件名或者怎么.
江南一根葱 + 5 666
freesoft00 + 5

查看全部评分

发表于 2019-10-1 12:02:23 | 显示全部楼层
不知是何物!只有坐沙发帮顶!
回复

使用道具 举报

发表于 2019-10-1 12:34:46 | 显示全部楼层
楼主也玩射文件了  ipxe.efi如果嵌入了脚本貌似就不支持参数了,有办法支持不

点评

是指嵌入的脚本内部要接收参数?理论上应该是可行的,  详情 回复 发表于 2019-10-1 12:52
回复

使用道具 举报

发表于 2019-10-1 12:45:37 | 显示全部楼层
能编译个开齐全家桶功能的不,比如所有可以被支持的协议、图片支持
问下chain boot.ipxe fuck.wim
和chain ipxe.efi set %1 fuck.wim && chain boot.ipxe(或一段脚本)是不是等效的。

点评

不等效. chain boot.ipxe之后会把所有有%n都重置. 有需要什么协议或功能支持,我有空可以帮忙编译.. 很多协议基本上用不到. 也可以自己在 https://rom-o-matic.eu/ 选择编译.  详情 回复 发表于 2019-10-1 12:51
回复

使用道具 举报

 楼主| 发表于 2019-10-1 12:51:21 | 显示全部楼层
江南一根葱 发表于 2019-10-1 12:45
能编译个开齐全家桶功能的不,比如所有可以被支持的协议、图片支持
问下chain boot.ipxe fuck.wim
和chai ...

不等效.
chain boot.ipxe之后会把所有有%n都重置.

有需要什么协议或功能支持,我有空可以帮忙编译..
很多协议基本上用不到.

也可以自己在
https://rom-o-matic.eu/
选择编译.


点评

https支持,所有的sanboot支持,不过我需要的是本地文件系统支持,要chain fiile:xx.ipxe 我试了试本地启动grub2后再chainloader ipxe.efi好像不支持参数 我在折腾是不是能像bios下那样通过 kernel ipxe.lkrn  详情 回复 发表于 2019-10-1 14:07
回复

使用道具 举报

 楼主| 发表于 2019-10-1 12:52:53 | 显示全部楼层
江南一根葱 发表于 2019-10-1 12:34
楼主也玩射文件了  ipxe.efi如果嵌入了脚本貌似就不支持参数了,有办法支持不

是指嵌入的脚本内部要接收参数?理论上应该是可行的,
回复

使用道具 举报

发表于 2019-10-1 14:07:37 | 显示全部楼层
本帖最后由 江南一根葱 于 2019-10-1 14:09 编辑
chenall 发表于 2019-10-1 12:51
不等效.
chain boot.ipxe之后会把所有有%n都重置.

https支持,所有的sanboot支持,不过我需要的是本地文件系统支持,
#define DOWNLOAD_PROTO_FILE        /* Local filesystem access */
要chain fiile:xx.ipxe


我试了试本地启动grub2后再chainloader ipxe.efi好像不支持参数

我在折腾是不是能像bios下那样通过
kernel ipxe.lkrn
initrd xxx. ipxe
这样来启动本地FAT,或u盘上的ipxe文件

点评

DOWNLOAD_PROTO_FILE 这个有明确说明 只能在uefi下使用  详情 回复 发表于 2019-10-3 09:50
回复

使用道具 举报

发表于 2019-10-2 17:30:19 来自手机 | 显示全部楼层
大佬大佬,ipxe能支持背景图片吗?是不是要在编译的时候加入?

点评

是,功能要編譯進去的  详情 回复 发表于 2019-10-2 18:18
回复

使用道具 举报

发表于 2019-10-2 18:18:42 | 显示全部楼层
zicell 发表于 2019-10-2 17:30
大佬大佬,ipxe能支持背景图片吗?是不是要在编译的时候加入?

是,功能要編譯進去的
回复

使用道具 举报

发表于 2019-10-3 09:50:28 | 显示全部楼层
江南一根葱 发表于 2019-10-1 14:07
https支持,所有的sanboot支持,不过我需要的是本地文件系统支持,
#define DOWNLOAD_PROTO_FILE        ...

DOWNLOAD_PROTO_FILE 这个有明确说明 只能在uefi下使用

点评

嗯,bios下就不需要它了  详情 回复 发表于 2019-10-3 10:25
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2019-12-8 22:56

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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