liuzhaoyzz 发表于 2011-2-16 10:56:57

fbinst制作的移动硬盘启动成功率

感觉fbinst在移动硬盘启动方面,成功率不如优盘成功率高,论坛上还是有fbinst制作的移动硬盘启动失败的案例,因此做个投票看看。

[ 本帖最后由 liuzhaoyzz 于 2011-2-16 15:51 编辑 ]

不点 发表于 2011-2-17 03:12:04

我觉得应该定义什么叫“失败”,否则,不同的人有不同的理解。

fbinst 成功接管到控制权,即可看成成功了。此时,fbinst 超强的 CHS 适应能力,使得 fbinst 启动其他实模式的软件很轻松,例如,启动 grldr 很容易。而启动某个 PE 之后,如果 PE 不能顺利完成启动,则不属于 fbinst 的错误。所以,我认为,投票人应该不去考虑那些问题。只要 fbinst 能够成功启动某个实模式的软件(例如 grldr),就算成功了。

到目前为止,fbinst 的失败,仅仅出现在 BIOS 根本不把控制权交给 fbinst 这一种情况。这原因也弄清楚了:BIOS 发现第一扇区的第一字节为 EB 就自杀(死机),改成别的字节,就能顺利启动。因此,即使 fbinst 启动失败了,也有机会把它加以改造,使其成功启动。(这段话有点离题了,不再展开论述)。

wangmeng052 发表于 2011-2-17 06:37:34

受教育了。不点大师出现啦。

Plantsoot 发表于 2011-2-17 08:32:26

回复 #2 不点 的帖子

不点,修改第一字节EB的难度大吗?不知道有没有对策,不过我还没遇到过这样的新主板,要是有人能反馈下这样的主板型号就好了。

liuzhaoyzz 发表于 2011-2-17 08:33:07

我这里说的失败就是虽然经过fbinst那种特殊的mbr之后,bios仍然无法识别硬盘,启动后直接无视usb启动项直接跳过的情况。这里不考虑pe的情况,只要能看到fbinst菜单就应该认为能够启动,启动不了那是pe的问题。我用个20G东芝移动硬盘fbinst测试了最新购买的许多联想、华硕笔记本,居然大部分不能启动,小部分能启动。我的感觉是fbinst在优盘启动成功率方面要比移动硬盘成功率高,当然这只是一个普通用户胡乱猜想,这需要更多人反映情况,基于这点疑惑我做了个投票。不点说的 “BIOS 根本不把控制权交给 fbinst 这一种情况”,你说的好像还有解决办法,不知道能否在fbinst中改进点什么?

不点 发表于 2011-2-17 10:44:45

回复 #4 Plantsoot 的帖子

对于懂得简单的汇编指令的人,修改的难度太小了,简直小菜一碟。只要懂得 DOS 下的 debug 的简单使用即可。

对于完全没有汇编指令知识的人,这当然是不可完成的任务了。

已经报告的机型是 Acer 和 Dell。估计应该还有很多。

只需要修改 MBR 开头的指令,boot land 上有高手发现将其修改为 xor AX, AX 即可成功。我个人估计,只要修改为不是 EB 开头的任何指令都行。由于没有机器可以验证,所以,我只能这样去猜测。

修改完了,当然还应该保证能够按照原有的指令顺序开始执行。懂得汇编的人,完全明白应该怎么做(即跳转到原来的程序上继续执行)。

liuzhaozz,你说 fbinst 在最新的机器上仍旧失败,这太好了,你可以亲自检验修改 EB 的效果了。

“居然大部分失败”,令我想到为什么会这样了,呵呵。诸位应该也能猜到我想到了什么吧?

也许在移动硬盘上有其它的机关,但它一定是机关。这个机关可以非常隐蔽,可以很难被揭穿。但在我看来,那不属于 fbinst 的 bug。也许将来某个高手可以揭秘这个机关的技术详情,正如boot land 的一位高手揭秘了 0xEB 的机关一样。

Plantsoot 发表于 2011-2-17 12:04:26

恩,不懂汇编。
不过看了天涯海角的一个帖子,不知道能不能达到类似的效果,我去折腾下。

【原创】HDD模式U盘双重MBR系列之—— PloP Boot Manage + FBINST(多版本.11.6更新)

liuzhaoyzz 发表于 2011-2-17 12:43:05

