无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)无忧启动网成立20周年!广告联系 QQ:184822951 微信:wuyouceo
查看: 2559|回复: 43

希望grub4dos在pxe启动时能够支持http协议

    [复制链接]
发表于 2019-12-19 16:31:40 | 显示全部楼层 |阅读模式
本帖最后由 liuzhaoyzz 于 2019-12-21 10:13 编辑

grub4dos在pxe启动时目前是不是只支持tftp协议,不支持http协议?希望以后(一年、两年、或者更久,等chenall、2011yaya2007777有时间有兴趣)能够支持,tftp传输太慢了,不论百兆网还是千兆网,只有1-3MB/s左右,http或者ftp能够充分利用网速,能够达到12MB/s~100MB/s,现有的pxe高速启动PE.ISO方案,无论是lpxelinux.0,ipxe,对于整体仿真PE.ISO启动都是用的memdisk,感觉没有grub4dos的map --mem强大稳定,比如说memdisk似乎只能仿真一个磁盘并启动,不支持仿真多个磁盘,如果grub4dos支持http协议,BIOS下的pxe启动,也不用学习那么多启动软件了。

发表于 2019-12-19 17:18:45 | 显示全部楼层
你用ipxe来启g4d就支持的,还支持https

点评

那何必用ipxe和g4d之间来回调用倒腾呢,不如直接用ipxe+memdisk+http+pe.iso方案好了。  详情 回复 发表于 2019-12-19 17:26
回复

使用道具 举报

 楼主| 发表于 2019-12-19 17:26:04 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2019-12-19 18:01 编辑
江南一根葱 发表于 2019-12-19 17:18
你用ipxe来启g4d就支持的,还支持https

那何必用ipxe和g4d之间来回调用倒腾呢,不如直接用ipxe+memdisk+http+pe.iso方案好了。

点评

问题是你ipxe能启ramos? ipxe启g4d才能map --mem启ramos啊。。。  详情 回复 发表于 2019-12-19 17:31
回复

使用道具 举报

发表于 2019-12-19 17:31:51 | 显示全部楼层
liuzhaoyzz 发表于 2019-12-19 17:26
那何必用ipxe和g4d之间来回调用倒腾呢,不如直接用ipxe+memdisk+http+pe.iso方案好了。

问题是你ipxe能启ramos?
ipxe启g4d才能map --mem启ramos啊。。。ipxe也不支持zh.CN

点评

你说的ramos指的是什么?admin登录的PE吗? ipxe启动PE.ISO没问题啊,BIOS下用ipxe+memdisk+http+pe.iso方案即可。 lpxelinux.0+memdisk+http+pe.iso也可以,lpxelinux.0支持中文菜单。  详情 回复 发表于 2019-12-19 17:53
回复

使用道具 举报

 楼主| 发表于 2019-12-19 17:53:45 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2019-12-19 18:02 编辑
江南一根葱 发表于 2019-12-19 17:31
问题是你ipxe能启ramos?
ipxe启g4d才能map --mem启ramos啊。。。ipxe也不支持zh.CN

你说的ramos指的是什么?admin登录的PE吗?还是真正的操作系统?
ipxe启动PE.ISO没问题啊,BIOS下用ipxe+memdisk+http+pe.iso方案即可。不需要依赖grub4dos的任何组件。
lpxelinux.0+memdisk+http+pe.iso也可以,lpxelinux.0支持中文菜单。不需要依赖grub4dos的任何组件。

pxe启动真正的操作系统,vhd这种,需要firadisk/winvblock/svbus这样子的驱动支持才行,这一类驱动似乎只适用于g4d,不适用于memdisk吧。


回复

使用道具 举报

发表于 2019-12-19 18:30:58 | 显示全部楼层
扯点题外的, map --mem和memdisk应该没什么区别吧.

点评

g4d的map --mem感觉要比memdisk还是强大些,兼容性应该也好些,不点、chenall、yaya做了不少改进,国内国外用的人多,提出的问题,经过十几年的问题修正和技术积累,map --mem的bug很少了,memdisk似乎是winvblock的  详情 回复 发表于 2019-12-19 21:20
有的吧,win下的蛆动不一样  详情 回复 发表于 2019-12-19 19:17
回复

