无忧启动论坛

标题: 原来grub4dos的find命令早就支持pxe设备上的查找了 [打印本页]

作者: liuzhaoyzz    时间: 2013-8-14 17:19
标题: 原来grub4dos的find命令早就支持pxe设备上的查找了
原来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)
作者: liuzhaoyzz    时间: 2013-8-14 17:25
本帖最后由 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之后就能够启动,菜单简单且统一。

作者: 不点    时间: 2013-8-14 17:35
你这是找普通磁盘上的文件吧?如果没有 dir.txt,你在 (pd) 上能找得到文件?那简直太神奇了。

EDIT:

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

但 ls 就不同了。ls 要枚举整个目录下的文件,对于 pxe 设备来说,没有 dir.txt 是不行的。
作者: liuzhaoyzz    时间: 2013-8-14 17:38
本帖最后由 liuzhaoyzz 于 2013-8-14 17:41 编辑

我刚才刚刚在虚拟机上面试过,grub4dos-0.4.5b-2010-10-26版本,确实不需要dir.txt就能够pxe启动。
grub4dos菜单真正达到了Write once,use ererywhere,真爽啊!太感谢chenall了!!!
作者: 不点    时间: 2013-8-14 17:46
你这个写法严重 “犯规”:

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

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

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

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


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

作者: 不点    时间: 2013-8-14 17:57
个人用户不说了。因为有 bug 的机器没让你碰上,你属于幸运者。

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


作者: liuzhaoyzz    时间: 2013-8-14 21:08
在实体机上面试了下,find在pxe上面启动很好用,没有问题。

作者: 2892292116    时间: 2013-8-24 21:34
赞个!04882.COM E乐博娱|乐|城 25474.COM 乐宝娱|乐|城




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