我这里有点特殊,我这个移动硬盘是2003年买的,太早了,所以不能被大多数新笔记本识别,这可能只是个特殊的个例,不具有代表性,用最近的移动硬盘测试才具有代表性。朋友们的移动硬盘最近两年买的手头也有,可硬盘上都有东西,不方便fbinst格式化测试,如果用最近的移动硬盘测试可能行。关于修改MBR的EB问题,如果能够在fbinst层面变通解决就更好了,毕竟无忧论坛大部分人都是一般用户,我也是,修改EB也要学习研究很久才行。然而,对于bios中看不到的移动硬盘,通过fbinst这类软件性质的东西想要启动,我看难度还是很大的。

2011xdsy 发表于 2011-2-17 17:40:14

赞成2楼的观点。。。

atjj51980 发表于 2011-2-18 22:06:41

还是不大懂啊

在学习

不点 发表于 2011-2-19 09:45:07

回复 #8 liuzhaoyzz 的帖子

我觉得这个工作应该由你本人来做最合适,不要求助于他人。

>>> 我这里有点特殊,我这个移动硬盘是2003年买的,太早了,所以不能被大多数新笔记本识别,这可能只是个特殊的个例,不具有代表性,用最近的移动硬盘测试才具有代表性。

我不同意这个观点。有些东西与硬件无关,而与软件有关。比如,某 BIOS 只要发现 USB 设备开头是 EB 字节就死掉,这与你的 USB 设备是多少年前的,已经毫无关系了。当然,也有可能与年代有关,不过,那是当你无论用什么软件都无法启动的情况,特别是用微软的 MS-DOS, NTLDR 以及 FreeDOS 都无法启动,那样你才可以说,确实是 USB 设备太旧,无法被新的电脑识别。除此以外,你不能下断言。

>>> 朋友们的移动硬盘最近两年买的手头也有,可硬盘上都有东西,不方便fbinst格式化测试,如果用最近的移动硬盘测试可能行。

我个人认为,测试是个大事,不能因为一点小难就却步了。要知道,别人想碰上你的情况,还很难呢。你有幸碰上了,却不深究,这是不是太可惜?你的测试,不仅能让你增长知识,而且还能让大家增长知识。而如果你不去做,大家都是一头雾水,朦朦胧胧的,很不爽的说。本来是能够确定无疑弄清楚的事,你却用“大概、可能”的词汇,这样的话,谁还愿意关注这个话题呢?要得让大家关注,除非大家都遇到你的情况,事先有经验了,才能投票表示。如果没经验,纯粹是乱投票,对你来说,也没有用处,根本不如你自己动手,丰衣足食。恕我直言,我讲话一向是很难听的。

>>> 关于修改MBR的EB问题,如果能够在fbinst层面变通解决就更好了,毕竟无忧论坛大部分人都是一般用户,我也是,修改EB也要学习研究很久才行。

同意。只要你能证明是 EB 字节的问题,bean 具体做起来那是小菜一碟,不用我们其他人去管了。你首先用其他不是 fbinst 的软件去启动,看看是否成功。如果不用 fbinst 成功了,那就有很大的把握说,这是 EB 字节的问题了。在上述这个步骤完成之后,接下来进一步可以继续测试,看看修改 EB 字节,能否成功。实在需要帮忙的话,论坛上懂得汇编的人多着呢,都可以帮你。

>>> 然而,对于bios中看不到的移动硬盘,通过fbinst这类软件性质的东西想要启动,我看难度还是很大的。

你这里仍然是一个“定义”的问题。恕我直言,本来是很清楚的一件事,到你这里成了一笔糊涂帐。什么叫做“bios中看不到的移动硬盘”?你是指无论什么移动硬盘(安装了任何软件)都看不见呢?还是指安装了 fbinst 以后看不见?如果是前者,那就是你的 BIOS 根本不认移动硬盘,不要继续讨论了,没意义了。如果是后者,(在我看来)那说明,安装了 fbinst 的移动硬盘,正是 BIOS 所要排挤的(人为的、故意的),你设法骗过 BIOS,让它以为这不是 fbinst,就通过了。一个公开发现了的方法就是修改 EB 字节。也许还有别的机关,不过,已经发现的机关,应该首先尝试吧?至于说未发现的其他机关,我们可能一时还摸不着门,那是后话了,现在该做的都还没做呢,距离“后话”相差太远。很抱歉,为了说明白,我的言辞可能你不太容易接受。

[ 本帖最后由 不点 于 2011-2-19 09:51 编辑 ]

liuzhaoyzz 发表于 2011-2-19 10:40:48