使用道具 举报

发表于 2019-12-19 19:17:27 | 显示全部楼层
wintoflash 发表于 2019-12-19 18:30
扯点题外的, map --mem和memdisk应该没什么区别吧.

有的吧,win下的蛆动不一样
回复

使用道具 举报

发表于 2019-12-19 19:20:47 | 显示全部楼层
本帖最后由 江南一根葱 于 2019-12-19 19:42 编辑

近几年在机房用过来,ipxe+g4d算是比较完美,也方便修改菜单                                                                    
而且g4d环境再转ipxe,也会有意想不到的加载提速(千兆环境)。。。
不过,如果要讲兼容性,只能是g4d的tftp兼容最好。。

回复

使用道具 举报

 楼主| 发表于 2019-12-19 21:20:41 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2019-12-19 21:25 编辑
wintoflash 发表于 2019-12-19 18:30
扯点题外的, map --mem和memdisk应该没什么区别吧.

g4d的map --mem感觉要比memdisk还是强大些,兼容性应该也好些,不点、chenall、yaya做了不少改进,国内国外用的人多,提出的问题,经过十几年的问题修正和技术积累,map --mem的bug很少了,代码已经锤炼得很健壮,memdisk似乎是winvblock的作者Shao Miller的作品,他同时也参与了syslinux的开发,memdisk似乎不怎么更新了,比如memdisk只能仿真一个镜像到内存,map --mem就可以仿真多个。
回复

使用道具 举报

发表于 2019-12-19 22:36:23 | 显示全部楼层
PXE 是主板(或者说是网卡,不用细究)支持的,是在启动阶段就支持的,属于 BIOS 层面的东西。

但是,http 就不同了,它是属于 OS 级别的东西,即,先有 OS,然后才有 http。我这么说,可能不太严谨。不过没关系,你懂我的大致意思就行。在 BIOS (通电自检)阶段,主板不提供 http 协议的支持,只提供 pxe 之类的协议支持。所以我说,让 grub4dos 去支持 http,那工作量大了去了,不是现有的几个开发者能完成的任务。要是能完成的话,chenall 早把它搞定了。

我估计没人愿意做这个工作。BIOS 正在淘汰,谁愿意再去费那么大的劲、轰轰烈烈地像干革命似的“大动干戈”?小概率事件,不能抱什么希望。
回复

使用道具 举报

 楼主| 发表于 2019-12-20 07:50:54 来自手机 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2019-12-20 16:39 编辑

一分为二地看问题,pxe+http启动有服务器端和客户端,服务器端用的是webserver+tineypxeserver这样的支持http协议的传输软件,webserver的http协议的确是跑在OS之上;客户端用的是ipxe/lpxelinux.0这样的引导器,引导器只是OS loader,或者说是个ROM环境,不能算作是OS,只需要能够对服务器发起post和get交互就行了,就类似于bootmgr之于windows的关系,OS loader只是OS很小的一部分,毕竟已经有ipxe/lpxelinux.0支持http协议成功的先例摆在那里,他们也就200~300多KB,跟grldr差不多,不能算作是OS,代码也是开源的,不知道能不能借鉴。

不点大,grub4dos是您的心血之作啊,让他完善功能不是更好吗,您怎么能泼冷水说BIOS即将被淘汰这样的话呢,至少10~20年BIOS/UEFI都会共存吧,一个作品写出来了才能知道他倒底有没有用处吧,grub4dos由于基于中断架构的原因,已经不可能转向UEFI了,或者说成本和难度太大,那就继续增加功能,做好BIOS的引导就好了。


chenall的ipxegrldr似乎是把ipxe和grldr捆绑在一起,似乎内核还是用的ipxe,两个环境切换会不会带来问题?我的意思是幻想着有一天,grub4dos能够借鉴吸收ipxe的部分代码,用于pxe的时候,菜单能够这样子:
title WINPE (WePE_64_V2.0.iso)
find --ignore-floppies --ignore-cd --set-root /boot/imgs/WePE_64_V2.0.iso
map --mem --top http://192.168.1.1/boot/imgs/WePE_64_V2.0.iso (0xff)
map --e820cycles=-1
map --hook
chainloader (0xff)


