无忧启动论坛

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

iPXE开启FTP NFS新版160208+Tiny Pxe TFTP HTTP免配置傻瓜包Sanboot无需预读直接秒启

    [复制链接]
跳转到指定楼层
1#
发表于 2016-2-8 19:27:05 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 rampage 于 2016-2-8 20:11 编辑

祝大家新春愉快!

iPXE开启FTP NFS新版160208+Tiny Pxe TFTP HTTP免配置傻瓜包Sanboot无需预读直接秒启
git e2b11

FTP启用

NFS启用

Debug信息启用 DEBUG=device:3,undi:3,dhcp:3,efi_init:3,efi_snp,realtek:3,rtl818x:3,3c5x9,scsi,iscsi,ath9k,ath5k

//======================================
傻瓜包使用说明
下载傻瓜包解压缩
https://yunpan.cn/cxAzyiMIGKqx8  访问密码 167c

如需以FTP方式将文件完全下载到本地内存后,memdisk模拟ISO启动,把你的iso放在 mypes/memdisk-ftp.iso 即可

如需以http方式将文件完全下载到本地内存后,memdisk模拟ISO启动,把你的iso放在 mypes/memdisk-http.iso 即可

如需以sanboot( ISO Over Http Sanboot)方式直接秒启,不预加载文件,使用到什么读取什么文件,把你的文件放在 mypes/sanboot-http.iso即可
(速度快, 只占用需要的本地内存而不是把整个ISO都下载到本地内存中,缺点是论坛上的PE系统,不是每一个的结构都适合这个方式启动)
支持Sanboot启动方式的PE系统,请到以下帖子集中报告,统一收集统计:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=375198

如需以ftp下载文件,wimboot启动wim文件,把你的文件放在 mypes/wimboot-ftp.wim 即可

如需以http下载文件,wimboot启动wim文件,把你的文件放在 mypes/wimboot-http.wim 即可

0PE,放在mypes/0PE.ISO 会以sanboot方式启动
需要注意的是,0PE必须使用老版本,启动后Grub4Dos画面花屏的版本,才支持这个快速启动方式
不花屏的grldr文件,无法使用sanboot,提示Missing Helper,应该是不花屏的grldr使用了什么高级的扩展功能
这里启动0PE,grub4dos菜单下,需要按空格键,才能以sanboot方式启动XP PE
这里启动0PE,grub4dos菜单下,需要按空格键,才能以sanboot方式启动03 PE



双击 TinyPxeSrv.exe 开启服务器
Tiny Pxe Server启动文件选择
默认选 undionly.kpxe(适合UNDI一类的网卡,文件较小)或者ipxe.pxe

当服务器online以后,就可以在客户机处启动了

//======================================
启动流程控制
undionly.kpxe/ipxe.pxe
-> 编译时内嵌脚本
->boot.ipxe一级启动文件
->加载变量配置文件boot.ipxe.cfg
->尝试启动网卡地址对应的启动菜单文件mac-{$macaddress}.ipxe
/如无网卡启动菜单,启动通用menu.ipxe

//======================================

常用启动方式
如需自己修改菜单请参照学习menu.ipxe

以FTP方式将文件完全下载到本地内存后,memdisk模拟ISO启动,把你的iso放在 mypes/memdisk-ftp.iso 即可

  1. :memdisk-ftp
  2. initrd ${ftp-url}/mypes/memdisk-ftp.iso
  3. chain ${ftp-url}/memdisk iso raw || goto failed
  4. goto start
复制代码


以http方式将文件完全下载到本地内存后,memdisk模拟ISO启动,把你的iso放在 mypes/memdisk-http.iso 即可

  1. :memdisk-http
  2. initrd ${boot-url}/mypes/memdisk-http.iso
  3. chain ${boot-url}/memdisk iso raw || goto failed
  4. goto start
复制代码


作为一个块设备,不下载,直接秒启,不遮盖本地内存
不需要预加载时间
执行到哪里选择到什么,才会把需要的文件下载到本地内存
不支持把ftp连接作为块设备,只能http
#4) Does not hold the ISO as a readable device once the ISO is loaded unless loaded into the iBFT.
以前的有关sanboot启动的讨论
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=327800
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=337134

把你的文件放在 mypes/sanboot-http.iso即可

  1. :sanboot-http
  2. sanboot --no-describe --keep ${boot-url}/mypes/sanboot-http.iso || goto failed
  3. goto start
复制代码


