无忧启动论坛

标题: 求教大家 NAS怎么设置 iPXE 启动? [打印本页]

作者: 2011chs    时间: 2021-8-17 21:02
标题: 求教大家 NAS怎么设置 iPXE 启动?
问题, NAS怎么设置使用PXE启动呢?我的最终想法是 用ipxe启动wim文件就行,使用http或ftp 或tftp都行,但目前我不知道怎么设置,这里请教下大伙,谢谢大家啦

环境:
   NAS:威联通 TS-451D


NAS设置的是 静态192.168.0.72


NAS里开启了DHCP,TFTP服务
NAS的IP是192.168.0.72, 那么这里的DHCP就用192.168.3.1 ,那个TFTP服务器地址我不知道填写啥,还有启动文件,这样填写测试都是启动不了


TFTP服务设置


TFTP根目录, 这里的文件是下载论坛的一个网友的,链接如下, 人家路由器的都行,没理由NAS不行呀

[发布] 路由器设置TFTP+PXE急速启动winpe电脑维护(http或ftp加载)




作者: 2011chs    时间: 2021-8-17 21:08
标题: 2021/8/19更新,ipxe怎么自动进入菜单呢?
本帖最后由 2011chs 于 2021-8-19 22:14 编辑

2021/8/19  23:00
结贴, 经过两天奋斗, 终于OK了, 使用了江南一棵葱的ipxe.efi 可以自动进入ipxe菜单, 原来我之前用的别人的ipxe.efi版本太老了

2021/8/19 ,, 帖子不能编辑,只好改2楼的内容
经过两天鼓捣, 终于成功使用ipxe 启动了用wimboot的方式加载了http的wim文件 , 但是启动并不完美
    a. 开始启动不成功, 是因为nas的DHCP和tftp网段不一样, 后来干脆把路由器的DHCP关闭,只要nas的DHCP这样就引导启动成功了
    b. nas的dhcp启动文件填写ipxe.efi,在ipxe启动界面要按Ctrl + B,先dhcp获取ip,然后chain http://192.168.0.72/menu.txt 进入ipxe菜单界面,然后选winpe进启动成功了
    c. 所以现在的问题有2个                                 1. 怎么自动判断启动类型,bios时自动启动ipxe.bios, efi时自动引导ipxe.efi启动呢, dhcp启动文件只能填其中一个?
           2. 怎么不用在ipxe界面不用手动输入命令就自动进入ipxe的启动菜单呢?
我在网上了解了下, 自动选择efi还是bios引导,貌似他们是设置dhcp的一个配置文件, 但nas的dhcp没有那个文件配置呀,启动文件只能填其中一个

补充点图片
tftp根目录


web根目录


boot目录内容


dhcp设置


ipxe的启动菜单文件menu.txt
  1. #!ipxe
  2.    set menu-timeout 10000
  3.    set menu-default WinPE
  4.    set xieyi:string http
  5.    isset ${ip} || dhcp
  6.    
  7. :start
  8.   menu iPXE Boot Menu --${platform}--${ip}
  9.   item --gap --             --------------------------------- WinPE --------------------------------
  10.   
  11.   item WinPE               Boot WinPE x64 (wimboot)
  12.   item

  13.   item --gap --             ---------------------------- Advanced Options -----------------------
  14.   item --key c config       Configure settings                                   -- c
  15.   item shell                      Drop to iPXE shell
  16.   item reboot                  Reboot computer
  17.   item --key x exit           Exit iPXE and continue BIOS boot           -- x
  18.   choose --timeout ${menu-timeout} --default ${menu-default} selected
  19.   goto ${selected}

  20. :shell
  21.   echo Type 'exit' to get the back to the menu
  22.   shell
  23.   goto start

  24. :reboot
  25.   reboot

  26. :exit
  27.   exit

  28. :config
  29.   config
  30.   goto start

  31. :WinPE
  32.     kernel ${xieyi}://${next-server}/boot/wimboot  gui || goto retry
  33.     #在bios和efi不同环境取相应的文件
  34.     iseq ${platform} pcbios  && initrd ${xieyi}://${next-server}/boot/bootmgr  bootmgr ||
  35.     iseq ${platform} efi  && initrd -n bootx64.efi ${xieyi}://${next-server}/boot/bootmgfw.efi ||
  36.     initrd ${xieyi}://${next-server}/boot/bcd  BCD ||
  37.     initrd ${xieyi}://${next-server}/boot/boot.sdi   boot.sdi ||
  38.     initrd ${xieyi}://${next-server}/boot/segoen_slboot.ttf segoen_slboot.ttf ||
  39.     initrd ${xieyi}://${next-server}/boot/segoe_slboot.ttf segoe_slboot.ttf ||
  40.     initrd ${xieyi}://${next-server}/boot/segmono_boot.ttf segmono_boot.ttf ||
  41.     initrd ${xieyi}://${next-server}/boot/wgl4_boot.ttf wgl4_boot.ttf ||  #bootres.dll和wgl4_boot.ttf负责出窗,其它三个负责旋转出水
  42.     initrd ${xieyi}://${next-server}/boot/bootres.dll bootres.dll ||
  43.     iseq ${platform} pcbios  && initrd ${xieyi}://${next-server}/boot/pe32.wim boot.wim ||
  44.     iseq ${platform} efi && initrd -n boot.wim ${xieyi}://${next-server}/boot/pe64.wim ||
  45.     boot || goto retry
  46.     goto start

  47. :retry
  48.   imgfree
  49.   prompt Error! press any key to back menu
  50.   goto start
