江南一根葱 发表于 2020-5-3 22:25:58

当然你如果在grub2指定了ip,那是肯定能启的,至于vm,新vm启win7的boot.wim蓝屏我都没办法解决,只能用旧的vm生成的虚拟机

江南一根葱 发表于 2020-5-3 22:27:42

liuzhaoyzz 发表于 2020-5-3 18:37
试用了F:\20200503netgrubfmt\GRUBFM-虚拟机专用.bat
不能以管理员身份运行,否则会无限弹出cmd窗口,关 ...

你把你家路由拔了或关了dhcp,再vm启试试,搞不懂你为啥一定要在有dhcp的环境再开dhcp

江南一根葱 发表于 2020-5-3 22:37:21

本帖最后由 江南一根葱 于 2020-5-3 22:48 编辑

以前我用grub4dos中转的grub2,因为grldr也支持proxydhcp,不然proxydhcp环境网启不来grub2的,后来wintoflash改过网络模块,bios下的grub2支持proxydhcp了,pxefm就是grub2,引导到grub2环境只需要这一个文件就行了,删除fmcore就行,反正我是不敢用dhcp模式搞乱网络。。。

实际应用中,网启   要么是关闭其它dhcp使用(电子教室机房类),
                           要么架设在服务器上,开proxydhcp使用(企业)

跑在虚拟机上,很多环境用都不靠谱

liuzhaoyzz 发表于 2020-5-4 05:59:48

本帖最后由 liuzhaoyzz 于 2020-5-4 06:37 编辑

江南一根葱 发表于 2020-5-3 22:25
当然你如果在grub2指定了ip,那是肯定能启的,至于vm,新vm启win7的boot.wim蓝屏我都没办法解决,只能用旧 ...

好奇地问下,为啥你喜欢用boot.wim?为啥不直接用pe?我基本没用过boot.wim。另外你为啥要用原版windows.iso装系统?不用gho或者esd?好点的gho封装的省事,或者直接用esd不好吗?不到2GB,体积小方便啊。

liuzhaoyzz 发表于 2020-5-4 06:10:23

本帖最后由 liuzhaoyzz 于 2020-5-4 09:41 编辑

江南一根葱 发表于 2020-5-3 22:27
你把你家路由拔了或关了dhcp,再vm启试试,搞不懂你为啥一定要在有dhcp的环境再开dhcp

很多情况下,内网都是有路由器的啊,我的问题是,拔了路由器跟实际使用场景基本不吻合啊?确实有这可能出现样子的现象:dhcp的环境中开启pxeserver的dhcp,如果某个客户机刚开机,获取到的网关地址是pxeserver分配的,可能会导致客户机无法上网(修改为正确的网关之后可以),感觉企业级的三层交换机(路由器)很牛逼,内网总是他在分配ip,pxeserver根本抢不过他。soho级别的路由器,偶尔就会出现路由器分配地址慢过pxeserver的情况,但我感觉还是挺少的。我自己的测试,在有路由器(一般都是开启了dhcp的)的环境,如果勾上proxydhcp反而不能网启,不勾proxydhcp网启顺利,所以我一般没勾上proxydhcp,网启我也只是用的时候开启pxeserver,只是作为备胎使用,使用场景少,用后关掉,对内网影响不大。

你研究的proxydhcp从道理上来说应该更加严谨。我对proxydhcp没有什么研究。

liuzhaoyzz 发表于 2020-5-4 06:27:46

本帖最后由 liuzhaoyzz 于 2020-5-4 06:32 编辑

江南一根葱 发表于 2020-5-3 22:37
以前我用grub4dos中转的grub2,因为grldr也支持proxydhcp,不然proxydhcp环境网启不来grub2的,后来wintofl ...

请说详细点,pxefm是grub2x64.efi,你定制的吧?模块很少,只用于网启的是吗?主要就是有http等模块是吧?然后再用他chain grubfmx64.efi,是不是?你这个grubfmx64.efi怎么这么大,似乎包含了很多东西啊。你用lua生成的菜单大概是什么样子的?不明白你的方案启动流程,所以遇到问题根本不知道从何处下手,你的菜单是你用代码生成的吧?

