无忧启动论坛

 找回密码
 注册
搜索
一次装机 终生领工资最纯净的「微PE装机优盘」UEPON大师作品★IDC大全★服务器租赁、托管★优惠促销★
可防勒索的强大数据备份恢复软件卡瑞飞系统和装机二合一超级U盘广告联系 QQ:184822951 微信:wuyouceo
查看: 6919|回复: 79

[分享] iPXE-UEFI网启小工具

    [复制链接]
发表于 2017-10-18 16:45:22 | 显示全部楼层 |阅读模式
本帖最后由 captain_g 于 2018-11-21 14:05 编辑

# BOOT文件夹(请解压到磁盘、分区根目录下):

boot.sdi——取自64位WIN8;
bootmgfw.efi——取自64位WIN8;
ipxe.efi——下载自IPXE官网;
wimboot——下载自IPXE官网;
tinypxesrv.exe——网启服务器1.0.0.21;

wimboot.ipxe——纯文本配置文件(ANSI,可自行修改内容):

#!ipxe
set boot-url http://${dhcp-server}
kernel ${boot-url}/BOOT/wimboot
initrd ${boot-url}/BOOT/bootmgfw.efi bootmgfw.efi
initrd ${boot-url}/EFI/MICROSOFT/BOOT/BCD BCD
initrd ${boot-url}/BOOT/BOOT.SDI BOOT.SDI
initrd ${boot-url}/BOOT/BOOT.WIM BOOT.WIM
boot

BOOT.WIM——支持UEFI启动的64位PE核心文件;

# EFI文件夹(请解压到磁盘、分区根目录下):

取自微软64位WIN8原版光盘(只在BCD中禁用了数字签名验证,其他不动);

# 为使用方便:

启用网启服务端iPXE-UEFI.CMD(需与BOOT、EFI文件夹在同一磁盘、分区);

# 请关闭“安全启动”选项;

# 条件有限,只在64位机器上测试通过UEFI网启!


https://pan.baidu.com/s/19Sn4L1XZ4CRk8jLvdAgL8Q 密码:slwm

iPXE-UEFI网启.7z

1.34 MB, 下载次数: 1163, 下载积分: 无忧币 -2

点评

好好好  发表于 2018-11-24 22:10

评分

参与人数 2无忧币 +6 收起 理由
879792799 + 5 好宝贝 大家赶快收藏
maomihuacha + 1

查看全部评分

发表于 2018-11-24 14:41:07 | 显示全部楼层
本帖最后由 yigeren 于 2018-11-24 14:43 编辑

提供一个菜单文件自动识别BIOS和EFI启动
#!ipxe
#check platform (pcbios or efi)
echo Platform: ${platform}
set menu-timeout 20000
dhcp
isset ${next-server} || set next-server 192.168.1.2  #自行指定服务器ip
iseq ${platform} pcbios && set start BIOS_MENU || set start EFI_MENU
goto ${start}

:BIOS_MENU
set menu-default win10pe
menu iPXE BIOS Boot Menu
#item win2003                0.Yigeren Win2003PE
item --key 1 win7pe        1.Yigeren Win7PE
item --key 2 win8pe        2.Yigeren Win8PE
item --key 3 win8x64        3.Yigeren Win8x64PE
item --key 4 win10pe        4.Yigeren Win10x64PE
item --key 5 maxdos        5.MAXDOS9.3PLUS
item --key 6 diskgen        6.DISKGEN
item --key 7 hddreg        7.HDDREG
item --key h hddboot        H.HDDBOOT
item --key r reboot        R.ReBoot Computer

choose --timeout ${menu-timeout} --default ${menu-default} selected
goto ${selected}

:shell
echo Type 'Exit' to get the back to the menu
shell
goto start

:failed
echo Booting failed, dropping to shell
goto shell

:reboot
reboot

:hddboot
sanboot --no-describe --drive 0x80

:maxdos
initrd http://${next-server}/img/MAXDOS.IMG
chain http://${next-server}/memdisk || goto failed

:diskgen
initrd http://${next-server}/img/DISKGEN.img
chain http://${next-server}/memdisk || goto failed

:hddreg
initrd http://${next-server}/img/HDDREG.IMG
chain http://${next-server}/memdisk || goto failed

#:win2003
#kernel http://${next-server}/STARTROM.0
#boot || goto failed

:win7pe
kernel http://${next-server}/wimboot
initrd http://${next-server}/boot/bootmgr.exe                bootmgr.exe
initrd http://${next-server}/boot/BCD                                  BCD
initrd http://${next-server}/boot/boot.sdi                        boot.sdi
initrd http://${next-server}/boot/Win7PE.wim                Win7PE.wim
boot || goto failed

:win8pe
kernel http://${next-server}/wimboot
initrd http://${next-server}/boot/bootmg8.exe                bootmgr.exe
initrd http://${next-server}/boot/BC8                                BC8
initrd http://${next-server}/boot/boot.sdi                        boot.sdi
initrd http://${next-server}/boot/Win8PE.wim                Win8PE.wim
boot || goto failed

:win8x64
kernel http://${next-server}/wimboot
initrd http://${next-server}/boot/boot864.exe                bootmgr.exe
initrd http://${next-server}/boot/864                                864
initrd http://${next-server}/boot/boot.sdi                        boot.sdi
initrd http://${next-server}/boot/Win864PE.wim                Win864PE.wim
boot || goto failed

:win10pe
kernel http://${next-server}/wimboot
initrd http://${next-server}/boot/boot164.exe                bootmgr.exe
initrd http://${next-server}/boot/164                                164
initrd http://${next-server}/boot/boot.sdi                        boot.sdi
initrd http://${next-server}/boot/Win10x64.wim                Win10x64.wim
boot || goto failed
goto start