复制代码



启动过程
要手动输入命令, 这个麻烦,要能自动进入目录就完美了

启动菜单


载入文件界面, 载入完成就启动成功了



UEFI.jpg (88.47 KB, 下载次数: 193)

UEFI.jpg

BIOS.jpg (67.37 KB, 下载次数: 210)

BIOS.jpg

web2.png (4.55 KB, 下载次数: 187)

web2.png

web1.png (4.67 KB, 下载次数: 211)

web1.png

tftp.png (2.34 KB, 下载次数: 215)

tftp.png

efi.png (2.93 KB, 下载次数: 216)

efi.png

dhcp.png (45.55 KB, 下载次数: 206)

dhcp.png

ipxe3.png (5.11 KB, 下载次数: 206)

ipxe3.png

作者: hkkitlee    时间: 2021-8-17 21:31
那个TFTP服务器地址我不知道填写啥:启动文件放那裏就填那裏的ip,也是放NAS就是192.168.0.72
作者: caocaofff    时间: 2021-8-17 22:06
看图里的报错,可能是TFTP连通性有问题?看看是设置启动文件或者目录哪里不对劲?

作者: tigerhuang    时间: 2021-8-17 23:58
tftp的IP地址是NAS的IP地址,先测试一下tftp服务,我估计还是dhcp-boot=lpxelinux.0这个选项没有被你的tftp服务器设置好。
作者: runlin    时间: 2021-8-18 09:29
这就是百度看看别人帖子照搬的效果,理论还没搞清楚就去实浅,当然不行了,还是在电脑用TinyPXE吧,有别人做好现成的
作者: tigerstarb    时间: 2021-8-18 16:31
你NAS的IP为192.168.0.72,DHCP服务器为什么要分配192.168.3.x段地址。
作者: tigerstarb    时间: 2021-8-18 16:35
TFTP服务器地址就填NAS的地址。TFTP服务不可跨段,DHCP分配的地址要与TFTP地址是一个地址段才行。
作者: 2011chs    时间: 2021-8-19 17:25
本帖最后由 2011chs 于 2021-8-19 19:56 编辑

进过两天鼓捣,终于小有成果,现在的问题主要是怎么自动进入ipxe的目录呢?更新内容在2楼,1楼不能编辑,不知道为啥, 2021、8、19

作者: QuadAndroid    时间: 2021-8-19 21:52
路由器是啥?可以考虑在nas搭一个虚拟机,里面装一个openwrt,只提供dhcp和tftp服务就可以了。。
然后参考这个文章 https://www.haiyun.me/archives/1384.html ,修改/etc/dnsmasq.conf。然后自动读取菜单的话,可以用那个 江南一根葱 大佬的ipxe.efi和ipxe.pxe,参考他放的位置,自己对着放,或者自己编译时内嵌菜单。
作者: QuadAndroid    时间: 2021-8-20 22:13
启动过程
要手动输入命令, 这个麻烦,要能自动进入目录就完美了

关于这一点,要把菜单内chobit应该是自动读取http服务器中的ipxeboot.txt,也就是,你输入了dhcp服务器的http地址进浏览器,就要能看到这个文件。。。。。你要把你的menu.txt改名成ipxeboot.txt。
作者: tigerhuang    时间: 2021-8-25 22:45
楼主搞定了没有?想请教如何“ b. nas的dhcp启动文件填写ipxe.efi”,我参考一下以便在路由器上的dnsmasq写入来进行uefi启动,路由器的bios启动没问题。




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