无忧启动论坛

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

支持含有碎片的文件仿真

    [复制链接]
391#
发表于 2014-10-9 17:11:56 | 只看该作者
mdyblog 发表于 2014-10-8 15:05
逗号是笔误, 拷贝到帖子上时笔误。实际没有。否则也出不了上图。

意思是grub.exe 无法像grldr 一样 ...

我上载了一个版本,你看看有没有问题。
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1

点评

可以了。[attachimg]200744[/attachimg] 有没有0.46  详情 回复 发表于 2014-10-10 13:25
回复

使用道具 举报

392#
发表于 2014-10-10 13:25:28 | 只看该作者
不点 发表于 2014-10-9 17:11
我上载了一个版本,你看看有没有问题。
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=342350&ext ...

可以了。
有没有0.46
回复

使用道具 举报

393#
发表于 2014-10-10 14:11:19 | 只看该作者
本帖最后由 mdyblog 于 2014-10-10 14:13 编辑

2011yaya2007777 发表于 2014-10-9 11:46
0.4.6a 的 map 在 “debug off ” 时显示信息,已经修正,从官网下载。


好的, 我试试。

另外, 怎么生成空格前导的变量: 变量的前面好多空格。
下面空格都丢了!!!!




下面间接方法,最终临门一脚,还是掉链子了:
回复

使用道具 举报

394#
发表于 2014-10-10 16:19:21 | 只看该作者
是不是需要用 \x20 来表示一个空格啊?

点评

谢谢! 下面测试 set 命令不翻译\x20 [attachimg]200773[/attachimg] 还有我要的是 第二种方法,前导空格数不定,总长度固定17, 后面非空格长度不定(不超过9)。  详情 回复 发表于 2014-10-11 09:16
回复

使用道具 举报

395#
发表于 2014-10-11 08:54:50 | 只看该作者
pseudo 发表于 2014-10-9 11:08
没问题,肯定可以屏蔽。
是mdyblog第二行:
map /IMG/SSHYDOS.IMG (fd0) >nul && set ok=1

debug off
map /IMG/SSHYDOS.IMG (fd0) >nul && set ok=1


map /IMG/SSHYDOS.IMG (fd0) >nul && set ok=1
不知道 什么意思? 两行一样啊!只是字体不同, 用“搜索”能互相找到。
前者为指定“宋体”, 后者为默认字体。

点评

也许 pseudo 用红色标明的 >nul,是说错误就在此处呢?我猜测,他或许是暗示 “>” 和 “nul” 之间应该有个空格?  详情 回复 发表于 2014-10-11 09:06
回复

使用道具 举报

396#
发表于 2014-10-11 09:06:16 | 只看该作者
mdyblog 发表于 2014-10-11 08:54
debug off
map /IMG/SSHYDOS.IMG (fd0) >nul && set ok=1

也许 pseudo 用红色标明的 >nul,是说错误就在此处呢?我猜测,他或许是暗示 “>” 和 “nul” 之间应该有个空格?

点评

谢谢! 原来 “>” 和 “nul” 之间 应该有个空格。 和cmd还是有点不同哦。  详情 回复 发表于 2014-10-11 09:18
回复

使用道具 举报

397#
发表于 2014-10-11 09:16:19 | 只看该作者
不点 发表于 2014-10-10 16:19
是不是需要用 \x20 来表示一个空格啊?

谢谢!
下面测试 set 命令不翻译\x20



还有我要的是 第二种方法,前导空格数不定,总长度固定17, 后面非空格长度不定(不超过9)。

  1. set Y=:                       %ABC%
  2. set str=%Y:~17%
  3. echo [%str%]
复制代码

点评

变量需要前导空格的可以加引号,例子 set "str= cmd" echo %str%  详情 回复 发表于 2014-10-11 10:46
很抱歉,我不熟悉 grub4dos 里面的批处理程序设计。恐怕你得问问 chenall 才行。chenall 也许有现成的办法来解决这个问题,即使没办法,他也会把它当作 bug 予以修复。  详情 回复 发表于 2014-10-11 09:22
回复

使用道具 举报

398#
发表于 2014-10-11 09:18:04 | 只看该作者
不点 发表于 2014-10-11 09:06
也许 pseudo 用红色标明的 >nul,是说错误就在此处呢?我猜测,他或许是暗示 “>” 和 “nul” 之间应该 ...

谢谢!
原来 “>” 和 “nul” 之间 应该有个空格
和cmd还是有点不同哦。
回复

使用道具 举报

399#
发表于 2014-10-11 09:22:05 | 只看该作者
mdyblog 发表于 2014-10-11 09:16
谢谢!
下面测试 set 命令不翻译\x20