我体会和理解不点对于追求事物根本关键问题的态度,最近刚过完年,手头工作上刚开展,事情较多,所以耽搁了下来。我正在尝试修改EB,看了天涯海角的相关文章还是不太明白,我正在研究。
我说的BIOS中看不到移动硬盘,指的是在最新购买的许多电脑上,无论是直接用windows格式化并直接拷贝式安装WINPE,激活主分区,把setupldr.bin修改为ntldr,或者用fbinst1.6强行格式化之后,都看不到移动硬盘,但是在一个台式机和一台笔记本上的BIOS中能够看到硬盘的型号,也可以启动。进入windows所有的文件都可以看到的。我怕的就是BIOS根本不认这个移动硬盘。

[ 本帖最后由 liuzhaoyzz 于 2011-2-19 10:44 编辑 ]

不点 发表于 2011-2-19 11:51:17

>>> 我说的BIOS中看不到移动硬盘,指的是在最新购买的许多电脑上,无论是直接用windows格式化并直接拷贝式安装WINPE,激活主分区,把setupldr.bin修改为ntldr,或者用fbinst1.6强行格式化之后,都看不到移动硬盘,

你的启动方式还不够多。你应该尝试更多的启动方式(例如其它工具软件制作的 DOS、syslinux 等),看看能否启动。如果都不能启动,才可以下结论:BIOS 不支持移动硬盘启动。一旦得出这样的结论,也就不要再继续研究了,这与 fbinst 无关,也证明了,在这个特例中,并非 fbinst 受到了排挤,因为其它的软件也一样不能启动。所谓 fbinst 受到排挤的情况,是指其他软件能够启动,而唯独 fbinst 无法启动的情况。

>>> 我怕的就是BIOS根本不认这个移动硬盘。

如果真的不认了,也就算了。那说明确实(可能)是因为移动硬盘太旧了,无法支持。但你的工作还没有彻底做完,你需要再换用新的移动硬盘来试验。如果照样不支持,那可以得出结论:BIOS 不支持任何移动硬盘的启动。从商业的角度来考虑,我认为这种情况不可能出现,因为这不符合商业运作的规律,等于自己砸自己的牌子。

补充:我这里所说的“不可能”,是按照常规的思维套路来说的。如果战争是以非常规的方式打响的,则是另一番景象。比如说,某个巨臂打算取缔 USB 的启动功能,它可能会动真格的,在背后支持这一举动。我认为这件事关系重大,宜尽早弄清楚,越早越好。

当 USB 不能启动的时候,估计也是 BIOS 开始逐渐冷落的时候了,那么,其替代品 EFI 就有可能成为主流了。新一轮的战争也就要开始了。掌握动向,是我们每个人必须具备的基本技能,否则我们会被时代所淘汰。我们都是终端的用户,没有能力控制业界标准,甚至没有知情权。只有通过我们敏锐的触角,才可能对业界的变动做出快速的反应,才可能了解一些原本不可能了解的内幕。

[ 本帖最后由 不点 于 2011-2-19 15:18 编辑 ]

liuzhaoyzz 发表于 2011-2-19 21:59:56

中午陪人吃饭,下午做汇报材料,晚上出去陪人吃饭了,所以回复晚了点,抱歉,谢谢你对这个问题的关注程度,抱歉我不是一个合格的报告问题的人。我估计还是移动硬盘太旧了,BIOS中看不到,我换了个新点的移动硬盘,BIOS中一下子就看到移动硬盘了,显示Gentral external 2.0,拷贝式安装pe就能够启动,别人的移动硬盘里面有250G数据不好fbinst强格。我在百度中搜索了下”BIOS 移动硬盘 识别“,真的还有很多人的移动硬盘类型不能在BIOS中被识别出来,进入WINDOWS后一般都能正确识别。但要用它启动的话就要看进入系统之前能否被正确识别。

[ 本帖最后由 liuzhaoyzz 于 2011-2-19 22:16 编辑 ]

不点 发表于 2011-2-19 23:27:47

好的,这说明 BIOS 还没有开始被淘汰。非常感谢你提供的信息。

我关注这个问题,有我的理由。但这个问题是你提出来的,你也不是为哪个软件报告 bug 的。所以,我倒是不觉得我应该被感谢。

待到 BIOS 真的被硬件厂商取缔的一天,grub4dos 的开发就被迫要转向了。比如说,直接朝 burg 靠拢。我属于那种懒汉,又不想学习像 EFI 之类的新知识,所以,我不希望 BIOS 被取缔。但假如硬件厂商真的要取缔 BIOS 了,那我也只好放弃 BIOS (以及 grub4dos) 了,因为别无选择。