虚拟机跟实体机确实有一定的差异,为了便于大家测试你的网启包,我觉得虚拟机这一关必须要过。

江南一根葱 发表于 2020-5-4 07:58:36

liuzhaoyzz 发表于 2020-5-4 06:27
请说详细点,pxefm是grub2x64.efi,你定制的吧?模块很少,只用于网启的是吗?主要就是有http等模块是 ...

虚拟机我不同年代的机测试了都正常,你一定要虚拟机在局域网里茫茫dhcp中找一个启动,grub2是没办法的,它压根就没proxydhcp这个变量,g4d和ipxe才有,你觉得为啥它们有?

江南一根葱 发表于 2020-5-4 08:06:33

liuzhaoyzz 发表于 2020-5-4 06:27
请说详细点,pxefm是grub2x64.efi,你定制的吧?模块很少,只用于网启的是吗?主要就是有http等模块是 ...

proxydhcp功能只不过是告诉局域网正确的dhcp服务器是谁,tinypxe打开后第一个提示的就是局域网内有其他dhcp,此时无论如何也要勾选proxydhcp,如果勾选了正常机器启动不了,那肯定一定必定绝逼是脚本问题

liuzhaoyzz 发表于 2020-5-4 08:09:22

本帖最后由 liuzhaoyzz 于 2020-5-4 08:20 编辑

江南一根葱 发表于 2020-5-4 07:58
虚拟机我不同年代的机测试了都正常,你一定要虚拟机在局域网里茫茫dhcp中找一个启动,grub2是没办法的, ...

问题是我压根就没用过proxydhcp这个变量啊,ipxe官网好像就是用的next-server这个变量,也就是TFTP server,而TFTP server地址和pxeserver dhcp保持一致,如果能够自动取得就获取,如果不能获取就赋予一个兜底,避免网络异常问题导致获取失败。

江南一根葱 发表于 2020-5-4 08:20:35

liuzhaoyzz 发表于 2020-5-4 08:09
问题是我压根就没用过proxydhcp这个变量啊,官网好像就是用的next-server这个变量,如果能够自动取得就获 ...

grub2也是next-server,但不支持proxydhcp,你路由没法给它发送next-server啊
我的方法是把ipxe的proxydhcp传给grub2
但你又不用proxydhcp,导致ipxe没这个变量,grub2不知道连哪个服务器,ipxe脚本中指定ip当然也是可以的,但指定后不通用了

liuzhaoyzz 发表于 2020-5-4 08:27:24

本帖最后由 liuzhaoyzz 于 2020-5-4 08:53 编辑

你的哪个方案用的是把ipxe的proxydhcp传给grub2?不明白啊,那个带proxydhcp的批处理,是把ipxe的proxydhcp传递给grub2吗?这个我在虚拟机试了UEFI也不行啊。看不到你的菜单,一直搞不懂你的方案倒底是怎么启动的。

ipxe脚本指定ip怎么会不通用?交给批处理啊!不是有批处理自动获取并修改的吗?就是说换用内网任意一台主机,都可以自动获取该机ip地址,并自动修改ipxe菜单中的next-server地址,不需要你手工修改的啊,也就是说批处理可以做到通用,在内网任意一台电脑部署,菜单自动生成,这就是所谓的免配置。而且指定ip似乎可以更好地适用于vlan环境吧(只是看了论坛的资料,我没测试过)。

sleet 发表于 2020-5-4 08:34:18

太高深了

江南一根葱 发表于 2020-5-4 08:51:46

liuzhaoyzz 发表于 2020-5-4 08:27
你的哪个方案用的是把ipxe的proxydhcp传给grub2?不明白啊,那个带proxydhcp的批处理,是把ipxe的proxydhcp ...

