无忧启动论坛

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

[分享] iPXE wimboot 现在支持UEFI下的http/ftp启动了

    [复制链接]
跳转到指定楼层
#
发表于 2014-9-8 11:53:11 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 我是神仙 于 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



ipxe.zip (652.66 KB, 下载次数: 566)
ipxeonly.zip (997.67 KB, 下载次数: 617)

评分

参与人数 1无忧币 +1 收起 理由
2010guoguo + 1

查看全部评分

推荐
 楼主| 发表于 2014-9-8 12:21:58 | 只看该作者
本帖最后由 我是神仙 于 2014-9-25 09:38 编辑

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

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

ipxe.zip

652.66 KB, 下载次数: 231, 下载积分: 无忧币 -2

回复

使用道具 举报

推荐
发表于 2014-9-8 12:10:42 | 只看该作者
有没有新版ipxe-snponly.efi,懒得去编译,分享下
试试新版兼容性怎么样
回复

使用道具 举报

66#
发表于 2022-12-8 15:51:53 | 只看该作者
我是神仙 发表于 2014-9-11 19:33
又试了下 好像这个--name或-n的语法只是针对efi情况的。在普通bios时还是要用initrd bcd bcd这种情况重复 ...

然而到现在都还是这种格式
不知道为什么?
回复

使用道具 举报

65#
发表于 2022-12-8 14:30:52 | 只看该作者
感谢分享,学习了。
回复

使用道具 举报

64#
发表于 2022-11-6 19:12:20 | 只看该作者
多谢楼主分享 iPXE wimboot 的小知识啊,学习了
回复

使用道具 举报

63#
发表于 2022-10-29 21:51:25 | 只看该作者
本帖最后由 saiz 于 2022-10-30 22:03 编辑

請問下 BOOT.SDI無法使用其它名稱嗎?
我要啟動EXFAT的X:\,要使用特別BOOT.SDI
但如果檔案名用EXFAT.SDI 或其它都無法成功
啟動後X:\都是NTFS
只有把此檔改名為BOOT.SDI
啟動後X:\是EXFAT

自己做成功了
原來指令參數中有
我還以為原本的指令就是會改名了
initrd %path%\boot_exfat.sdi boot.sdi
結果還有特別參數啊@@
initrd -n boot.sdi  %path%\boot_exfat.sdi boot.sdi
回复

使用道具 举报

62#
发表于 2020-6-15 17:30:52 | 只看该作者
通过http下载boot.wim失败,提示找不到文件,但是把boot.wim放在服务器本地是可以启动的,求大佬解答
回复

使用道具 举报

61#
发表于 2020-5-18 12:16:15 | 只看该作者
谢谢分享
回复

使用道具 举报

60#
发表于 2019-12-21 22:42:50 来自手机 | 只看该作者
vmware 2核以上启动蓝屏。加上onecpu才行
回复

使用道具 举报

59#
发表于 2019-11-13 11:01:12 | 只看该作者
shishi
回复

使用道具 举报

58#
发表于 2019-3-1 20:01:49 | 只看该作者
谢谢。非常感谢。
回复

使用道具 举报

57#
发表于 2015-6-7 12:27:49 | 只看该作者
我也出现过,后来发现将它设置为第一启动就不会。原先,是将其它启动设在前面,然后进入启动菜单,再选择网启。
回复

使用道具 举报

56#
发表于 2015-6-7 00:09:21 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

55#
发表于 2015-4-10 20:59:22 来自手机 | 只看该作者
好东西,谢谢
回复

使用道具 举报

54#
发表于 2015-2-28 15:36:00 | 只看该作者
本帖最后由 北斗 于 2015-2-28 15:38 编辑

请教大家一下,技嘉H61M-DS2实机,瑞昱8111F网卡,用hanewin加载顶楼附件的64位ipxe.efi或snponly.efi的时候,卡在ipxe initialising devices无响应,是什么原因?