liuzhaoyzz 发表于 2011-2-20 00:01:51

修改MBR的EB的现象不能在我这里进行试验和验证,这需要更多的人来反馈fbinst移动硬盘不能启动的现象,前提是BIOS中能够看到移动硬盘的具体型号,无论是在USBHDD,USBZIP或者是在HDD中看到型号,目前已经有部分人反应“fbinst移动硬盘大部分电脑可以启动,小部分不能启动”,那么这小部分不能启动的,又分为两种情况,一种和我一样,BIOS中彻底看不到型号,一种能看到型号,能看到的才能反馈修改EB之后的效果。希望更多人参与测试。

快雪时晴 发表于 2011-2-20 12:55:24

参照不点说的,修改EB是很简单事情
把EB 5E 00 00改成 31 C0 EB 5C好了

不点 发表于 2011-2-20 17:46:40

回复 #16 liuzhaoyzz 的帖子

你完全没有理解修改 EB 的意义在什么地方。

修改它的意义,完全就是为了欺骗 BIOS,让它以为这不是 fbinst,从而有可能放一条生路给 fbinst,即允许安装了 fbinst 的 U 盘被 BIOS 识别和承认(也就是你所说的“在 BIOS 中能看到”,其实,能不能看到并不要紧,关键是只要“能启动”便可)。除此之外,修改 EB 没有任何意义。

我想,这下你大概明白了吧?快雪时晴 所说的,完全正确。

yongqian001 发表于 2011-2-20 19:03:10

学习了,不知道会不会大硬盘比较不好识别?

liuzhaoyzz 发表于 2011-2-20 21:17:48

修改EB,在BIOS中看不到硬盘仍然能够启动是我没有想到的。我用winhex打开移动硬盘,找到了几个16进制的EB5E0000,改第一个是吗?

[ 本帖最后由 liuzhaoyzz 于 2011-2-20 21:19 编辑 ]

不点 发表于 2011-2-21 07:42:44

是的,改第一个。至于说改完之后究竟能不能骗过,则是成功与否的判别标准。

前提是,你的 USB 安装了别的引导软件是能够成功启动的。如果你安装任何别的引导软件都不能启动,那就别费劲了,改了也没用。

快雪时晴 发表于 2011-2-21 20:31:03

回复 #21 不点 的帖子

4G 朗科U208,FBinst16格式化,30M UD主分区,无UD扩展分区,余下用BOOTICE格式化为一个G4D分区。

试了两台电脑:
02年的IBM 845G 台式机
09年的方正 R410笔记本

都能通过G4D分区启动,并都直接跳过了FB的UD主分区。

记得bean说过某些BIOS会跳过前30个扇区,我一连修改了34个扇区区首的EB字节问题,还是一样被跳过。

庆幸的是还能U盘启动,所说不是我所期待的通过FBinst实现。

快雪时晴 发表于 2011-2-21 21:00:41

补充一下(枫树直接编辑总是添加很多html标记)
老台式机上识别为HDD
新笔记本上识别为FDD

不点 发表于 2011-2-21 23:19:12

回复 #22 快雪时晴 的帖子

快雪时晴,你描述的情况耐人寻味。我仔细研究了你说的每句话。

初看起来,你的描述是一个毫无争议的关于 fbinst 如何失败了的描述(我第一眼就是这样的感觉)。

但事实上,经过我的仔细分析之后,我认为这不能算是 fbinst 的失败,而应该看成 fbinst 的成功。

请参照我在2011年2月8日的“投票规则”中的观点:

兔年大PK:兼容性最高的USB启动方式,fbinst or NTLDR?
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=186560&extra=page%3D1

以下引用其中2011年2月8日补充规则的原文(一字不差):

根据到目前为止所反映出来的情况,有必要作出补充说明。
MBR 是谁,成功就属于谁。
这是认定某一次启动成功的主要贡献者的标准。比如,你在 USB 的 MBR 上安装了微软的单扇区引导代码,并在 PBR 上安装了 GRLDR 的引导代码。不管 MBR 上的微软引导代码是否取得控制权,都算是微软引导代码的功劳。即使此时 MBR 被跳过而 PBR 首先接管控制,也不能算是 PBR 的成功,只能算是 MBR 的成功。在所有的情况下,都以“MBR 是谁”为判断的标准。

按照上述规则,由于 fbinst 在 MBR 上,因此,PBR 的启动成功,不能算是 fbinst 的失败,而只能算是 fbinst 的成功。虽然 fbinst 未能接管控制,但它的存在,使得 U 盘启动成功了,而不是被 BIOS 以自杀的方式整死了。

