无忧启动论坛

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

准备基于 fbinst 进行再开发,请各位提供帮助

    [复制链接]
271#
发表于 2014-10-27 20:04:54 来自手机 | 只看该作者
不点 发表于 2014-10-27 20:01
前面 datong 兄的报告说,即使只有很少的文件,也不能创建文件夹。你的报告过于复杂了,涉及文件太多,不利 ...

这个比较报告除了新建了一个文件夹外没有任何其他东西,比处毛病没?参考的XP镜像是空的
回复

使用道具 举报

272#
发表于 2014-10-27 20:07:28 来自手机 | 只看该作者
不点 发表于 2014-10-27 20:01
前面 datong 兄的报告说,即使只有很少的文件,也不能创建文件夹。你的报告过于复杂了,涉及文件太多,不利 ...

明天考虑编写批处理来测试极限
建1000个文件夹,名字是编号,根目录下100个,然后每个目录下10个,每个目录下放一个内容是随机数的文件
然后记录出问题的编号
回复

使用道具 举报

273#
 楼主| 发表于 2014-10-27 20:11:00 | 只看该作者
本帖最后由 不点 于 2014-10-27 20:16 编辑

你还是重新做吧,别插入一些多余的步骤,不要创建多余的文件,然后再比较。

你可以保持 U 盘没有文件和文件夹,保持为空的,但用 diskgen 修正分区表,然后检测差别。

一步一步来,不要一开始就把问题引向复杂。


回复

使用道具 举报

274#
发表于 2014-10-27 23:48:48 | 只看该作者
本帖最后由 2013datong5624 于 2014-10-27 23:55 编辑

进一步测试结果:在win7环境下用winhex重新写入一次multimbr,这次可以向u盘进行拷入文件及新建文件夹的操作了,拔掉u盘过一会儿重新插上进行拷入文件操作又提示错误,然后又拔掉u盘重新插上试了几次又正常了。由此可推断上边我遇到的问题应该也是概率性事件。也就是说进行拷入文件及新建文件夹操作可能6次中4或者5次提示错误,其中1次正常,很不稳定,确实很诡异。。这次整个测试过程并未用diskgen修正分区错误。
回复

使用道具 举报

275#
发表于 2014-10-28 00:09:09 | 只看该作者
接楼上:win7下用diskgen修正分区错误后拔掉u盘重新插上进行拷入文件及新建文件夹操作没有报错。
回复

使用道具 举报

276#
 楼主| 发表于 2014-10-28 09:04:35 | 只看该作者
好的,接下来试试首先用 diskgen 修复分区表,看看情况怎样。

我这里见不到 win7 电脑,所以,很难亲自测试。等哪天我找一台 win7 电脑了,便可亲自测试了。

回复

使用道具 举报

277#
发表于 2014-10-28 10:40:46 | 只看该作者
本帖最后由 2013datong5624 于 2014-10-28 10:51 编辑

回楼上:win7下用winhex(顺便一提用winhex而不用bootice的原因是win7下用bootice写入会提示:写入失败!拒绝访问。)成功写入multimbr后拔掉u盘,再重新插上u盘用diskgen修正分区表错误。拔掉u盘重新插上进行拷文件及新建文件夹操作第一次都成功了,但又进行几次拷入新建操作依然会报错。然后又连续试几次拷入新建操作有失败的也有成功的,反正就是很不稳定。我估计昨天在xp pe下进行的写入multimbr操作,然后再在win7下拷入及新建文件夹操作应该也会有报错的可能,只是昨天没有多次测试而已。
回复

使用道具 举报

278#
 楼主| 发表于 2014-10-28 10:52:19 | 只看该作者
那麻烦您再做一个试验,导入的操作在 XP 下进行,用 diskgen 修复也在 XP 下进行。然后,在 XP 下拷入一两个文件,例如 menu.lst 之类的。然后,进入 win7,看看这次还出错误吗?

我不想太麻烦您。所以就做这最后一个试验吧。其余的情况,可能需要我亲自去试验了。

回复

使用道具 举报

279#
发表于 2014-10-28 11:40:32 | 只看该作者
回不点兄:完全按照您楼上所说步骤进行操作,结果如下:
1. 在win7进行拷入一个400多兆的文件第一次就报错,报错信息和我昨天反馈的一样。然后再试一次拷入同样的文件这次没有报错。
2. 新建文件夹操作, 第一次也是报错,报错信息和之前的一样。然后再次进行拷入文件操作,成功了。成功之后又再次进行新建文件夹操作,这次成功了。
回复