grub4dos有firadisk/winvblock/svbus这一类驱动的加持,对于软件外置这种PE,不会出现找不到外置程序的问题,memdisk则做不到,memdisk作为syslinux的组件,早已不更新,syslinux的最后一个正式版6.03是2014年8月6日发布,测试版6.04是2016年3月4日发布的,一直停留在测试版,所以memdisk/syslinux处于无人维护状态,没什么指望了,只有ipxe还在活跃开发期,但是ipxe启动PE.ISO也是要依赖于memdisk,memdisk有bug也无人维护,我发现memdisk有时候加载PE就失败,这是个问题

纯属个人臆想,不对之处请见谅。   






回复

使用道具 举报

发表于 2019-12-20 09:01:43 | 显示全部楼层
本帖最后由 chenall 于 2019-12-20 09:05 编辑

我觉得

目前已经有了很好用的轮子 (ipxe)了,如果不能造出更完美的轮子还是继续使用它.

目前ipxe提供的环境就是类似于pxe启动的环境,

只是PXE的环境只能访问tftp,而ipxe的环境可以访问各种ipxe支持的协议.

使用ipxe+grldr就可以实现你想要的效果.

楼上的菜单使用ipxe+grldr启动就可以直接使用.


注: grub4dos并不是直接使用了ipxe的内核,只是调用了它提供的接口方法(类似于pxe启动时BIOS提供的访问tftp的接口). 正常情况下不会有什么负作用.

另外ipxegrldr其实也就是ipxe内置了grldr由ipxe直接启动grldr.

也可以分开, 先启动ipxe再根据需要选择启动grub4dos效果是一样的.


点评

请教下chenall大,ipxe启动转grldr可以吗?我只见到ipxe启动转grub.exe的菜单写法。 :WePE_64_V2.0.iso initrd http://${next-server}/imgs/WePE_64_V2.0.iso #chain http://${next-server}/pxelinux.cfg/  详情 回复 发表于 2019-12-20 09:16
回复

使用道具 举报

 楼主| 发表于 2019-12-20 09:16:11 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2019-12-20 09:18 编辑
chenall 发表于 2019-12-20 09:01
我觉得

目前已经有了很好用的轮子 (ipxe)了,如果不能造出更完美的轮子还是继续使用它.
另外ipxegrldr其实也就是ipxe内置了grldr由ipxe直接启动grldr.

也可以分开, 先启动ipxe再根据需要选择启动grub4dos效果是一样的.

请教下chenall大,ipxe启动转grldr可以吗?我只见到ipxe启动转grub.exe的菜单写法。我说的是PE.ISO,不是wimboot+PE.WIM。
:WePE_64_V2.0.iso
  initrd http://${next-server}/imgs/WePE_64_V2.0.iso
  #chain http://${next-server}/pxelinux.cfg/memdisk raw iso
  chain http://${next-server}/grub/grub.exe  --config-file="map (rd)+1 (0xff);map --hook;chainloader (0xff)"

点评

使用这个方式来启动 说明对GRUB4DOS的印像还停留是很早期的版本上 新的版本是可以直接ipxe启动直接chain grldr启动的(必须使用ipxe的kpxe的版本) chain grldr 简单的测试就是直接使用ipxegrldr 启动后是  详情 回复 发表于 2019-12-20 13:05
回复

使用道具 举报

发表于 2019-12-20 11:27:22 | 显示全部楼层
我印象中,grub4dos 里面的 pxe 代码,是 bean 独立完成的。grub legacy 里面,好像没有这样的功能(究竟有没有,我并不能百分百确定;我是网络外行,不怎么关心这方面的情况,因此也不太了解)。

