无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 27903|回复: 50
打印 上一主题 下一主题

[讨论] fbinst制作的移动硬盘启动成功率

[复制链接]
1#
发表于 2011-2-17 03:12:04 | 显示全部楼层
我觉得应该定义什么叫“失败”,否则,不同的人有不同的理解。

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

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

点评

破天武神www.gmwxw.com/book/974.html 绝世武神www.aoswx.com/book/1076.html  发表于 2014-8-29 15:28
回复

使用道具 举报

2#
发表于 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 的机关一样。
回复

使用道具 举报

3#
发表于 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 编辑 ]
回复

使用道具 举报

4#
发表于 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 编辑 ]
回复

使用道具 举报

5#
发表于 2011-2-19 23:27:47 | 显示全部楼层
好的,这说明 BIOS 还没有开始被淘汰。非常感谢你提供的信息。

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

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

使用道具 举报

6#
发表于 2011-2-20 17:46:40 | 显示全部楼层

回复 #16 liuzhaoyzz 的帖子

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

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

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

使用道具 举报

7#
发表于 2011-2-21 07:42:44 | 显示全部楼层
是的,改第一个。至于说改完之后究竟能不能骗过,则是成功与否的判别标准。

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

使用道具 举报

8#
发表于 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 的一个失败的案例。但你的情况完全不是这样的,所以,你不是失败了,而是成功了。

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

使用道具 举报

9#
发表于 2011-2-22 13:47:44 | 显示全部楼层

回复 #22 快雪时晴 的帖子

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

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

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

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

使用道具 举报

10#
发表于 2011-2-22 19:09:21 | 显示全部楼层

回复 #28 wannaknow 的帖子

没错。有这种可能性。
回复

使用道具 举报

11#
发表于 2011-2-23 00:26:29 | 显示全部楼层

回复 #32 快雪时晴 的帖子

谢谢你的勤劳,以及你提供的详细情况。

这个情况很重要,说明 MBR 有可能被忽略,直接用 PBR 来启动。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-18 02:32

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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