使用道具 举报

280#
 楼主| 发表于 2014-10-28 15:54:04 | 只看该作者
我没有找到测试环境。不过现在似乎怀疑确实是 BPB 表上的总扇区数的错误使 win7 感到不舒服。

你可以再做一个试验,这次使用 mbr_8G.img 来执行导入到你的 16G 盘上。这样虽然浪费了后面的 8G,但保证了所有的 FAT32 扇区都是可访问的。这样,也不需要 diskgen 去纠正了(它也没什么可以纠正的,所有的数据都是正确的)。仍然在 XP 下执行操作,然后到 win7 下检验是否一切 OK?

回复

使用道具 举报

281#
发表于 2014-10-28 16:52:01 | 只看该作者
回不点兄:按照您上面说的xp下导入mbr_8G.img,在win7进行拷入及新建文件夹操作都成功了,试了十几次一次也没有报错,看来症结您应该已找到了哈。。
回复

使用道具 举报

282#
 楼主| 发表于 2014-10-28 17:15:17 | 只看该作者
本帖最后由 不点 于 2014-10-28 17:25 编辑

好的,症结找到了,容我思考对策。也许需要一些时日,才能权衡出一个可行的对策。

如果您方便的话,也可以试试在 win7 下执行前面这个导入的操作,看看是不是也 OK 了?


嗯——初步的对策:向 diskgen 的开发者求助!让 diskgen 来修复 BPB 的总扇区数,只需修复扇区号为 63 的那个扇区的 BPB 表即可,别的都不用动,这是因为 Windows 只访问扇区 63 处的 BPB(它是 FAT32 分区的合法首扇区),不会承认别的 BPB,所以,即使别的 BPB 改了也不起作用。

能否烦劳您给 diskgen 的开发者提出这个建议呢?

点评

或者求医不如求己,编译脚本里增加指定总扇区数的选项,然后BPB和分区表都按输入配置  详情 回复 发表于 2014-10-28 18:47
回复

使用道具 举报

283#
发表于 2014-10-28 18:45:07 | 只看该作者
win7下用winhex把mbr_8G.img导入我的16G优盘后测试拷入及新建文件夹也OK了。
回复

使用道具 举报

284#
发表于 2014-10-28 18:47:54 | 只看该作者
不点 发表于 2014-10-28 17:15
好的,症结找到了,容我思考对策。也许需要一些时日,才能权衡出一个可行的对策。

如果您方便的话,也可 ...

或者求医不如求己,编译脚本里增加指定总扇区数的选项,然后BPB和分区表都按输入配置

点评

这也确实是个方案。以前的 三重 mbr 就是与容量无关的,适应于任意的容量。不过,这次没按那种方案来处理。这次的方案比较简单,只提供四中容量,无需专门的安装程序。三重mbr以及后来的fbinst,都是需要专门的安装  详情 回复 发表于 2014-10-28 21:03
回复

使用道具 举报

285#
 楼主| 发表于 2014-10-28 21:03:46 | 只看该作者
本帖最后由 不点 于 2014-10-28 21:05 编辑
sunsea 发表于 2014-10-28 18:47
或者求医不如求己,编译脚本里增加指定总扇区数的选项,然后BPB和分区表都按输入配置


这也确实是个方案。以前的 三重 mbr 就是与容量无关的,适应于任意的容量。不过,这次没按那种方案来处理。这次的方案比较简单,只提供四种容量,无需专门的安装程序。三重mbr以及后来的fbinst,都是需要专门的安装程序。各有优缺点。

我们这次唯一需要的,就是一个能够修复分区表以及bpb表的工具。这些工具,可以是某个通用的工具,无需我们重复编写,也算是节约资源,低碳环保吧。

点评

我有时间试着写写。另:应该修正所有的BPB和分区表,因为有些弱智的BIOS可能会拿中间任意一个分区表和BPB读盘然后去读不存在的扇区引起各种Bug  详情 回复 发表于 2014-10-28 22:47
回复

使用道具 举报

286#
发表于 2014-10-28 22:47:35 来自手机 | 只看该作者
不点 发表于 2014-10-28 21:03
这也确实是个方案。以前的 三重 mbr 就是与容量无关的,适应于任意的容量。不过,这次没按那种方案来处 ...

我有时间试着写写。另:应该修正所有的BPB和分区表,因为有些弱智的BIOS可能会拿中间任意一个分区表和BPB读盘然后去读不存在的扇区引起各种Bug

点评