完全是可以让grub2自己去完成的,为何要批处理呢,linux下用不可能写个批处理啊,
明明可以用proxydhcp来定义的,为什么要去抢dhcp呢
流程不要太简单
ipxe--grub2
efi下因为grub2不支持proxydhcp
ipxe(proxydhcp)->grub2(next-server=proxydhcp)

你家的路由两个dhcp的情况
bios下-ipxe 取得dhcp-server、next-server(tinypxe) ->grub2(一会选中路由,一会选中tinypxe)
   efi下-ipxe取得dhcp-server、next-server-->grub2(???)
正确流程
bios下:grub2 取得dhcp-server、proxydhcp(tinypxe)->grub2(获得正确的next-server)
efi下:    ipxe取得dhcp-server、next-server(tinypxe) 、proxydhcpserver(tinypxe)->grub2(获得正确的next-server)


江南一根葱 发表于 2020-5-4 08:53:01

liuzhaoyzz 发表于 2020-5-4 08:09
问题是我压根就没用过proxydhcp这个变量啊,ipxe官网好像就是用的next-server这个变量,也就是TFTP ser ...

问题是我家能启,你家启不来
你家能启的方式,我家启不来
总不可能换路由器解决吧,我家路由是openwrt的,有可能抢dhcp抢不过tinypxe

liuzhaoyzz 发表于 2020-5-4 09:16:16

本帖最后由 liuzhaoyzz 于 2020-5-4 09:24 编辑

江南一根葱 发表于 2020-5-4 08:51
完全是可以让grub2自己去完成的,为何要批处理呢,linux下用不可能写个批处理啊,
明明可以用proxydhcp ...

tiny pxeserver和hfs都是windows下的软件,这套方案都是在windows主机上面部署的,用windows的批处理修改next-server不是很自然的吗?你的批处理不也是windows下面的吗。windows主机修改ipxe菜单里的next-server,开启pxeserver应该也能够用于linux客户端启动吧?

next-server就是TFTP server,我的环境dhcp的确有两个(路由器的和pxeserver的),但是TFTP server只有一个啊,pxe客户机启动的时候可以准确地获取到这个唯一的TFTP server,不会有二义性冲突,然后这个TFTP server和pxeserver的DHCP是重合的,没问题吧。

江南一根葱 发表于 2020-5-4 09:24:02

本帖最后由 江南一根葱 于 2020-5-4 10:14 编辑

liuzhaoyzz 发表于 2020-5-4 09:16
tiny pxeserver和hfs都是windows下的软件,这套方案都是在windows主机上面部署的,用windows的批处理修改 ...
....这是不开启proxydhcp和开启proxydhcp两种情况下
ipxe下的变量值
可以很明确地看到,开启proxydhcp后,proxydhcp项下的next-server才是正确的值,有这个值,为什么还要写批处理来获取本机地址呢?而且,这个next-server的作用是还可以指定其它服务器,甚至填公网地址都可以,把它给固定成本机地址了算什么呢。
当然,我以前也用过指定ip的方式,只不过我的方式是用批处理从tinypxe生成的config.ini中获取地址写到ipxe,并不是去本地连接取。。

.
在这个图里可以看到,dhcp/dhcp-server、dhcp/next-server、proxydhcp/dhcp-server、proxydhcp/next-server这四个值是可以完全不一样的。但grub2不认后者,有什么办法呢,你说指定,那其它环境怎么办?uefi下的启动就这个脚本
isset ${proxydhcp/dhcp-server} && chain http://${proxydhcp/dhcp-server}/app/netgrubfm/netgrubfm.${platform} proxydhcp=${proxydhcp/dhcp-server}
如果存在proxydhcp就取proxydhcp下的dhcp-server,当然,实际应用中取proxydhcp下的next-server更适用.

proxydhcp是作为参数传递给netgrubfm.efi的,netgrubfm.efi用这个地址来浏览http上的文件
如果用你的方法直接钦定一个地址, 那么这个ipxe文件只需要一行
chain http://192.168.11.242/app/netgrubfm/netgrubfm.${platform} proxydhcp=192.168.1.242
强制指定proxydhcp参数