很抱歉,我不熟悉 grub4dos 里面的批处理程序设计。恐怕你得问问 chenall 才行。chenall 也许有现成的办法来解决这个问题,即使没办法,他也会把它当作 bug 予以修复。

点评

还请问一个wee63的问题。 wee63 的内置菜单, 会在屏幕上显示出来。 怎么干掉,不让显示出来, 还一个清净的屏幕。 不知道 用WINHEX 怎么处理,能搞掉。 不知道是%格式串打印的还是INT直接打印的,因该是前者把  详情 回复 发表于 2014-10-11 09:27
回复

使用道具 举报

400#
发表于 2014-10-11 09:27:51 | 只看该作者
不点 发表于 2014-10-11 09:22
很抱歉,我不熟悉 grub4dos 里面的批处理程序设计。恐怕你得问问 chenall 才行。chenall 也许有现成的办 ...

还请问一个wee63的问题。
wee63 的内置菜单, 会在屏幕上显示出来。
怎么干掉,不让显示出来, 还一个清净的屏幕。
不知道 用WINHEX 怎么处理,能搞掉。
不知道是%格式串打印的还是INT直接打印的,因该是前者把。
我是试着抹掉几个%s,没干掉。

回复

使用道具 举报

401#
发表于 2014-10-11 09:41:56 | 只看该作者
你可以改源代码,重新编译。有的部分是汇编写的,有的部分是 C 语言。这对你来说都不难。你修改了 wee,那么 wee 就是你自己的了。

点评

请问wee源码在哪儿?  详情 回复 发表于 2014-10-11 11:05
回复

使用道具 举报

402#
发表于 2014-10-11 10:46:22 | 只看该作者
mdyblog 发表于 2014-10-11 09:16
谢谢!
下面测试 set 命令不翻译\x20

变量需要前导空格的可以加引号,例子

set "str=    cmd"
echo %str%

点评

我实验怎么无效啊?str没有被赋值啊? [attachimg]200774[/attachimg]  详情 回复 发表于 2014-10-11 11:09
回复

使用道具 举报

403#
发表于 2014-10-11 11:05:06 | 只看该作者
不点 发表于 2014-10-11 09:41
你可以改源代码,重新编译。有的部分是汇编写的,有的部分是 C 语言。这对你来说都不难。你修改了 wee,那 ...

请问wee源码在哪儿?

点评

wee 的项目在 google code 上,属于 grubutils 项目的一部分。但 google 已经处于半死不活的状态了。我估计 chenall 迟早要把它迁移到 github 上。你等着吧。  详情 回复 发表于 2014-10-11 11:17
回复

使用道具 举报

404#
发表于 2014-10-11 11:09:44 | 只看该作者
chenall 发表于 2014-10-11 10:46
变量需要前导空格的可以加引号,例子

set "str=    cmd"

我实验怎么无效啊?str没有被赋值啊?

点评

你的GRUB4DOS版本有些旧了,估计当时还没有这个功能,换成最新的试试看.  发表于 2014-10-11 12:05
回复

使用道具 举报

405#
发表于 2014-10-11 11:17:36 | 只看该作者
mdyblog 发表于 2014-10-11 11:05
请问wee源码在哪儿?

wee 的项目在 google code 上,属于 grubutils 项目的一部分。但 google 已经处于半死不活的状态了。我估计 chenall 迟早要把它迁移到 github 上。你等着吧。

点评

请麻烦给个网址,下来看看。  详情 回复 发表于 2014-10-11 12:11
回复

使用道具 举报

406#
发表于 2014-10-11 12:11:56 | 只看该作者
不点 发表于 2014-10-11 11:17
wee 的项目在 google code 上,属于 grubutils 项目的一部分。但 google 已经处于半死不活的状态了。我估 ...

请麻烦给个网址,下来看看。

点评

grubutils 在这儿: https://code.google.com/p/grubutils/source/browse/#svn%2Fgrubutils wee 在这儿: https://code.google.com/p/grubutils/source/browse/#svn%2Fgrubutils%2Fwee 用 chenall 建立的那  详情 回复 发表于 2014-10-11 15:24
回复

使用道具 举报

407#
发表于 2014-10-11 12:15:34 | 只看该作者
>>chenall : 你的GRUB4DOS版本有些旧了,估计当时还没有这个功能,换成最新的试试看.
to chenall :
2014-10-09  可以。
回复

使用道具 举报

408#
发表于 2014-10-11 15:24:07 | 只看该作者
mdyblog 发表于 2014-10-11 12:11
请麻烦给个网址,下来看看。

grubutils 在这儿:
https://code.google.com/p/grubut ... se/#svn%2Fgrubutils

wee 在这儿:
https://code.google.com/p/grubut ... n%2Fgrubutils%2Fwee

用 chenall 建立的那个 grub4dos 编译环境,就可以编译 wee。

点评