其它分区表和bpb无需修复,因为windows看不见它们,不承认它们。而bios已经grub4dos都不使用总扇区数。  详情 回复 发表于 2014-10-29 06:47
回复

使用道具 举报

287#
 楼主| 发表于 2014-10-29 06:47:30 | 只看该作者
本帖最后由 不点 于 2014-10-29 06:57 编辑
sunsea 发表于 2014-10-28 22:47
我有时间试着写写。另:应该修正所有的BPB和分区表,因为有些弱智的BIOS可能会拿中间任意一个分区表和BPB ...


其它分区表和bpb无需修复,因为windows看不见它们,不承认它们。而bios以及grub4dos都不使用总扇区数,基本上是永远用不着它。你在win7下如果不写盘而只是读盘,你也用不上总扇区数。

所以,我们不需要工具,只要有 diskgen 来修复就够了。用 bootice 的扇区修改能力手动修复也行。

假如你真想做这个工作,可以参考 bootlace.com 的做法。不过感觉没什么迫切性。
回复

使用道具 举报

288#
发表于 2014-10-29 10:29:32 | 只看该作者
只是个参考

三重 mbr 就很不错,优点可以格式化U盘

multimbr使用U盘前面63扇区不够用,是否可以使用前面2048扇区(win7系统硬盘分区时前面就是2048扇区,能于windows操作系统分区相吻合我想兼容会好一些)从2048扇区开始这样U盘又支持4K对齐

就是说multimbr的代码占用U盘前面2048扇区,从2048扇区开始直接在windows下格式化成FAT32格式,不知这样是否兼容会好一些。
三重 mbr 和multimbr都取之长,我想它的兼容会更好一些

回复

使用道具 举报

289#
 楼主| 发表于 2014-10-29 10:48:58 | 只看该作者
谢谢您的支持。2048 扇区只有 1M,不够用。multimbr 是与 fbinst 等价的技术,至少需要 8M 才行。

三重 mbr、fbinst 和此处所讨论的 multimbr,都是 U 盘启动技术,不便于用在普通硬盘上。普通硬盘可以使用 wee 或者类似的技术。不同的软件都有各自的使用范围,各司其职,不能混乱。

回复

使用道具 举报

290#
发表于 2014-10-29 14:03:31 | 只看该作者
确实是 BPB 表上的总扇区数的错误使 win7 感到不舒服。

只需修复扇区号为 63 的那个扇区的 BPB 表即可,别的都不用动,这是因为 Windows 只访问扇区 63 处的 BPB(它是 FAT32 分区的合法首扇区),不会承认别的 BPB,所以,即使别的 BPB 改了也不起作用。

以实际验证:上面说的都是正确的。

我使用的是2014 年 10 月 19 日的mbr_32G.img文件,只修复63 的那个扇区的 BPB 表

解决以win7x64系统报“文件系统错误65535”错误
回复

使用道具 举报

291#
 楼主| 发表于 2014-10-29 18:00:36 | 只看该作者
本帖最后由 不点 于 2014-10-29 23:51 编辑

谢谢您辛苦验证和回馈。

就是说,大家用 hex 工具修复分区表和 BPB 表即可。diskgen 已经能够修复分区表了,只差修复 BPB 表了。

各位可以用 google 搜索一下,看看网络上还有没有能够修复分区表和 BPB 的工具。

我记得有个 partition guru 的软件,不知道有没有这功能。

还有一个软件,叫 partition table doctor,也可以用来修复 boot sector。

点评

现在需要那个带一个主分区和一个拓展分区的那个镜像了,刚买了1T的移动硬盘  详情 回复 发表于 2014-11-2 09:17
做了个修复BPB和分区表的小工具,要安装VC2008运行库 建议用管理员权限运行 球排查Bug http://pan.baidu.com/s/1gdrIvXh 注意,别选错了!这会毁了你的硬盘!  详情 回复 发表于 2014-11-1 19:58
回复

使用道具 举报

292#
发表于 2014-11-1 19:58:32 | 只看该作者
不点 发表于 2014-10-29 18:00
谢谢您辛苦验证和回馈。

就是说,大家用 hex 工具修复分区表和 BPB 表即可。diskgen 已经能够修复分区表 ...


做了个修复BPB和分区表的小工具,要安装VC2008运行库

建议用管理员权限运行

球排查Bug

http://pan.baidu.com/s/1ntwpRiL
注意,别选错了!这会毁了你的硬盘!

点评

win8.1下无法选择u盘?  详情 回复 发表于 2014-11-1 21:56
回复

