我是神仙 发表于 2014-9-8 11:53:11

iPXE wimboot 现在支持UEFI下的http/ftp启动了

本帖最后由 我是神仙 于 2014-9-29 12:24 编辑

iPXE网络启动可以通过HTTP/FTP轻松达到千兆速度,比普通TFTP快得多

不过以前iPXE对UEFI支持不太好,UEFI时好像不支持http/ftp等高级功能。

但前几天, iPXE上的wimboot有更新了(ipxe.org/wimboot), 支持UEFI下的http/ftp启动windows PE 8.1了。

试了一下确实很不错。有兴趣的可以去试一下

新版2.3.0支持32位和64位的UEFI启动
https://git.ipxe.org/release/wimboot/wimboot-latest.zip


32位用wimboot.i386


普通BIOS和32位EFI 64位EFI要分别用不同的iPXE版本才能启动。

如果想用同一个PXE服务器 同时适应pcibios 及 32位 和 64位 不同架构的网络启动,需要对DHCP服务作相应的配置。

如果是用的HanewinDHCP Server,可以多建几个配置profile.(Option > manage profiles > add)

并用Vendor Class作为条件


PXEClient:Arch:00000 则指向 ipxe/pcibios/ipxe.pxe
PXEClient:Arch:00006 则指向 ipxe/efi.i386/ipxe.efi
PXEClient:Arch:00007 则指向 ipxe/efi.x86_64/ipxe.efi
PXEClient:Arch:00009 则指向 ipxe/default.ipxe
...

PXEClient:Arch:00000这个也可以就用默认的 for Interface IP Address作为条件就行了


   As of the writing of this document, the following pre-boot
   architecture types have been requested.

            Type   Architecture Name
            ----   -----------------
            0    Intel x86PC
            1    NEC/PC98
            2    EFI Itanium
            3    DEC Alpha
            4    Arc x86
            5    Intel Lean Client
            6    EFI IA32
            7    EFI BC
            8    EFI Xscale
            9    EFI x86-64
http://tools.ietf.org/html/rfc4578





我是神仙 发表于 2014-9-8 12:21:58

本帖最后由 我是神仙 于 2014-9-25 09:38 编辑

我看那个snponly.efi不好用。一般都用的ipxe.efi.反正换着用 哪个行就用哪个

https://rom-o-matic.eu/ 这里可以编译。不过我也经常打不开这个网站

ljycslg 发表于 2014-9-8 12:10:42

有没有新版ipxe-snponly.efi,懒得去编译,分享下
试试新版兼容性怎么样

我是神仙 发表于 2014-9-8 12:25:09

ljycslg 发表于 2014-9-8 12:10
有没有新版ipxe-snponly.efi,懒得去编译,分享下
试试新版兼容性怎么样

已上传 试试吧

ljycslg 发表于 2014-9-8 13:13:58

我是神仙 发表于 2014-9-8 12:25
已上传 试试吧

不错,实机测试很给力
vmware上HTTP超给力,bootx64.efi的tftp基本龟速
遗憾的是hyper-V无论是http还是tftp都是龟速

我是神仙 发表于 2014-9-8 15:50:18

ljycslg 发表于 2014-9-8 13:13
不错,实机测试很给力
vmware上HTTP超给力,bootx64.efi的tftp基本龟速
遗憾的是hyper-V无论是http还是 ...

确实 见识过了wimboot的千兆威力之后 再也不能忍受tftp那个龟速了


hyperV那个确实要慢一些 搞不懂

hhh333 发表于 2014-9-10 05:04:16

本帖最后由 hhh333 于 2014-9-10 05:38 编辑

没玩成功,启动出菜单,但提示错误,我的菜单如下:
#!ipxe
#set menu-timeout 8000
   set menu-default w8pe64
   isset ${ip} || dhcp
   isset ${next-server} || set next-server 192.168.7.100
:start
menu iPXE EFI Boot Menu
item --gap --             -------------------------------- H3 PE TOOL ---------------------------
item w8pe64               Win8 PE 64
item w81pe64            Win81 PE 64
item --gap --             -----------------------------------------------------------------------
choose --timeout ${menu-timeout} --default ${menu-default} selected
goto ${selected}

:failed
echo Booting failed, dropping to shell
goto shell

:w8pe64
kernel http://${next-server}/BOOT/wimboot
initrd http://${next-server}/efi/boot/bootx64.efi bootx64.efi
initrd http://${next-server}/efi/microsoft/boot/bcd        bcd
initrd http://${next-server}/BOOT/boot.sdi        boot.sdi
initrd http://${next-server}/BOOT/H3_8PE64.WIM        H3_8PE64.WIM
boot || goto failed
goto start

:w81pe64
kernel http://${next-server}/BOOT/wimboot
initrd http://${next-server}/efi/boot/bootx64.efi        bootx64.efi
initrd http://${next-server}/efi/microsoft/boot/bcd        bcd
initrd http://${next-server}/BOOT/boot.sdi        boot.sdi
initrd http://${next-server}/BOOT/H3_81P64.WIM        H3_81P64.WIM
boot || goto failed
goto start



所有文件读取正常,BCD中菜单也可以出,但最后一步出错。过程如下:








我大致是这么玩的:
1、先到网站去编译一个snponly.efi,再改名:efi/boot/iPXE64.efi。脚本简单,就是两条语句
#!ipxe
   isset ${ip} || dhcp
   chain --autofree BOOT/H3_iPXEM.EFI

2、将真正的菜单内容(见上)保存为BOOT/H3_iPXEM.EFI

3、在haneWIN指定EFI启动文件为efi/boot/iPXE64.efi,如下图:


又用pause暂停了wimboot一下,好象也无问题:

hhh333 发表于 2014-9-10 06:25:30

经反复测试,感觉到WIM文件不能改名,只有用boot.wim,否则歇菜。

ljycslg 发表于 2014-9-10 08:10:36

hhh333 发表于 2014-9-10 06:25
经反复测试,感觉到WIM文件不能改名,只有用boot.wim,否则歇菜。

是有这个问题,wimboot新版也有bug,在vmware下bios启动蓝屏,暂时只能这样,bios用老版2.1.0版,efi用新版

我是神仙 发表于 2014-9-10 10:16:51

ljycslg 发表于 2014-9-10 08:10
是有这个问题,wimboot新版也有bug,在vmware下bios启动蓝屏,暂时只能这样,bios用老版2.1.0版,efi用新 ...

我都是用vmware呢 . 8.02,bios或uefi都没有蓝屏
页: [1] 2 3 4 5 6 7 8
查看完整版本: iPXE wimboot 现在支持UEFI下的http/ftp启动了