wee网址, 一直 都打不开。 请麻烦直接给我一个包。  详情 回复 发表于 2014-10-13 13:10
回复

使用道具 举报

409#
 楼主| 发表于 2014-10-12 11:38:10 | 只看该作者
可以了。  
有没有0.46

官网已经更新
回复

使用道具 举报

410#
发表于 2014-10-13 13:10:03 | 只看该作者
本帖最后由 mdyblog 于 2014-10-13 13:19 编辑


/////wee网址, 一直 都打不开。
/////请麻烦直接给我一个包。


用百度浏览器 下下来了, 谢谢!
回复

使用道具 举报

411#
发表于 2014-10-15 20:39:14 | 只看该作者
感谢楼主的无私分享!
回复

使用道具 举报

412#
发表于 2014-10-22 08:32:39 | 只看该作者
grub4dos 有个 访问加速的命令, 忘了。
请问  “访问加速”怎么来着的?
回复

使用道具 举报

413#
发表于 2014-11-1 13:29:00 | 只看该作者
本帖最后由 mdyblog 于 2014-11-1 13:31 编辑

报告一个现象, 不知道 是否算BUG。或者我用的不对?
map --in-situ  (hd0)8192+81920  (hd0)
map (hd0) (hd1)
map --rehook
root (hd0,0)
map (hd0)/a.iso  (hd32)
map --rehook
root  (hd32)

root (hd32)   这里就出现磁盘问题:


说明: (hd0)8192+81920  处 是一个分区的IMG,不是磁盘IMG,没有分区表。map --in-situ  可以访问的。
map --in-situ  (hd0)8192+81920  (hd0)
map (hd0) (hd1)
map --rehook
root (hd0,0)

后可以通过(hd0,0)访问上面的文件。
上面的ISO(连续的)再(非mem)map 到(hd32),(hd32)不能访问。
mem方式是可以的,但是效率不够。
map  --mem  --top  (hd0)/a.iso  (hd32)
map  --rehook
root  (hd32)




点评

怎么不说说 0.4.5c 的情况? 0.4.6 与 0.4.5 的磁盘仿真代码有差别,这一点你该明白吧?所以,涉及到仿真的问题,一定要拿 0.4.5 作为参照物进行对比才行。不然的话,还留着 0.4.5 干什么用?  详情 回复 发表于 2014-11-1 15:45
回复

使用道具 举报

414#
发表于 2014-11-1 15:45:53 | 只看该作者
mdyblog 发表于 2014-11-1 13:29
报告一个现象, 不知道 是否算BUG。或者我用的不对?

root (hd32)   这里就出现磁盘问题:

怎么不说说 0.4.5c 的情况?

0.4.6 与 0.4.5 的磁盘仿真代码有差别,这一点你该明白吧?所以,涉及到仿真的问题,一定要拿 0.4.5 作为参照物进行对比才行。不然的话,还留着 0.4.5 干什么用?

点评

0.45C 好像没有 usb加速。 usb加速 对我更重要。 扇区序列 --in-situ 也是我今年央求2011yaya2007777 加上的。 0.45c估计根本没有的。  详情 回复 发表于 2014-11-1 15:54
回复

使用道具 举报

415#
发表于 2014-11-1 15:54:11 | 只看该作者
不点 发表于 2014-11-1 15:45
怎么不说说 0.4.5c 的情况?

0.4.6 与 0.4.5 的磁盘仿真代码有差别,这一点你该明白吧?所以,涉及到 ...

0.45C 好像没有 usb加速。
usb加速 对我更重要。
扇区序列  --in-situ   也是我今年央求2011yaya2007777  加上的。
0.45c估计根本没有的。

点评

0.4.5 本来就有 --in-situ 支持。如果没有,如果它的含义不明确,你凭什么让 yaya 加上?  详情 回复 发表于 2014-11-1 15:59
回复

使用道具 举报

416#
发表于 2014-11-1 15:59:36 | 只看该作者
mdyblog 发表于 2014-11-1 15:54
0.45C 好像没有 usb加速。
usb加速 对我更重要。
扇区序列  --in-situ   也是我今年央求2011yaya20077 ...

0.4.5 本来就有 --in-situ 支持。如果没有,如果它的含义不明确,你凭什么让 yaya 加上?

点评

》》0.4.5 本来就有 --in-situ 支持。如果没有,如果它的含义不明确,你凭什么让 yaya 加上? 原来的 --in-situ 只有标准功能。 将一个分区模拟成一个硬盘。也就是说本来就是一个分区(主分区或逻辑分区),也要有  详情 回复 发表于 2014-11-1 16:09
回复

使用道具 举报

417#
发表于 2014-11-1 16:09:49 | 只看该作者
不点 发表于 2014-11-1 15:59
0.4.5 本来就有 --in-situ 支持。如果没有,如果它的含义不明确,你凭什么让 yaya 加上?

