无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: 江南一根葱
打印 上一主题 下一主题

[分享] [史上最伟大网管]吓!直接浏览服务器文件!非典型grub2文件管理器(20200825支持Debian)

    [复制链接]
121#
 楼主| 发表于 2020-5-3 22:25:58 来自手机 | 只看该作者
当然你如果在grub2指定了ip,那是肯定能启的,至于vm,新vm启win7的boot.wim蓝屏我都没办法解决,只能用旧的vm生成的虚拟机

点评

好奇地问下,为啥你喜欢用boot.wim?为啥不直接用pe?我基本没用过boot.wim。另外你为啥要用原版windows.iso装系统?不用gho或者esd?好点的gho封装的省事,或者直接用esd不好吗?体积小方便啊。  详情 回复 发表于 2020-5-4 05:59
回复

使用道具 举报

122#
 楼主| 发表于 2020-5-3 22:27:42 来自手机 | 只看该作者
liuzhaoyzz 发表于 2020-5-3 18:37
试用了F:\20200503netgrubfmt\GRUBFM-虚拟机专用.bat
不能以管理员身份运行,否则会无限弹出cmd窗口,关 ...

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

点评

很多情况下,内网都是有路由器的啊,我的问题是,拔了路由器跟实际使用场景基本不吻合啊?确实在有这样子的现象:dhcp的环境中开启pxeserver的dhcp,如果某个客户机刚开机,获取到的网关地址是pxeserver分配的,可能  详情 回复 发表于 2020-5-4 06:10
回复

使用道具 举报

123#
 楼主| 发表于 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使用(企业)

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

点评

请说详细点,pxefm是grub2x64.efi,你定制的吧?模块很少,只用于网启的是吗?主要就是有http等模块是吧?然后在用他chain grubfmx64.efi,是不是?你用lua生成的菜单大概是什么样子的?不明白你的方案启动流程,你  详情 回复 发表于 2020-5-4 06:27
回复

使用道具 举报

124#
发表于 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,体积小方便啊。
回复

使用道具 举报

125#
发表于 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没有什么研究。
回复

使用道具 举报

126#
发表于 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生成的菜单大概是什么样子的?不明白你的方案启动流程,所以遇到问题根本不知道从何处下手,你的菜单是你用代码生成的吧?

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

点评

proxydhcp功能只不过是告诉局域网正确的dhcp服务器是谁,tinypxe打开后第一个提示的就是局域网内有其他dhcp,此时无论如何也要勾选proxydhcp,如果勾选了正常机器启动不了,那肯定一定必定绝逼是脚本问题  详情 回复 发表于 2020-5-4 08:06
虚拟机我不同年代的机测试了都正常,你一定要虚拟机在局域网里茫茫dhcp中找一个启动,grub2是没办法的,它压根就没proxydhcp这个变量,g4d和ipxe才有,你觉得为啥它们有?  详情 回复 发表于 2020-5-4 07:58
回复

使用道具 举报

127#
 楼主| 发表于 2020-5-4 07:58:36 来自手机 | 只看该作者
liuzhaoyzz 发表于 2020-5-4 06:27
请说详细点,pxefm是grub2x64.efi,你定制的吧?模块很少,只用于网启的是吗?主要就是有http等模块是 ...

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

点评

问题是我压根就没用过proxydhcp这个变量啊,官网好像就是用的next-server这个变量,如果能够自动取得就获取,如果不能获取就赋予一个兜底,避免网络异常问题导致获取失败。  详情 回复 发表于 2020-5-4 08:09
回复

使用道具 举报

128#
 楼主| 发表于 2020-5-4 08:06:33 来自手机 | 只看该作者
liuzhaoyzz 发表于 2020-5-4 06:27
请说详细点,pxefm是grub2x64.efi,你定制的吧?模块很少,只用于网启的是吗?主要就是有http等模块是 ...

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

使用道具 举报

129#
发表于 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保持一致,如果能够自动取得就获取,如果不能获取就赋予一个兜底,避免网络异常问题导致获取失败。

点评

问题是我家能启,你家启不来 你家能启的方式,我家启不来 总不可能换路由器解决吧,我家路由是openwrt的,有可能抢dhcp抢不过tinypxe  详情 回复 发表于 2020-5-4 08:53
grub2也是next-server,但不支持proxydhcp,你路由没法给它发送next-server啊 我的方法是把ipxe的proxydhcp传给grub2 但你又不用proxydhcp,导致ipxe没这个变量,grub2不知道连哪个服务器,ipxe脚本中指定ip当然也  详情 回复 发表于 2020-5-4 08:20
回复

使用道具 举报

130#
 楼主| 发表于 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当然也是可以的,但指定后不通用了
回复

使用道具 举报

131#
发表于 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环境吧(只是看了论坛的资料,我没测试过)。

点评