因此,在你的例子中,都不能算是 fbinst 的失败。

如果你的结果不是 PBR 被启动了,而是死机了(或者整个 U 盘都被忽略了,即无法用 U 盘启动),那当然就无可辩驳地成为了 fbinst 的一个失败的案例。但你的情况完全不是这样的,所以,你不是失败了,而是成功了。

希望我说明白了,希望我没有把你搞糊涂了。

天涯海角1216 发表于 2011-2-22 11:19:47

回复 #23 快雪时晴 的帖子

你的G4D分区的引导文件是grldr吗?

正如不点兄所说:既然能够启动到这个可见分区,说明fbinst依然是成功的!

因为BIOS必然要首先读入0扇区,即MBR扇区,如果它将fbinst杀死,那么只能是死机,而不可能转至可见分区启动。

错误之处,欢迎讨论。。。

不点 发表于 2011-2-22 13:47:44

回复 #22 快雪时晴 的帖子

前一帖我没说完,接着补充一下。

你可继续测试,看看你的 MBR 是否能够获得控制。比如,你安装微软的 MBR,看看它能否获得控制。再安装 syslinux 的 MBR,也看看它能否获得控制。也可以试试其他很多 MBR,例如,mbldr 之类的,看看其中有多少 MBR 能够获得控制。

如果这林林总总的 MBR 无一能够获得控制,那你的主板就根本不会把控制传递给 MBR,而是永远跳过 MBR,并直接把控制传递给 PBR。那么,这就不算是一个稀奇古怪的问题了,是一个“可以自圆其说、能够解释清楚”的问题了。

如果其中有一些 MBR 能够获得控制,那说明,BIOS 还是有些古怪,或者说有些 bug,未能让 fbinst 接管控制。但无论如何,它都不是专门针对 fbinst 而下黑手的,正如前面所说的,你的启动属于成功的案例,而不属于失败。如果它要下黑手的话,那一定是彻底死掉,不会留一条生路的。

wannaknow 发表于 2011-2-22 13:58:11

回复 #26 不点 的帖子

我猜测这bios属于“大包大揽型”的bios,主动探测mbr寻找dbr,直接寻找第一活动分区并加载dbr启动,这样做大概只有一种理由:动态patch fat的dbr里的启动盘号和chs参数(就是先修改0:7c00h里的dbr的内容再jump)。mbr永远不会被引导。应该本意是好的,适应xp的fat启动代码,不过这“味道”太“臭”了。grldr.mbr式的启动完蛋了(我们太依赖mbr,根本不重视dbr),mbr+dbr的活的倒更好了。所以说我们g4d也要有个不是EB开头(原因我就不说了)的单mbr,加上我们已有的dbr组成第二套启动方案,“完美”适应这种情况。

[ 本帖最后由 wannaknow 于 2011-2-22 14:39 编辑 ]

wannaknow 发表于 2011-2-22 15:06:10

回复 #26 不点 的帖子

我大胆猜测一下这类bios怎么来的吧:开发者发现根本无法启动xp默认格式化的fat分区的u盘,并且发现捣鬼的是第0扇区的dbr(因为xp格的u盘默认没mbr)里的启动盘号和chs参数。于是开发者灵机一动:反正还没交出cpu控制权,先把内存里的dbr副本改了(bios可不敢直接改u盘,万一有问题毁了用户数据罪过就大了)。这样就“完美”搞定了。后来开发者发现有的u盘“居然”有mbr,开发者心想:真不听话,这回一启动mbr,cpu可就不听我的啦,没法patch内存里的dbr了。然后上网一查:有超过80%的网页都说mbr只会加载活动分区dbr。开发者心想:太棒了,反正你mbr干的事情也不多,干脆我替你代劳了,不麻烦你了,我直接自己找dbr,然后我就又能改内存里的dbr副本了。然后一测试,成功了!(必然)。恩恩,我的代码太完美了!交差了事!
然后grldr.mbr就被华丽丽的无视了。。。。。。

不点 发表于 2011-2-22 19:09:21

回复 #28 wannaknow 的帖子

没错。有这种可能性。

yaojy 发表于 2011-2-22 19:28:05

回复 #28 wannaknow 的帖子

如果真是这样的话,倒是BIOS没落之前的“回光返照”,
也使某些悬案不必再费口水。
阿弥陀佛!
页: [1] 2
查看完整版本: fbinst制作的移动硬盘启动成功率