是ipxe.efi不支持8111F,还是其他的什么原因呢?

另外ipxe.efi的默认菜单路径是ipxe/default.ipxe,我想指定自定义的菜单脚本,菜单的路径应该在哪里指定?

谢谢~
回复

使用道具 举报

53#
发表于 2015-1-13 11:45:20 | 只看该作者
这个速度是很快,但有个问题,就是不论TFTP还是HTTP,一次一个文件只能被一台客户机器读取。
tiny pxe server提示: 另一个程序正在使用此文件,进程无法访问。
客户端提示:no sunch file或者file no found
这样就相当与单线程了,效率不高。
不知道是否可以请作者改一下呢?
回复

使用道具 举报

52#
发表于 2015-1-10 18:26:17 | 只看该作者

来支持一下楼主,辛苦啦~~~
回复

使用道具 举报

51#
发表于 2014-11-26 21:16:15 | 只看该作者
IPXE在 cONFIG网卡的时候出错,提示No more network devices是啥问题?
回复

使用道具 举报

50#
发表于 2014-10-31 13:15:33 | 只看该作者
学习下,谢谢楼主高人分享!!!!
回复

使用道具 举报

49#
发表于 2014-9-30 18:05:01 | 只看该作者
前来学习一下
回复

使用道具 举报

48#
 楼主| 发表于 2014-9-29 12:28:22 | 只看该作者
本帖最后由 我是神仙 于 2014-9-29 12:30 编辑

启动基本过程:

1 dhcp discover: 此为client开始DHCP过程中的第一个请求报文 arch:00007

2 dhcp offer   : 此为server 对dhcpdiscover 报文的响应

3 dhcp request  : 此为client 对dihcpoffer 报文的响应

4 dhcp ack     : server对 dhcprequest 报文的响应,client收到此报文后才真正获得了IP地址和相关配置信息。

5 检测是否有proxcy dhcp server

6 加载ipxe

7 dhcp discover: 此为client开始DHCP过程中的第一个请求报文  arch:00009

8 dhcp offer   : 此为server 对dhcpdiscover 报文的响应

9 dhcp request  : 此为client 对dihcpoffer 报文的响应

10 dhcp ack     : server对 dhcprequest 报文的响应,client收到此报文后才真正获得了IP地址和相关配置信息。

11 检测是否有proxcy dhcp server, 有的话再从proxcy dhcp server得到启动的文件名

12 开始启动脚本

如果把第7步开始的后续的二次DHCP过程省略了 可以加快启动
如果把第11步检测proxcy dhcp server的过程省略了的话 也可以加快启动

不过 过快了也不好 特别是要连接iscsi等的时候 即使加快了 也往往需要人为的等待几秒钟 加个sleep 3秒命令才能成功连接。所以太快也不一定好。一般就用默认的dhcp过程就好了
回复

使用道具 举报

47#
 楼主| 发表于 2014-9-26 10:40:39 | 只看该作者
本帖最后由 我是神仙 于 2014-9-29 12:25 编辑

普通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作为条件就行了

回复

使用道具 举报

46#
发表于 2014-9-25 10:36:40 | 只看该作者
本帖最后由 hhh333 于 2014-9-25 10:59 编辑
我是神仙 发表于 2014-9-25 08:56
EFI32这个问题昨天又发了个新版2.3.0已经解决了。和作者说了一下,他说这是因为一个编译选项忘了设置。结 ...


要用wimboot.i386这个文件吗?

试了,用这个文件可以了
回复

使用道具 举报

45#
 楼主| 发表于 2014-9-25 08:56:19 | 只看该作者
hhh333 发表于 2014-9-21 15:44
感觉到EFI32不能启动应该是wimboot的问题,前面都成了,就是boot不成,应该是没考虑32位的情况;

那个WI ...