完全是可以让grub2自己去完成的,为何要批处理呢,linux下用不可能写个批处理啊, 明明可以用proxydhcp来定义的,为什么要去抢dhcp呢 流程不要太简单 ipxe--grub2 efi下因为grub2不支持proxydhcp ipxe(proxydhc  详情 回复 发表于 2020-5-4 08:51
回复

使用道具 举报

132#
发表于 2020-5-4 08:34:18 | 只看该作者
太高深了
回复

使用道具 举报

133#
 楼主| 发表于 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)


点评

tiny pxeserver和hfs都是windows下的软件,这套方案都是在windows主机上面部署的,用windows的批处理修改next-server不是很自然的吗?你的批处理不也是windows下面的吗。windows主机修改ipxe菜单里的next-server,开  详情 回复 发表于 2020-5-4 09:16
回复

使用道具 举报

134#
 楼主| 发表于 2020-5-4 08:53:01 | 只看该作者
liuzhaoyzz 发表于 2020-5-4 08:09
问题是我压根就没用过proxydhcp这个变量啊,ipxe官网好像就是用的next-server这个变量,也就是TFTP ser ...

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

使用道具 举报

135#
发表于 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是重合的,没问题吧。

点评

[attachimg]425672[/attachimg]这是不开启dhcp和开启proxydhcp两种情况下 ipxe下的变量值 可以很明确地看到,开启proxydhcp后,proxydhcp项下的next-server才是正确的值,有这个值,为什么还要写批处理来获取本机  详情 回复 发表于 2020-5-4 09:24
回复

使用道具 举报

136#
 楼主| 发表于 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下的启动就这个脚本
  1. 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参数







点评

不知道行不行? [*]isset ${proxydhcp/next-server} && set bootserver ${proxydhcp/next-server} || [*]isset ${proxydhcp/dhcp-server} && set bootserver ${proxydhcp/dhcp-server} || [*]isset ${dhc  详情 回复 发表于 2020-5-5 17:22
回复

使用道具 举报

137#
发表于 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也可以沒關係了。

点评

开了proxydhcp的话这样肯定可以啊 但没开proxydhcp的话,肯定只有1和2存在啊,后面两项都被“忽略”了 所以回到抢dhcp了  详情 回复 发表于 2020-5-5 17:29
回复

使用道具 举报

138#
 楼主| 发表于 2020-5-5 17:29:20 | 只看该作者
hkkitlee 发表于 2020-5-5 17:22
不知道行不行?

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

点评

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

使用道具 举报

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

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

点评

嗯,因为有时候从路由的dhcp启,有时候从软件的dhcp启,完全靠运气了  详情 回复 发表于 2020-5-5 21:02
回复

使用道具 举报

140#
 楼主| 发表于 2020-5-5 21:02:02 | 只看该作者
hkkitlee 发表于 2020-5-5 17:37
這個寫法已指定了${dhcp/dhcp-server} 或 ${dhcp/next-server},還會再搶嗎?

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

点评

吓! 多個dhcp......完全明白了  详情 回复 发表于 2020-5-5 22:33
回复

使用道具 举报

141#
发表于 2020-5-5 22:33:54 | 只看该作者
江南一根葱 发表于 2020-5-5 21:02
嗯,因为有时候从路由的dhcp启,有时候从软件的dhcp启,完全靠运气了

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

使用道具 举报

142#
发表于 2020-5-21 08:09:39 | 只看该作者
楼主厉害
回复

使用道具 举报

143#
发表于 2020-5-21 15:50:28 | 只看该作者
试了之后才知道GRUBFM果然是好东西,为楼主点赞
回复

使用道具 举报

144#
 楼主| 发表于 2020-5-21 16:33:44 | 只看该作者

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

点评

Efi可以啟動嗎?  详情 回复 发表于 2020-5-21 17:22
回复

使用道具 举报

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

Efi可以啟動嗎?

点评

可以的,我就是efi试的  详情 回复 发表于 2020-5-21 17:31
回复

使用道具 举报

146#
 楼主| 发表于 2020-5-21 17:31:00 | 只看该作者

可以的,我就是efi试的

点评

太厲害喇👍  详情 回复 发表于 2020-5-21 18:38
回复

使用道具 举报

147#
发表于 2020-5-21 18:38:11 | 只看该作者
江南一根葱 发表于 2020-5-21 17:31
可以的,我就是efi试的

太厲害喇👍

点评

翻了你github的bt脚本才看到http正确参数的,官方看到有httpfs和fetch两个参数,前者没用  详情 回复 发表于 2020-5-21 19:05
回复

使用道具 举报

148#
 楼主| 发表于 2020-5-21 19:05:42 | 只看该作者

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

使用道具 举报

149#
 楼主| 发表于 2020-5-21 21:47:51 | 只看该作者

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

使用道具 举报

150#
发表于 2020-5-23 11:08:30 | 只看该作者
这个网络传输看起来不错,底下的图标加上中文说明就更棒了
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-26 00:31

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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