:EFI_MENU
set menu-default win10efi
menu iPXE EFI Boot Menu
item win8efi                1.Yigeren Win8x64PE
item win10efi                2.Yigeren Win10x64PE
item reboot                3.ReBoot Computer

choose --timeout ${menu-timeout} --default ${menu-default} selected
goto ${selected}

:win8efi
kernel http://${next-server}/wimboot
initrd http://${next-server}/boot/bootx64.efi                                        bootx64.efi
initrd http://${next-server}/boot/boot864.exe                                bootmgr.exe
initrd http://${next-server}/efi/microsoft/boot/864                                864
initrd http://${next-server}/efi/microsoft/boot/fonts/chs_boot.ttf        chs_boot.ttf
initrd http://${next-server}/efi/microsoft/boot/fonts/wgl4_boot.ttf        wgl4_boot.ttf
initrd http://${next-server}/boot/boot.sdi                                        boot.sdi
initrd http://${next-server}/boot/Win864PE.wim                                Win864PE.wim
boot || goto failed

:win10efi
kernel http://${next-server}/wimboot
initrd http://${next-server}/efi/boot/bootx64.efi                                bootx64.efi
initrd http://${next-server}/boot/boot164.exe                                bootmgr.exe
initrd http://${next-server}/efi/microsoft/boot/BCD                        BCD
initrd http://${next-server}/efi/microsoft/boot/fonts/chs_boot.ttf        chs_boot.ttf
initrd http://${next-server}/efi/microsoft/boot/fonts/wgl4_boot.ttf        wgl4_boot.ttf
initrd http://${next-server}/boot/boot.sdi                                        boot.sdi
initrd http://${next-server}/boot/Win10x64.wim                                Win10x64.wim
boot || goto failed
goto start  

点评

关于这个菜单,想请教一下,懒得自己去摸索了。 如果用这个菜单,服务端用那个启动文件undionly.kpxe(ipxe.pxe)或ipxe.efi? 正常理解,客户端PXE启动后,要先取得相对应的启动文件,然后才是配置、菜单文件,  详情 回复 发表于 2018-11-24 20:43
多谢分享,收藏下来学习下。  详情 回复 发表于 2018-11-24 17:29

评分

参与人数 1无忧币 +5 收起 理由
freesoft00 + 5

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2017-10-18 17:22:10 | 显示全部楼层
这是个好东西啦...

大家快点下载哈...
回复 支持 反对

使用道具 举报

发表于 2017-10-18 21:55:55 | 显示全部楼层
好工具,谢谢分享。。。
回复 支持 反对

使用道具 举报

发表于 2017-10-19 01:39:02 | 显示全部楼层
下来学习一下 谢谢了
回复 支持 反对

使用道具 举报

发表于 2017-10-19 07:15:57 | 显示全部楼层
谢谢分享 下载备用
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-19 16:37:10 | 显示全部楼层
本帖最后由 captain_g 于 2017-10-21 09:16 编辑

根据官网介绍:

# wimboot自己会自行提取wim文件中的启动管理器,如bootmgr.exe(BIOS)或bootmgfw.efi(UEFI),有些

网友制作的PE中可能精简掉了这些文件,会导致网启失败,所以在配置脚本中予以指定并在外部提供相

应文件,可以避免因找不到文件而导致的失败,如1楼的:

initrd ${boot-url}/BOOT/bootmgfw.efi bootmgfw.efi

又,如系BIOS启动,类似的可以写成initrd ${boot-url}/BOOT/bootmgr bootmgr (从bootmgr中提取bootmgr.exe);

或者 initrd ${boot-url}/BOOT/bootmgr.exe bootmgr.exe

# wimboot在使用BCD文件时自己会在虚拟内存环境中“修补”BCD的内部配置,如果用的是BIOS启动的

BCD,则wimboot在UEFI启动时,会将BCD内部的字串.exe改成.efi,就是说,假如根下目录结构与微软的

一致,可以直接用原版的BCD(禁用数字签名验证除外);

# wimboot执行后在内存中创建虚拟文件系统,该系统使得在下列多个位置调用BCD、BOOT.SDI、BOOT.WIM

成为可能:

\
\Boot
\Boot\Fonts
\Boot\Resources
\Sources
\EFI
\EFI\Boot
\EFI\Microsoft
\EFI\Microsoft\Boot

BCD最好用原名,因为bootmgr.exe只简单搜索\Boot\BCD;

BCD中指定的BOOT.SDI、BOOT.WIM路径必须是上面几种并互相匹配,以boot.wim为例,\boot.wim或

\Boot\boot.wim或\Sources\boot.wim以及上面列举的子目录等都行,但不支持像\Image\boot.wim这样

的路径(因为Image并非认可的子目录);

E文水平有限,难免理解错误,请查阅官网,或参靠比较论坛前辈们的配置文件;
回复 支持 反对

使用道具 举报

发表于 2017-10-29 05:46:02 | 显示全部楼层
好工具,谢谢分享。。。下来学习一下
回复 支持 反对

使用道具 举报

发表于 2017-12-12 16:36:43 | 显示全部楼层
這個好用,我試過了,可以用,就是不知道穩定不,托個30臺機子沒問題吧,請老板指教下,我沒試過。
回复 支持 反对

使用道具 举报

发表于 2017-12-12 17:07:06 | 显示全部楼层
谢谢 学习
回复 支持 反对

使用道具 举报

发表于 2017-12-19 21:03:11 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2019-1-16 09:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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