ftp下载文件,wimboot启动wim文件,把你的文件放在 mypes/wimboot-ftp.wim 即可

  1. :wimboot-ftp
  2.   kernel ${ftp-url}/boot/wimboot
  3.   initrd ${ftp-url}/boot/bootmgx     bootmgr
  4.   initrd ${ftp-url}/boot/bbb         bcd
  5.   initrd ${ftp-url}/boot/boot.sdi    boot.sdi
  6.   initrd ${ftp-url}/mypes/wimboot-ftp.wim boot.wim
  7.   boot || goto failed
  8.   goto start
复制代码


http下载文件,wimboot启动wim文件,把你的文件放在 mypes/wimboot-http.wim 即可

  1. :wimboot-http
  2.   kernel ${boot-url}/boot/wimboot
  3.   initrd ${boot-url}/boot/bootmgx     bootmgr
  4.   initrd ${boot-url}/boot/bbb         bcd
  5.   initrd ${boot-url}/boot/boot.sdi    boot.sdi
  6.   initrd ${boot-url}/mypes/wimboot-http.wim boot.wim
  7.   boot || goto failed
  8.   goto start
复制代码


0PE,将0PE.ISO放在 mypes/0PE.ISO

  1. :0pe-sanboot
  2. sanboot --no-describe --keep ${boot-url}/mypes/0PE.ISO || goto failed
  3. goto start
复制代码


Linux类型启动,以及直接http/ftp启动网站上的系统,请看menu.ipxe

//================================
更多细节,延伸阅读

启动文件内嵌脚本:

  1. #!ipxe
  2. :retry
  3. echo trying dhcp...
  4. dhcp || goto retry
  5. chain boot.ipxe || exit
复制代码


脚本执行后尝试加载服务器上的boot.ipxe, 读取boot.ipxe.cfg内的变量设置
如果服务器上有客户机网卡地址相匹配的mac-{$网卡地址}.ipxe,则启动之,如果没有,则启动通用 menu.ipxe


boot.ipxe文件内容

  1. #!ipxe
  2. #this was boot.ipxe loaded by embendded ipxe.pxe
  3. echo next-server is ${next-server} (^ ^;)

  4. prompt --key 0x02 --timeout 6500 Press Ctrl-B for iPXE shell or wait for chain loading next node ... && shell ||

  5. # Global variables used by all other iPXE scripts
  6. echo reading config from boot.ipxe.cfg
  7. chain --autofree boot.ipxe.cfg ||

  8. # Boot <boot-url>/<boot-dir>/hostname-<hostname>.ipxe
  9. # if hostname DHCP variable is set and script is present

  10. #isset ${hostname} && chain --replace --autofree ${boot-dir}hostname-${hostname}.ipxe ||

  11. # Boot <boot-url>/<boot-dir>/uuid-<UUID>.ipxe
  12. # if SMBIOS UUID variable is set and script is present

  13. #isset ${uuid} && chain --replace --autofree ${boot-dir}uuid-${uuid}.ipxe ||

  14. # Boot <boot-url>/<boot-dir>/mac-010203040506.ipxe if script is present
  15. echo trying to chain loading ${boot-url}/${boot-dir}mac-${mac:hexraw}.ipxe
  16. chain --replace --autofree ${boot-url}/${boot-dir}mac-${mac:hexraw}.ipxe ||

  17. # Boot <boot-url>/<boot-dir>/pci-8086100e.ipxe if one type of
  18. # PCI Intel adapter is present and script is present

  19. #chain --replace --autofree ${boot-dir}pci-${pci/${busloc}.0.2}${pci/${busloc}.2.2}.ipxe ||

  20. # Boot <boot-url>/<boot-dir>/chip-82541pi.ipxe if one type of
  21. # PCI Intel adapter is present and script is present

  22. #chain --replace --autofree ${boot-dir}chip-${chip}.ipxe ||

  23. # Boot <boot-url>/menu.ipxe script if all other options have been exhausted

  24. echo now chain loading ${boot-url}/menu.ipxe
  25. #chain --replace --autofree ${menu-url} ||
  26. chain --replace --autofree ${boot-url}/menu.ipxe ||
复制代码