幸亏我也能看懂其中的一部分代码,而且,我还提供了一点点改进:就是,自动探测 PXE BIOS 所使用的扇区大小,这个探测代码,是我添加的。这个自动探测,解决了我在某台机器上遇到的 pxe 启动失败问题。在那台失败的机器上,pxelinux 也一样是失败的,无法启动。添加了自动探测扇区大小以后,grub4dos 就可以在这样变态的 pxe BIOS 之下启动了。我对此很自豪(我在网络方面是外行,一个敲边鼓的;能有一点点成绩,就喜不自禁,这是可以理解的吧)。可以推测,pxelinux 之所以无法工作,也正是因为缺乏自动探测扇区大小的功能,无法应对变态 BIOS 的实际情况。

chenall 接手以后,又在 pxe 等网络方面做了大量的工作。网络方面就靠 chenall 了。但 chenall 也没多少时间来全力维护 grub4dos。我理解,十分理解。

liuzhaoyzz 很有热情,这个是看得出来的。但似乎缺少一点哲学方面的 “冷静”。事物的发展是有方向的。得看准方向,权衡利弊,最后才作出符合实际的决定。世上的万事万物是互相联系、互相影响的。各种事物、各种情况,都在互相影响。我们不可以完全不考虑外界的影响。在奋力埋头拉车的同时,也要记得时不时地抬头看路。

我现在完全脱离 grub4dos 这个项目。但我还关心这个项目的开发维护者们。我主要考虑的焦点,是避免让他们去做过多的工作,比如浪费了时间、金钱或精力,以及弄坏了身体,等等。

点评

确实如您所说的这样子。 http://bbs.znpc.net/forum.php?mod=viewthread&tid=2931&highlight=%2Bbean bean发表于 2007-4-18 03:34 GRUB4DOS PXE网络启动版 (v3.2) 2该版本可用于PXE无盘启动。进入grub后,  详情 回复 发表于 2019-12-20 11:53
回复

使用道具 举报

 楼主| 发表于 2019-12-20 11:53:26 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2019-12-20 12:05 编辑