》》0.4.5 本来就有 --in-situ 支持。如果没有,如果它的含义不明确,你凭什么让 yaya 加上?
原来的 --in-situ  只有标准功能。 将一个分区模拟成一个硬盘。也就是说本来就是一个分区(主分区或逻辑分区),也要有分区表。
标准分区是没问题的。
现在要的是 硬盘随机存放的是一个IMG, 其前面没有对应的分区表。
本楼有相关的帖子。

0.45c还是失败:

点评

其一,既然0.4.5没有这功能,你又是怎么完成上面测试的? 其二,两者的出错信息不同。0.4.5是未能识别出 iso 为合法 iso 格式,不严重。而 0.4.6 显示的错误是 "磁盘读" 错误,是严重的。假如你换个普通的 iso 文  详情 回复 发表于 2014-11-1 16:20
回复

使用道具 举报

418#
发表于 2014-11-1 16:20:14 | 只看该作者
mdyblog 发表于 2014-11-1 16:09
》》0.4.5 本来就有 --in-situ 支持。如果没有,如果它的含义不明确,你凭什么让 yaya 加上?
原来的 -- ...

其一,既然0.4.5没有这功能,你又是怎么完成上面测试的?

其二,两者的出错信息不同。0.4.5是未能识别出 iso 为合法 iso 格式,不严重。而 0.4.6 显示的错误是 "磁盘读" 错误,是严重的。假如你换个普通的 iso 文件,0.4.5 就不会报错了。你不妨用个普通的 iso 文件试试。

点评

>>其一,既然0.4.5没有这功能, 0.45c 也在同步更新, 助手2014-10-29的版本。 我以为0.45c “定”型了。 》》假如你换个普通的 iso 文件,0.4.5 就不会报错了。你不妨用个普通的 iso 文件试试。 这就是 普通I  详情 回复 发表于 2014-11-1 16:46
回复

使用道具 举报

419#
发表于 2014-11-1 16:46:49 | 只看该作者
不点 发表于 2014-11-1 16:20
其一,既然0.4.5没有这功能,你又是怎么完成上面测试的?

其二,两者的出错信息不同。0.4.5是未能识别 ...


>>其一,既然0.4.5没有这功能,
0.45c 也在同步更新, 助手2014-10-29的版本。
我以为0.45c “定”型了。

》》假如你换个普通的 iso 文件,0.4.5 就不会报错了。你不妨用个普通的 iso 文件试试。
这就是 普通ISO。ezboot直接生成的,没有任何修改。
显示的不同, 问题可能是同一问题。只是程序流程不同。 问题最先“蔓延”的“检测”点不同,因而提示不同。
因该还是 读磁盘问题。
Data err 是基本服务。  “cannot mount” 是高层服务。 可能仅次而已。
用---mem就没问题。
可能还是分区表 模拟问题。


点评

据我所知,0.4.5的仿真功能没改动过。一直是支持仿真扇区序列的。 0.4.5的报错,含义是未识别出文件系统为合法的iso。你用的iso可能是只有0.4.6才支持的格式。你要是愿意测试,你很容易找个普通未增强的 iso 文件  详情 回复 发表于 2014-11-1 16:54
回复

使用道具 举报

420#
发表于 2014-11-1 16:54:54 | 只看该作者
mdyblog 发表于 2014-11-1 16:46
>>其一,既然0.4.5没有这功能,
0.45c 也在同步更新, 助手2014-10-29的版本。
我以为0.45c “定”型 ...

据我所知,0.4.5的仿真功能没改动过。一直是支持仿真扇区序列的。

0.4.5的报错,含义是未识别出文件系统为合法的iso。你用的iso可能是只有0.4.6才支持的格式。你要是愿意测试,你很容易找个普通未增强的 iso 文件来测试,或者自己用 mkisofs 新建一个小的 iso 文件来测试。不想测试也就算了。

点评

mkisofs 弄了个小的grub.iso 还是不行的。 [attachimg]202235[/attachimg] -------------对比---------- 我在IMG前面加上一个分区表,就没问题(45c,46): [attachimg]202236[/attachimg]  详情 回复 发表于 2014-11-1 17:49
见大鬼了!!!!!!! 0.46也可以了。饿哦可是什么都没动啊!!! [attachimg]202233[/attachimg]  详情 回复 发表于 2014-11-1 17:36
奇怪这次0.45C都行了。 我放进一个小的grub.iso---OK 重启, 用原来的ISO(还没删除),测试(连续2次),也都是OK!! 如图: [attachimg]202232[/attachimg] 见鬼了。 和前面贴图操作都一样啊!文件放在那  详情 回复 发表于 2014-11-1 17:31
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-5-29 04:21

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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