boot.ipxe.cfg 变量设置文件

  1. #!ipxe
  2. # OPTIONAL: NFS server used for menu files and other things
  3. # Must be specified as IP, as some distros don't do proper name resolution
  4. set nfs-server ${next-server}
  5. set nfs-root /raid/boot/
  6. set cifs-server //${next-server}

  7. # OPTIONAL: Base URL used to resolve most other resources
  8. # Should always end with a slash
  9. #if use http server
  10. set boot-url http://${next-server}
  11. #if use nfs server
  12. #set boot-url nfs://${nfs-server}${nfs-root}

  13. set ftp-url ftp://${next-server}

  14. # OPTIONAL: What URL to use when sanbooting
  15. # Usually ${boot-url} is used, but required until NFS supports block device API
  16. # Should always end with a slash
  17. set sanboot-url http://${next-server}

  18. # OPTIONAL: Relative directory to boot.ipxe used to
  19. # override boot script for specific clients
  20. set boot-dir boot/

  21. # REQUIRED: Absolute URL to the menu script, used by boot.ipxe
  22. # and commonly used at the end of simple override scripts
  23. # in ${boot-dir}.
  24. set menu-url ${boot-url}/menu.ipxe

  25. # OPTIONAL: iSCSI server location and iSCSI IQNs
  26. # Must be specified as an IP, some clients have issues with name resolution
  27. # Initiator IQN is also calculated to use hostname, if present
  28. set iscsi-server ${next-server}

  29. set base-iqn iqn.2011-02.lan.smidsrod
  30. set base-iscsi iscsi:${iscsi-server}::::${base-iqn}
  31. isset ${hostname} && set initiator-iqn ${base-iqn}:${hostname} || set initiator-iqn ${base-iqn}:${mac}

  32. # OPTIONAL: Hashed password used by some distros, e.g. SmartOS
  33. set root-shadow $1$RKvIqeyXXXXXS6F3WAeQCWk.

  34. # OPTIONAL: URL to report memtest results to
  35. set memtest-report-url http://${next-server}/memtest-report.cgi

  36. # OPTIONAL: Where to store the OpenELEC configuration and database
  37. # and version number
  38. set openelec-version 3.2.2
  39. set openelec-storage-dir ${nfs-server}:/raid/misc/openelec-storage/

  40. # OPTIONAL: TinyCore customizable information
  41. set tc-version 4.7.6

  42. # OPTIONAL: CoreOS customizable information
  43. set coreos-version 94.0.0
  44. set coreos-sshkey ssh-dss AAAAB3NzaC1kXXXXXz636QEs3kA9jPVI8qcCOkgDAf2BwiUIawbRTWvncJMAp315VhYY= robin@server

  45. # OPTIONAL: Macrium Reflect customizable information
  46. set macrium-version 5.2

  47. # OPTIONAL: Firefly Solaris recovery environment customizable information
  48. set firefly-version 0613

  49. # OPTIONAL: SpinRite customizable information
  50. set spinrite-version 6.0

  51. # OPTIONAL: SystemRescueCD customizable information
  52. set sysrcd-version 3.8.0

  53. # OPTIONAL: HDT customizable information
  54. set hdt-version 0.5.2
复制代码


接下来启动menu.ipxe
内容见下载文件

评分

参与人数 2无忧币 +10 收起 理由
papago + 5 很给力!
+ 5 神马都是浮云

查看全部评分

2#
 楼主| 发表于 2016-2-8 19:42:56 | 只看该作者
本帖最后由 rampage 于 2016-2-8 19:56 编辑

如果你只是需要支持FTP的iPXE文件:
压缩包下载

https://yunpan.cn/cxADCzqq8np6T  访问密码 0082

ipxe.ISO
ipxe.krn
ipxe.pxe
undionly.kpxe

使用:

启动文件可选undionly.kpxe或者ipxe.pxe, 需要放在服务器根目录
ipxe.krn实际的ipxe文件,需要放在服务器根目录

这个编译文件,启动后是尝试读取服务器上的boot.ipxe菜单文件


git e2b1140

FTP启用

NFS启用

Debug信息启用 DEBUG=device:3,undi:3,dhcp:3,efi_init:3,efi_snp,realtek:3,rtl818x:3,3c5x9,scsi,iscsi,ath9k,ath5k
回复

使用道具 举报

3#
发表于 2016-2-15 11:40:07 | 只看该作者

为何我启动后是这样的,麻烦了~
回复

使用道具 举报

4#
发表于 2016-2-21 10:50:10 | 只看该作者
用什么软件编译的 我打开是乱码
回复

使用道具 举报

5#
发表于 2016-2-23 16:39:55 | 只看该作者
也遇到 Operation not supported 错误,不知何因
回复

使用道具 举报

6#
发表于 2017-2-4 18:44:08 | 只看该作者
下载链接能再给一个吗?谢谢!
回复

使用道具 举报

7#
发表于 2017-3-5 14:02:58 | 只看该作者
完全看不懂系列。。。
回复

使用道具 举报

8#
发表于 2017-3-10 08:57:42 来自手机 | 只看该作者
我也很晕,哈哈,感谢楼主分享。
回复

使用道具 举报

9#
发表于 2017-3-25 09:57:16 | 只看该作者
谢谢分享,正试着做个服务器、
回复

使用道具 举报

10#
发表于 2017-3-25 09:58:37 | 只看该作者
来下载了,下载文件呢。
回复