不点 发表于 2019-12-20 11:27
我印象中,grub4dos 里面的 pxe 代码,是 bean 独立完成的。grub legacy 里面,好像没有这样的功能(究竟有 ...

确实如您所说的这样子。grub legacy是没有pxe功能的,bean、不点、chenall在pxe方面都投入过不少精力。其实我理解不点站在开发者角度看问题,想减轻开发者的负担和压力,以及要根据BIOS/UEFI大势所趋,我完全理解,但目前看来,grub4dos似乎没有什么更好的发展方向,仅仅是完善bug,增强稳定性,所以我提议(不太成熟)如果开发者(包括chenall、yaya以及后来可能的参与者)能够增强pxe功能更好了,但是那也是在开发者们有时间、兴趣、精力等方面的先决条件下,如果ipxe/lpxelinux.0的代码能够借鉴一部分最好了,如果难度较大,还是算了。

sysoft时空论坛已经挂了,谨以此贴留念吧:
http://bbs.znpc.net/forum.php?mo ... 1&highlight=%2Bbean
bean发表于 2007-4-18 03:34
GRUB4DOS PXE网络启动版 (v3.2)

2该版本可用于PXE无盘启动。进入grub后,可以用设备(pd)来访问服务器上的文件。

v3.2更新:
* 在启动系统前卸载PXE的运行环境。

v3.1更新:
* 增加内置命令pxe,可用于设置pxe的参数。

v3更新:
* 优化PXE代码,文件下载速度大大增加
* 显示进度条。每下载1M的内容,在屏幕上显示一个"."。
* 修正使用map函数映射网络上的虚拟影像时出现的问题(主要对应于etherboot的PXE ROM,网卡上内置的ROM一般没有问题)

v2更新:
* 完全重写pxe部分的代码。
* pxe和网络部分代码相互独立,pxe成为一个文件系统模块。
* 不再需要pxegrub,grldr可以直接用于无盘启动。
* 采用类似于pxelinux结构的配置文件。

注意1:v2中,使用设备(pd)来访问pxe服务器上文件,它不同于netboot生成的网络设备(nd)。netboot支持需要使用特殊的编译指令,而pxe支持是缺省的。

注意2:v2中,启动文件所在的目录成为文件访问的根目录。例如,启动文件是 tftp/grldr,那么所有的文件名都是相对于tftp目录的,比如说,(pd)/aa.img在服务器上相应的文件是 tftp/aa.img。

注意3:v2中,配置文件采用类似于pxelinux的结构,也就是,程序在开始前将会顺序搜索以下的文件:
        [/mybootdir]/menu.lst/01-88-99-AA-BB-CC-DD
        [/mybootdir]/menu.lst/C000025B
        [/mybootdir]/menu.lst/C000025
        [/mybootdir]/menu.lst/C00002
        [/mybootdir]/menu.lst/C0000
        [/mybootdir]/menu.lst/C000
        [/mybootdir]/menu.lst/C00
        [/mybootdir]/menu.lst/C0
        [/mybootdir]/menu.lst/C
        [/mybootdir]/menu.lst/default

(88:99:AA:BB:CCD是网卡MAC,C000025B是IP地址192.0.2.91)

如果以上的文件都不存在,那么grub会使用内置菜单。

注意4:从v3.1开始,增加内置命令pxe,用于在menu.lst中设置pxe的参数。

pxe
没有任何参数时,显示当前的blksize和basedir设置

pxe blksize N
设置包的大小。N最大值是1432,最小值是512,缺省值是1432。某些很旧的tftp服务器可能不支持大于512的包,这时需要手动把包的大小设置为512。

pxe basedir path
设置tftp的基础目录。比如说,使用命令

pxe basedir /tftp

后,(pd)设备中的文件名都是相对于/tftp目录的:(pd)/aa.img相对于服务器上的 /tftp/aa.img文件。

基础目录的初始值是启动文件所在的目录。比如说,启动的文件是/tftp/grldr,那么basedir的初始值就是/tftp/

注意5:从v3.2开始,增加两个pxe命令,用于管理PXE的运行环境

pxe keep
不卸载PXE的运行环境

pxe unload
立刻卸载PXE的运行环境

程序缺省的处理方式是在boot的时候卸载PXE的运行环境。如果你需要保留PXE(例如需要通过startrom引导PE),可以使用pxe keep。如果需要在boot命令之前卸载PXE,则使用pxe unload。

使用介绍:
1、把grldr文件拷贝到服务器。
2、建立目录 /menu.lst/,在里面存放菜单文件。
3、设置dhcp和tftp服务器,把grldr作为启动文件。
4、启动客户端,PXE ROM会自动从服务器上下载grub并启动。

在Windows平台下,可以使用tftpd32,它同时提供了dhcp和tftp两种服务。网址:

http://tftpd32.jounin.net/

示范的menu.lst:

title Create ramdisk using map
map --mem (pd)/floppy.img (fd0)
map --hook
rootnoverify (fd0)
chainloader (fd0)+1

title Create ramdisk using memdisk
kernel (pd)/memdisk
initrd (pd)/floppy.img

[ 本帖最后由 bean 于 2007-5-26 17:33 编辑 ]

        

点评

还有没有其他时空论坛帖子的备份? 如果有的话能不能全部打包上传到某个地方供大家查阅参考?谢谢。  详情 回复 发表于 2019-12-20 12:35
回复

使用道具 举报

 楼主| 发表于 2019-12-20 12:13:40 来自手机 | 显示全部楼层
      http://wuyou.net/forum.php?mod=viewthread&tid=342846  看了下,2014.10月份就有网友510819776提出这个需求了。     
回复

使用道具 举报

发表于 2019-12-20 12:35:32 | 显示全部楼层
liuzhaoyzz 发表于 2019-12-20 11:53
确实如您所说的这样子。grub legacy是没有pxe功能的,bean、不点、chenall在pxe方面都投入过不少精力。其 ...

还有没有其他时空论坛帖子的备份?
如果有的话能不能全部打包上传到某个地方供大家查阅参考?谢谢。


回复

使用道具 举报

 楼主| 发表于 2019-12-20 12:52:48 来自手机 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2019-12-20 12:58 编辑

当时刚开始接触grub4dos,从sysoft时空论坛到无忧,grub4dos的知识点太多,看了前面忘了后面的,于是我做了一部分笔记,涉及到代码部分的很少,当时bean的帖子我大部分复制了。分享出来,不知道你想要哪些? https://www.cnblogs.com/liuzhaoy ... /01/04/2843592.html   
wintoflash大神如果有兴趣加入grub4dos开发,那就好了!
   

点评

感谢。 这个还是算了,我水平不够,不懂汇编。 我主要是对bean开发的burg比较感兴趣,可惜burgloader的论坛数据应该都没有了。  详情 回复 发表于 2019-12-20 20:40
回复

使用道具 举报

发表于 2019-12-20 13:05:35 | 显示全部楼层
本帖最后由 chenall 于 2019-12-20 13:07 编辑
liuzhaoyzz 发表于 2019-12-20 09:16
请教下chenall大,ipxe启动转grldr可以吗?我只见到ipxe启动转grub.exe的菜单写法。我说的是PE.ISO,不 ...

使用这个方式来启动

说明对GRUB4DOS的印像还停留是很早期的版本上

新的版本是可以ipxe启动直接chain grldr启动的(必须使用ipxe的kpxe的版本)
chain grldr
简单的测试就是直接使用ipxegrldr

启动后是可以直接使用类似如下语句的
map --mem http://192.168.103.15/test/test.iso (0xff)

ipxegrldr如果没有使用自己的菜单默认情况下加载的是网络的grub4dos菜单,里面都是直接访问http下载启动文件的.




点评

根据chenall大的提示,tinypxeserver+直接用ipxegrldr作为启动文件,用类似上面的菜单直接起动PE.ISO成功。原来早就实现了啊!我out几年了! map --mem http://192.168.103.15/test/test.iso (0xff)这一句之前似乎  详情 回复 发表于 2019-12-20 14:13
ipxeldr好像改内置菜单不太方便,一定得重新编译?  详情 回复 发表于 2019-12-20 13:51
回复

使用道具 举报

发表于 2019-12-20 13:50:03 | 显示全部楼层
我的启动模板就是用的ipxe转grldr,然后http启动,不太有问题啊
回复

使用道具 举报

发表于 2019-12-20 13:51:50 | 显示全部楼层
chenall 发表于 2019-12-20 13:05
使用这个方式来启动

说明对GRUB4DOS的印像还停留是很早期的版本上

ipxeldr好像改内置菜单不太方便,一定得重新编译?

点评

ipxegrldr为什么要用内置菜单?不是会直接搜索同目录的menu.lst吗?menu.lst不是很好编辑的吗?  详情 回复 发表于 2019-12-20 14:39
回复

使用道具 举报

 楼主| 发表于 2019-12-20 14:13:26 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2019-12-20 14:23 编辑
chenall 发表于 2019-12-20 13:05
使用这个方式来启动

说明对GRUB4DOS的印像还停留是很早期的版本上

根据chenall大的提示,tinypxeserver+直接用ipxegrldr作为启动文件,ipxegrldr会自动调用同目录下的menu.lst菜单文件,用类似上面的菜单直接起动PE.ISO成功。原来早就实现了啊!我out几年了!
map --mem http://192.168.103.15/test/test.iso (0xff)这一句之前似乎不再需要find语句了,写了find语句会出错。
        
回复

使用道具 举报

发表于 2019-12-20 14:26:03 | 显示全部楼层
滥用find的后果^_^,find不一定需要用的,我就很少使用find  正常情况下find一般是菜单最前面使用用于定位特殊文件

大部份的情况下,menu.lst和所需要的文件都是在同一个地方的. 这时完全不需要使用find
直接相对路径就可以使用了.
回复

使用道具 举报

 楼主| 发表于 2019-12-20 14:36:00 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2019-12-20 14:37 编辑

不用find不行啊,因为grldr启动盘符(bd)和PE.ISO不一定是同一个盘符,比如grldr从C盘grldr引导,(bd)=(hd0,0),PE放在F盘,或者不同盘符有多个grldr,不用find怎么确定PE.ISO所在的盘符啊。

用了map --mem http://192.168.103.15/test/test.iso (0xff)这样子的语句,启动本地hd上面的
map --mem /test/test.iso (0xff)和网络启动的PE.ISO的菜单文件就不能统一了,需要提前用批处理之类的进行处理,就是需要提前修改webserver的地址,而这个地址webserver有可能是变化的。可有好的办法,实现本地hd和http启动的pxe菜单统一?搞两套菜单?        

点评

不是很明白你具体的需求 我觉得菜单要通用最好是使用相对路径,, 可以了解一下相对路径的概念. 这样不管文件放在哪里都是使用同样的菜单就可以启动了. 像我网络启动和本地启动所使用的菜单是一模一样的.  详情 回复 发表于 2019-12-20 14:53
回复

使用道具 举报

 楼主| 发表于 2019-12-20 14:39:37 | 显示全部楼层
江南一根葱 发表于 2019-12-20 13:51
ipxeldr好像改内置菜单不太方便,一定得重新编译?

ipxegrldr为什么要用内置菜单?不是会直接搜索同目录的menu.lst吗?menu.lst不是很好编辑的吗?

点评

不想用menu.lst呗  详情 回复 发表于 2019-12-20 14:55
回复

使用道具 举报

发表于 2019-12-20 14:53:54 | 显示全部楼层
liuzhaoyzz 发表于 2019-12-20 14:36
不用find不行啊,因为grldr启动盘符(bd)和PE.ISO不一定是同一个盘符,比如grldr从C盘grldr引导,(bd)=(hd0, ...

不是很明白你具体的需求

我觉得菜单要通用最好是使用相对路径,, 可以了解一下相对路径的概念.

这样不管文件放在哪里都是使用同样的菜单就可以启动了.

像我网络启动和本地启动所使用的菜单是一模一样的.

加载本地启动菜单就是使用本地的文件,加载网络启动菜单就是使用网络上的文件.

比如 menu.lst 和 test.iso 在同一个磁盘
那在menu.lst里面启动只需要如下写法就行了
map --mem /path/test.iso (0xff)

点评

ipxe的:map --mem http://192.168.103.15/test/test.iso (0xff)这样子的语句具体是什么时候开始支持http的?刚开始(2014-12-28)不支持这样的吧?我想知道我out多久了!  详情 回复 发表于 2019-12-20 15:16
你说的都是本地启动的情况下或者一个本地,一个pxe-tfptd启动的情况,的确可以本地和网络共用同一各菜单。 那pxe-http启动涉及到webserver的地址变化,和本地的菜单是不同的啊,怎么用同一套菜单?  详情 回复 发表于 2019-12-20 14:58
回复

使用道具 举报

发表于 2019-12-20 14:55:47 | 显示全部楼层
本帖最后由 江南一根葱 于 2019-12-20 14:59 编辑
liuzhaoyzz 发表于 2019-12-20 14:39
ipxegrldr为什么要用内置菜单?不是会直接搜索同目录的menu.lst吗?menu.lst不是很好编辑的吗?

不想用menu.lst呗,我需要内置菜单里干很多活不过通常还是喜欢用ipxe来引导g4d
回复

使用道具 举报

 楼主| 发表于 2019-12-20 14:58:59 | 显示全部楼层
chenall 发表于 2019-12-20 14:53
不是很明白你具体的需求

我觉得菜单要通用最好是使用相对路径,, 可以了解一下相对路径的概念.

你说的都是本地启动的情况下或者一个本地,一个pxe-tfptd启动的情况,的确可以本地和网络共用同一个菜单。

那pxe-http启动涉及到webserver的地址变化,和本地的菜单是不同的啊,怎么用同一套菜单?
        

点评

加判断就行了 if ***  详情 回复 发表于 2019-12-20 15:01
回复

使用道具 举报

发表于 2019-12-20 15:01:59 | 显示全部楼层
liuzhaoyzz 发表于 2019-12-20 14:58
你说的都是本地启动的情况下或者一个本地,一个pxe-tfptd启动的情况,的确可以本地和网络共用同一个菜单 ...

加判断就行了 if ***

点评

我看笨办法还是用两套菜单,简单粗暴。  详情 回复 发表于 2019-12-20 15:04
回复

使用道具 举报

 楼主| 发表于 2019-12-20 15:04:47 | 显示全部楼层

我看笨办法还是用两套菜单,简单明了粗暴。      
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2021-1-21 03:16

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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