无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4584|回复: 8
打印 上一主题 下一主题

[分享] 原来grub4dos的find命令早就支持pxe设备上的查找了

[复制链接]
跳转到指定楼层
1#
发表于 2013-8-14 17:19:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
原来grub4dos的find命令早就支持pxe设备上的查找了。
grub4dos-0.4.5b-2010-10-26开始就支持了,以前版本都不支持。在ChangeLog_chenall.txt里面似乎没有很详尽地提到这点。grub4dos-0.4.5b-2010-10-31的ChangeLog里面提到:
2010-10-27
        1.修改printf函数,支持显示"%",和C语言的语法一样,使用"%%"来显示一个"%"
        2.重写find的查询代码.
        3.find新增参数--devices=[DEVICES],指定要查找的设备.

        说明:DEVICES可以是以下字符的组合:
        u,p,n,h,c,f -->分别对应 ud,pd,nd,hd,cd,fd,

        例子:--devices=hcf //只查找hd,cd,fd,从hd开始.
        注:优先current root.然后再按上面的顺序.(current root必须在列表中,否则跳过)

        可以使用这个参数来重新设定查找顺序,默认(find order):ud->pd->nd->hd->cd->fd

        4.保留--ignore-cd和--ignore-floppies参数(会自动转换).

2010-10-26
        1.find支持(fdx,y)的格式.
        2.优先查找当前root.

不点在http://bbs.wuyou.net/forum.php?m ... &fromuid=298214帖子中说:
0.4.5 支持 PXE 服务器端的 dir.txt(仍然需要用户自己建立,自己找相关的资料),从而支持 find 和 ls 之类的命令。0.4.4 不支持在 PXE 服务器上进行 find 和 ls 等操作。

当时没有明白这话的意思,也没有尝试,后来发现dir.txt似乎不是必须的?
都快3年了,我才知道find还能在pxe启动时也能这样子用。
title WINPE
find --set-root /boot/imgs/PE.iso
map --mem  /boot/imgs/PE.iso (0xff)
map --e820cycles=-1
map --hook
chainloader (0xff)

评分

参与人数 1无忧币 +5 收起 理由
fukystone + 5 很给力!

查看全部评分

9#
发表于 2013-8-24 21:34:00 | 只看该作者
赞个!04882.COM E乐博娱|乐|城 25474.COM 乐宝娱|乐|城
回复

使用道具 举报

8#
 楼主| 发表于 2013-8-14 21:08:09 | 只看该作者
在实体机上面试了下,find在pxe上面启动很好用,没有问题。
回复

使用道具 举报

7#
发表于 2013-8-14 17:57:00 | 只看该作者
个人用户不说了。因为有 bug 的机器没让你碰上,你属于幸运者。

“发行版制作者” 就应该考虑 “普遍适应性” 问题了。

回复

使用道具 举报

6#
 楼主| 发表于 2013-8-14 17:53:00 | 只看该作者
find --ignore-floppies --ignore-cd --set-root /boot/imgs/PE.iso
这样子是比较严谨的,但是个人用户,很多时候find --set-root /boot/imgs/PE.iso这样子的菜单确实没有碰到死机的情况,能省略那么长的参数已经习惯了,呵呵。
不知道论坛其他人有没有这样子在pxe启动时直接find?
回复

使用道具 举报

5#
发表于 2013-8-14 17:46:01 | 只看该作者
你这个写法严重 “犯规”:

find --set-root /boot/imgs/PE.iso

你这是要 “碰钉子” 的:当遇到那些 BIOS 访问软盘死机时,你这就要死翘翘了。

稳健的做法是:排除掉软盘、光盘设备。pxe 设备也应该排除掉,因为谁也不敢保证访问 (pd) 上的一个不存在的文件永远不会导致死机。

所以,还是老老实实地,不要对 (pd) 上的文件进行 find 操作。

回复

使用道具 举报

4#
 楼主| 发表于 2013-8-14 17:38:32 | 只看该作者
本帖最后由 liuzhaoyzz 于 2013-8-14 17:41 编辑

我刚才刚刚在虚拟机上面试过,grub4dos-0.4.5b-2010-10-26版本,确实不需要dir.txt就能够pxe启动。
grub4dos菜单真正达到了Write once,use ererywhere,真爽啊!太感谢chenall了!!!
回复

使用道具 举报

3#
发表于 2013-8-14 17:35:47 | 只看该作者
你这是找普通磁盘上的文件吧?如果没有 dir.txt,你在 (pd) 上能找得到文件?那简直太神奇了。

EDIT:

又想了想,find 是有可能找到的,因为 find 并不枚举文件,而是在指定设备的指定位置确认已知文件名是否存在。这比较容易。

但 ls 就不同了。ls 要枚举整个目录下的文件,对于 pxe 设备来说,没有 dir.txt 是不行的。
回复

使用道具 举报

2#
 楼主| 发表于 2013-8-14 17:25:11 | 只看该作者
本帖最后由 liuzhaoyzz 于 2013-8-14 17:31 编辑

以前版本确实不行,我都是直接用map --mem  (pd)/boot/imgs/PE.iso (0xff)或者map --mem  (bd)/boot/imgs/PE.iso (0xff)这样子的语句,也一直不知道find直接支持pxe查找,汗!
个人觉得这个更新还是挺重大的,以前都是用(bd)设备到达到本地hd、pxe、ud、cd菜单的统一性,但是bd对于位置多少有限制,现在因为find的通用性,可以把ISO放在任何一个盘符,find之后就能够启动,菜单简单且统一。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-27 07:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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