hkkitlee 发表于 2020-5-5 17:22:04

本帖最后由 hkkitlee 于 2020-5-5 17:28 编辑

江南一根葱 发表于 2020-5-4 09:24
....这是不开启proxydhcp和开启proxydhcp两种情况下
ipxe下的变量值
可以很明确地看到,开启proxydhcp ...
不知道行不行?



[*]isset ${dhcp/dhcp-server} && set bootserver ${dhcp/dhcp-server} ||
[*]isset ${dhcp/next-server} && set bootserver ${dhcp/next-server} ||
[*]isset ${proxydhcp/dhcp-server} && set bootserver ${proxydhcp/dhcp-server} ||
[*]isset ${proxydhcp/next-server} && set bootserver ${proxydhcp/next-server}
[*]chain http://${bootserver}/app/netgrubfm/netgrubfm.${platform}


新增一個變量${bootserver}。開不開proxydhcp也可以沒關係了。

江南一根葱 发表于 2020-5-5 17:29:20

hkkitlee 发表于 2020-5-5 17:22
不知道行不行?




{:1_186:}开了proxydhcp的话这样肯定可以啊
但没开proxydhcp的话,肯定只有1和2存在啊,后面两项都被“忽略”了
所以回到抢dhcp了

hkkitlee 发表于 2020-5-5 17:37:28

江南一根葱 发表于 2020-5-5 17:29
开了proxydhcp的话这样肯定可以啊
但没开proxydhcp的话,肯定只有1和2存在啊,后面两项都被“ ...

這個寫法已指定了${dhcp/dhcp-server} 或 ${dhcp/next-server},還會再搶嗎?

江南一根葱 发表于 2020-5-5 21:02:02

hkkitlee 发表于 2020-5-5 17:37
這個寫法已指定了${dhcp/dhcp-server} 或 ${dhcp/next-server},還會再搶嗎?

嗯,因为有时候从路由的dhcp启,有时候从软件的dhcp启,完全靠运气了

hkkitlee 发表于 2020-5-5 22:33:54

江南一根葱 发表于 2020-5-5 21:02
嗯,因为有时候从路由的dhcp启,有时候从软件的dhcp启,完全靠运气了

吓!
多個dhcp......完全明白了

sleet 发表于 2020-5-21 08:09:39

楼主厉害

lhpxs 发表于 2020-5-21 15:50:28

试了之后才知道GRUBFM果然是好东西,为楼主点赞

江南一根葱 发表于 2020-5-21 16:33:44


可以浏览网络上的Debian.iso顺利启动了
wget貌似狂速启动,我的hfs都快挂了,不得不限速

hkkitlee 发表于 2020-5-21 17:22:05

江南一根葱 发表于 2020-5-21 16:33
可以浏览网络上的Debian.iso顺利启动了
wget貌似狂速启动,我的hfs都快挂了,不得不限速

Efi可以啟動嗎?

江南一根葱 发表于 2020-5-21 17:31:00

hkkitlee 发表于 2020-5-21 17:22
Efi可以啟動嗎?

可以的,我就是efi试的

hkkitlee 发表于 2020-5-21 18:38:11

江南一根葱 发表于 2020-5-21 17:31
可以的,我就是efi试的

太厲害喇👍

江南一根葱 发表于 2020-5-21 19:05:42

hkkitlee 发表于 2020-5-21 18:38
太厲害喇👍

{:1_186:}翻了你github的bt脚本才看到http正确参数的,官方看到有httpfs和fetch两个参数,前者没用

江南一根葱 发表于 2020-5-21 21:47:51


在线启动网易源中的Debian了,没有8G内存应该启不成功,我虚拟机分了5G多内存才启动成功

hihk 发表于 2020-5-23 11:08:30

这个网络传输看起来不错,底下的图标加上中文说明就更棒了
页: 1 2 3 4 [5] 6 7
查看完整版本: [史上最伟大网管]吓!直接浏览服务器文件!非典型grub2文件管理器(20200825支持Debian)