使用道具 举报

293#
发表于 2014-11-1 21:56:50 | 只看该作者
sunsea 发表于 2014-11-1 19:58
做了个修复BPB和分区表的小工具,要安装VC2008运行库

建议用管理员权限运行

win8.1下无法选择u盘?

无法选择U盘.JPG (15.46 KB, 下载次数: 88)

无法选择U盘.JPG

vc2008.JPG (82.37 KB, 下载次数: 74)

vc2008.JPG

点评

我日,用管理员运行就好了  详情 回复 发表于 2014-11-16 17:47
按一下下拉条有没有?我是在XP下测试的  详情 回复 发表于 2014-11-2 06:28
回复

使用道具 举报

294#
发表于 2014-11-2 06:28:32 来自手机 | 只看该作者
2013datong5624 发表于 2014-11-1 21:56
win8.1下无法选择u盘?

按一下下拉条有没有?我是在XP下测试的
回复

使用道具 举报

295#
发表于 2014-11-2 09:17:16 | 只看该作者
不点 发表于 2014-10-29 18:00
谢谢您辛苦验证和回馈。

就是说,大家用 hex 工具修复分区表和 BPB 表即可。diskgen 已经能够修复分区表 ...

现在需要那个带一个主分区和一个拓展分区的那个镜像了,刚买了1T的移动硬盘

点评

下次编译的时候,就再编译出来吧。目前你可以暂时用 diskgen 添加一个扩展分区以及逻辑分区。  详情 回复 发表于 2014-11-2 11:04
回复

使用道具 举报

296#
 楼主| 发表于 2014-11-2 11:04:29 | 只看该作者
sunsea 发表于 2014-11-2 09:17
现在需要那个带一个主分区和一个拓展分区的那个镜像了,刚买了1T的移动硬盘

下次编译的时候,就再编译出来吧。目前你可以暂时用 diskgen 添加一个扩展分区以及逻辑分区。

点评

我如此操作了(重新编译了菜单,改成了0PE的和10-29的0.4.6),然后启动错误,什么都没看到(显示器延迟很大),只看见一个光秃秃的菜单,键盘用不了,什么菜单上的字都没看到,用G4D的默认MBR正常,就是用的那个1T  详情 回复 发表于 2014-11-2 14:29
回复

使用道具 举报

297#
发表于 2014-11-2 14:29:08 | 只看该作者
本帖最后由 sunsea 于 2014-11-2 14:42 编辑
不点 发表于 2014-11-2 11:04
下次编译的时候,就再编译出来吧。目前你可以暂时用 diskgen 添加一个扩展分区以及逻辑分区。


我如此操作了(重新编译了菜单,改成了0PE的和10-29的0.4.6),然后启动错误,什么都没看到(显示器延迟很大,切换分辨率和显示模式的时候更大),只看见一个光秃秃的菜单,键盘用不了,什么菜单上的字都没看到,用G4D的默认MBR正常,就是用的那个1T的移动硬盘,刷了8G的那个镜像

菜单附加了字模
回复

使用道具 举报

298#
 楼主| 发表于 2014-11-2 14:53:14 | 只看该作者
恐怕是你导入自己的菜单,出现了错误。用原始的、未经改动的 8G 映像来制作,应该不会有问题吧?

如果你想更改内置菜单,你只需更改 preset_menu.lst 文件。敲入 make 编译时,这个菜单会自动替换掉 grldr 里面的内置菜单。

点评

补充,我那个32g的U盘上用的是某个旧版g4d,但都是同一个0PE,32g上的内置菜单lzma压缩了。1T移动硬盘上的没有 会不会是个bug,不认识内置的未lzma压缩的菜单中的字模?  详情 回复 发表于 2014-11-2 15:05
我就是这么干的。我在我的32G的u盘上实验没有出现这个问题  详情 回复 发表于 2014-11-2 14:57
回复

使用道具 举报

299#
发表于 2014-11-2 14:57:30 来自手机 | 只看该作者
不点 发表于 2014-11-2 14:53
恐怕是你导入自己的菜单,出现了错误。用原始的、未经改动的 8G 映像来制作,应该不会有问题吧?

如果你 ...

我就是这么干的。我在我的32G的u盘上实验没有出现这个问题
回复

使用道具 举报

300#
 楼主| 发表于 2014-11-2 15:02:20 | 只看该作者
你确定一下是什么问题。引导 grldr 之前的过程都正常吧?怀疑 0.4.6 有问题,换成 0.4.5 的试试。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-26 04:01

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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