使用道具 举报

11#
发表于 2017-4-9 09:43:12 | 只看该作者
求下载地址啊?!!
回复

使用道具 举报

12#
发表于 2017-4-23 15:21:24 | 只看该作者
亲 下载地址打不开了~~
回复

使用道具 举报

13#
发表于 2017-5-2 16:29:12 | 只看该作者
楼主能给一份吗?1557387881@qq.com
回复

使用道具 举报

14#
发表于 2017-6-2 14:28:02 | 只看该作者
360 空间已经关闭了,有人提供 一下新的下载吗?楼主还在关注吗?
回复

使用道具 举报

15#
发表于 2017-6-28 14:34:38 | 只看该作者
谢谢分享
回复

使用道具 举报

16#
发表于 2017-6-28 14:34:40 | 只看该作者
谢谢分享
回复

使用道具 举报

17#
发表于 2017-8-3 19:55:48 | 只看该作者
很给力!
回复

使用道具 举报

18#
发表于 2017-11-15 18:39:22 | 只看该作者
下载不了了
回复

使用道具 举报

19#
发表于 2017-11-19 22:40:18 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

20#
发表于 2018-5-12 08:33:29 | 只看该作者
下载不了呀!!!
回复

使用道具 举报

21#
发表于 2018-5-18 00:04:11 | 只看该作者
你好,链接挂了,,能不能发我一份邮箱谢谢.
312439374@qq.com
回复

使用道具 举报

22#
发表于 2018-10-18 15:10:22 | 只看该作者
iPXE开启FTP NFS新版160208+Tiny Pxe TFTP HTTP免配置傻瓜包Sanboot无需预读直接秒启

感谢r大,看起来正式我需要的 pxe 启动 iso的方法
回复

使用道具 举报

23#
发表于 2018-10-18 15:27:05 | 只看该作者
0PE,放在mypes/0PE.ISO 会以sanboot方式启动 需要注意的是,0PE必须使用老版本,启动后Grub4Dos画面花屏的版本,才支持这个快速启动方式 不花屏的grldr文件,无法使用sanboot,提示Missing Helper,应该是不花屏的grldr使用了什么高级的扩展功能 这里启动0PE,grub4dos菜单下,需要按空格键,才能以sanboot方式启动XP PE 这里启动0PE,grub4dos菜单下,需要按空格键,才能以sanboot方式启动03 PE
回复

使用道具 举报

24#
发表于 2018-10-18 15:27:07 | 只看该作者
0PE,放在mypes/0PE.ISO 会以sanboot方式启动 需要注意的是,0PE必须使用老版本,启动后Grub4Dos画面花屏的版本,才支持这个快速启动方式 不花屏的grldr文件,无法使用sanboot,提示Missing Helper,应该是不花屏的grldr使用了什么高级的扩展功能 这里启动0PE,grub4dos菜单下,需要按空格键,才能以sanboot方式启动XP PE 这里启动0PE,grub4dos菜单下,需要按空格键,才能以sanboot方式启动03 PE
回复

使用道具 举报

25#
发表于 2018-10-18 15:27:35 | 只看该作者
0PE,放在mypes/0PE.ISO 会以sanboot方式启动
需要注意的是,0PE必须使用老版本,启动后Grub4Dos画面花屏的版本,才支持这个快速启动方式
不花屏的grldr文件,无法使用sanboot,提示Missing Helper,应该是不花屏的grldr使用了什么高级的扩展功能
这里启动0PE,grub4dos菜单下,需要按空格键,才能以sanboot方式启动XP PE
这里启动0PE,grub4dos菜单下,需要按空格键,才能以sanboot方式启动03 PE
回复

使用道具 举报

26#
发表于 2021-7-18 03:13:57 | 只看该作者
求 这个程序  谁有哇
回复

使用道具 举报

27#
发表于 2021-8-16 05:10:08 | 只看该作者
求链接求链接求链接求链接求链接求链接求链接
回复

使用道具 举报

28#
发表于 2021-9-11 02:01:54 | 只看该作者

你好,链接挂了,,能不能发我一份邮箱谢谢.
258851420@qq.com
回复

使用道具 举报

29#
发表于 2022-1-9 16:34:01 | 只看该作者
你好,链接挂了,,能不能发我一份邮箱谢谢.
258851420@qq.com
求链接求链接求链接求链接求链接求链接求链接
回复

使用道具 举报

30#
发表于 2022-1-25 22:24:37 | 只看该作者
你好,链接挂了,,能不能发我一份邮箱谢谢.
258851420@qq.com
求链接求链接求链接求链接求链接求链接求链接
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-26 20:52

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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