EFI32这个问题昨天又发了个新版2.3.0已经解决了。和作者说了一下,他说这是因为一个编译选项忘了设置。结果代码一行没改,加了个编译选项就可以了。测试过了,确认没问题了。
https://git.ipxe.org/release/wimboot/wimboot-latest.zip

点评

要用wimboot.i386这个文件吗?  详情 回复 发表于 2014-9-25 10:36
回复

使用道具 举报

44#
 楼主| 发表于 2014-9-24 13:06:35 | 只看该作者


test
回复

使用道具 举报

43#
 楼主| 发表于 2014-9-24 12:37:27 | 只看该作者
hhh333 发表于 2014-9-21 15:44
感觉到EFI32不能启动应该是wimboot的问题,前面都成了,就是boot不成,应该是没考虑32位的情况;

那个WI ...

WIM文件名不能多于7个字符的问题在昨天的新版2.2.5中已经解决了。 efi32据说在wimboot.zip中有个文件wimboot.i386,可以试一下。
回复

使用道具 举报

42#
 楼主| 发表于 2014-9-21 22:41:43 | 只看该作者
hhh333 发表于 2014-9-21 15:44
感觉到EFI32不能启动应该是wimboot的问题,前面都成了,就是boot不成,应该是没考虑32位的情况;

那个WI ...

可以多于7个字符啊。可以是9个字符 10个字符。但是好像不能是8个字符
回复

使用道具 举报

41#
发表于 2014-9-21 15:44:56 | 只看该作者
感觉到EFI32不能启动应该是wimboot的问题,前面都成了,就是boot不成,应该是没考虑32位的情况;

那个WIM文件名不能多于7个字符的问题也还没有发新版。
回复

使用道具 举报

40#
 楼主| 发表于 2014-9-21 15:41:37 | 只看该作者
hhh333 发表于 2014-9-21 10:50
我是翻墙后开的,否则有时开不了,选高级模式,有32位的EFI,这是编译好的:
它会转到efi\H3_iPXEM.EF ...

可以加上一个ping命令,有时用来进入shell来测试网络是否连通 挺有用的。再加个console命令可以在ipxe菜单中显示背景图片。当然这些都是小儿科 能启动PE才是关键
回复

使用道具 举报

39#
 楼主| 发表于 2014-9-21 15:38:44 | 只看该作者
hhh333 发表于 2014-9-21 10:50
我是翻墙后开的,否则有时开不了,选高级模式,有32位的EFI,这是编译好的:
它会转到efi\H3_iPXEM.EF ...

看了下它那个网页rom-o-matic.eu 确实 是引用了 ajax.googleapis.com这个网站上的两个js文件。知道原因就好办了,把这两个js文件下载到本机就可以用了
回复

使用道具 举报

38#
发表于 2014-9-21 13:42:23 | 只看该作者
我是神仙 发表于 2014-9-21 11:56
又试了下 直接用bootia32.efi为启动文件进行传统的pxe启动 还是可以启动的!

看了日志 是因为那个bcd ...

bootia32.efi 可以启动,只要不特意去改变那个参数,特别是在VM中测试时。
回复

使用道具 举报

37#
 楼主| 发表于 2014-9-21 11:56:32 | 只看该作者
我是神仙 发表于 2014-9-21 11:26
原来是被墙了?可能是用了google的服务 我怎么一直没想到这个。。。还以为是我的打开方式不对

32位的 ...

又试了下 直接用bootia32.efi为启动文件进行传统的pxe启动 还是可以启动的!

看了日志 是因为那个bcd中有个什么参数 tcpblocksize 20480 不支持。把那个参数删除了就可以启动了

bcd文件我都是从其他PE上直接复制下来的 以前没注意到有这个参数 可能在其他地方有用吧

点评

bootia32.efi 可以启动,只要不特意去改变那个参数,特别是在VM中测试时。 [attachimg]199864[/attachimg]  详情 回复 发表于 2014-9-21 13:42
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-22 11:26

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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