无忧启动论坛

标题: iPXE开启FTP NFS新版160208+Tiny Pxe TFTP HTTP免配置傻瓜包Sanboot无需预读直接秒启 [打印本页]

作者: rampage    时间: 2016-2-8 19:27
标题: iPXE开启FTP NFS新版160208+Tiny Pxe TFTP HTTP免配置傻瓜包Sanboot无需预读直接秒启
本帖最后由 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
内容见下载文件
作者: rampage    时间: 2016-2-8 19:42
本帖最后由 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
作者: qq1064990473    时间: 2016-2-15 11:40

为何我启动后是这样的,麻烦了~
作者: hdlan    时间: 2016-2-21 10:50
用什么软件编译的 我打开是乱码
作者: sucon    时间: 2016-2-23 16:39
也遇到 Operation not supported 错误,不知何因
作者: wln    时间: 2017-2-4 18:44
下载链接能再给一个吗?谢谢!
作者: 2013aygj1412    时间: 2017-3-5 14:02
完全看不懂系列。。。
作者: 2010czcry    时间: 2017-3-10 08:57
我也很晕,哈哈,感谢楼主分享。
作者: shengbang    时间: 2017-3-25 09:57
谢谢分享,正试着做个服务器、

作者: shengbang    时间: 2017-3-25 09:58
来下载了,下载文件呢。
作者: bnsgj    时间: 2017-4-9 09:43
求下载地址啊?!!
作者: oob    时间: 2017-4-23 15:21
亲 下载地址打不开了~~
作者: bnsgj    时间: 2017-5-2 16:29
楼主能给一份吗?1557387881@qq.com
作者: xuyishun    时间: 2017-6-2 14:28
360 空间已经关闭了,有人提供 一下新的下载吗?楼主还在关注吗?
作者: 2130425301    时间: 2017-6-28 14:34
谢谢分享
作者: 2130425301    时间: 2017-6-28 14:34
谢谢分享
作者: xyxb    时间: 2017-8-3 19:55
很给力!
作者: qq8899399    时间: 2017-11-15 18:39
下载不了了

作者: zxz1155    时间: 2017-11-19 22:40
谢谢楼主分享
作者: awnuitfk    时间: 2018-5-12 08:33
提示: 作者被禁止或删除 内容自动屏蔽
作者: 312439374    时间: 2018-5-18 00:04
你好,链接挂了,,能不能发我一份邮箱谢谢.
312439374@qq.com
作者: papago    时间: 2018-10-18 15:10
iPXE开启FTP NFS新版160208+Tiny Pxe TFTP HTTP免配置傻瓜包Sanboot无需预读直接秒启

感谢r大,看起来正式我需要的 pxe 启动 iso的方法
作者: papago    时间: 2018-10-18 15:27
0PE,放在mypes/0PE.ISO 会以sanboot方式启动 需要注意的是,0PE必须使用老版本,启动后Grub4Dos画面花屏的版本,才支持这个快速启动方式 不花屏的grldr文件,无法使用sanboot,提示Missing Helper,应该是不花屏的grldr使用了什么高级的扩展功能 这里启动0PE,grub4dos菜单下,需要按空格键,才能以sanboot方式启动XP PE 这里启动0PE,grub4dos菜单下,需要按空格键,才能以sanboot方式启动03 PE
作者: papago    时间: 2018-10-18 15:27
0PE,放在mypes/0PE.ISO 会以sanboot方式启动 需要注意的是,0PE必须使用老版本,启动后Grub4Dos画面花屏的版本,才支持这个快速启动方式 不花屏的grldr文件,无法使用sanboot,提示Missing Helper,应该是不花屏的grldr使用了什么高级的扩展功能 这里启动0PE,grub4dos菜单下,需要按空格键,才能以sanboot方式启动XP PE 这里启动0PE,grub4dos菜单下,需要按空格键,才能以sanboot方式启动03 PE
作者: papago    时间: 2018-10-18 15:27
0PE,放在mypes/0PE.ISO 会以sanboot方式启动
需要注意的是,0PE必须使用老版本,启动后Grub4Dos画面花屏的版本,才支持这个快速启动方式
不花屏的grldr文件,无法使用sanboot,提示Missing Helper,应该是不花屏的grldr使用了什么高级的扩展功能
这里启动0PE,grub4dos菜单下,需要按空格键,才能以sanboot方式启动XP PE
这里启动0PE,grub4dos菜单下,需要按空格键,才能以sanboot方式启动03 PE
作者: xingwuzhe    时间: 2021-7-18 03:13
求 这个程序  谁有哇
作者: xingwuzhe    时间: 2021-8-16 05:10
求链接求链接求链接求链接求链接求链接求链接
作者: xingwuzhe    时间: 2021-9-11 02:01

你好,链接挂了,,能不能发我一份邮箱谢谢.
258851420@qq.com
作者: xingwuzhe    时间: 2022-1-9 16:34
你好,链接挂了,,能不能发我一份邮箱谢谢.
258851420@qq.com
求链接求链接求链接求链接求链接求链接求链接
作者: xingwuzhe    时间: 2022-1-25 22:24
你好,链接挂了,,能不能发我一份邮箱谢谢.
258851420@qq.com
求链接求链接求链接求链接求链接求链接求链接
作者: xingwuzhe    时间: 2022-3-3 16:11

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




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net./) Powered by Discuz! X3.3