无忧启动论坛

标题: 明明CD有GRLDR 但FIND找不到 [打印本页]

作者: 2010ingxii    时间: 2011-2-6 22:13
标题: 明明CD有GRLDR 但FIND找不到
先光盘里的GRLDR引导DOS
然后再运行DOS里的GRUB.EXE
不知道是不是版本不同造成的


[ 本帖最后由 2010ingxii 于 2011-2-9 12:34 编辑 ]
作者: sratlf    时间: 2011-2-6 22:38
正常  默认hd优先
作者: 酷酷在线    时间: 2011-2-8 00:51
找到了,grldr在(hd2,4)上有1个,呵呵。
你可以试试find tftpd32.exe,我想你的HD上应该没有这个文件。
作者: jianliulin    时间: 2011-2-8 14:14
先root (cd) 在find
作者: 2010ingxii    时间: 2011-2-8 16:42
似乎是因为加了--set-root
作者: sratlf    时间: 2011-2-8 18:08
标题: 回复 #5 2010ingxii 的帖子
和 --set-root 无关  find默认查找顺序是 ud,pd,nd,hd,cd,fd,  hd比cd优先
作者: pseudo    时间: 2011-2-8 19:41
有--set-root的话,find找到一个有/grldr的设备就不继续找了。
无--set-root的话,find找所有有/grldr的设备。
作者: 快雪时晴    时间: 2011-2-8 20:48
标题: 回复 #7 pseudo 的帖子
到底6# 对还是 7#对 呢?
两位都是牛人,
sratlf (MaxNlI) 是版主,正在修订新版G4D说明,具备充分的经验和知识积累;
pseudo 大元帅,0pe,u盘加速,SRS,理念先进,其G4D脚本编写据说不是一般人能搞懂的,用法出神入化。

看来只有G4D开发者不点和chenall才能给出权威判断了,或者熟悉源码的也可以谈谈。
作者: 不点    时间: 2011-2-8 21:23
sratlf 说,默认时,hd 优先于 cd,所以,只要 hd 上有那个文件,会首先找到。这是对的。

jianliulin 说,先root (cd) 再find,意思是说,当前设备优先,这也是对的。chenall 的改动应该就是如此的。

pseudo 说的当然也是对的。尤其是,当没有 --set-root 时,会显示出所有的符合条件的设备,但此时不会改动当前 root 设备。只有带上 --set-root 才会改变当前 root 设备,并且把第一个符合条件的设备就设定为当前 root 设备。
作者: sratlf    时间: 2011-2-8 21:29
标题: 回复 #8 快雪时晴 的帖子
很简单  都对  就是pseudo大考虑比我更全面  我忘记了 --set-root 的影响

简单来说  find的查找优先级是 ud,pd,nd,hd,cd,fd  现在在 ud、hd、cd上都有一个同名文件  如 test.bin  (理想情况,忽略其他所有影响)

那么执行 find --set-root /test.bin   得到的结果只有 一个  ud

执行 find /test.bin   得到的结果将有 三个  依次显示为 ud  hd  cd


即   如果设置了参数 --set-root,则在找到第一个匹配后马上停止,并且把该设备设为根。


汗,回复完了才看到不点大也回复了,重复了

[ 本帖最后由 sratlf 于 2011-2-8 21:33 编辑 ]
作者: pseudo    时间: 2011-2-9 01:13
原帖由 sratlf 于 2011-2-8 21:29 发表
很简单  都对  就是pseudo大考虑比我更全面  我忘记了 --set-root 的影响

简单来说  find的查找优先级是 ud,pd,nd,hd,cd,fd  现在在 ud、hd、cd上都有一个同名文件  如 test.bin  (理想情况,忽略其他所有影响)

那么执行 find --set-root /test.bin   得到的结果只有 一个  ud

执行 find /test.bin   得到的结果将有 三个  依次显示为 ud  hd  cd


即   如果设置了参数 --set-root,则在找到第一个匹配后马上停止,并且把该设备设为根。

...

还要考虑当前设备。当前根设备优先级最高。

此例中
如果先执行root (cd),再
执行 find /test.bin   得到的结果将有三个,cd显示在前。
执行 find --set-root /test.bin   得到的结果只有一个cd。

如果有--devices参数,那么查找范围、次序由该参数指定。但范围包含当前根设备时,仍以当前根设备最优先。
例如
find --devices=huc  /test.bin
如果当前根设备是cd,则结果依次是chu
如果当前根设备是pd,则结果依次是huc

我没实际试过,只是猜想。

[ 本帖最后由 pseudo 于 2011-2-9 01:15 编辑 ]
作者: sratlf    时间: 2011-2-9 11:05
标题: 回复 #11 pseudo 的帖子
嘿嘿  既然涉及到了 --devices 就再补充点  接上例

find --devices=huc  /test.bin  查找结果会显示三个

find --devices=hu  /test.bin    这样查找结果会只显示两个




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