无忧启动论坛

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

兔年大PK:兼容性最高的USB启动方式,fbinst or NTLDR?

[复制链接]
1#
发表于 2011-2-3 22:09:07 | 显示全部楼层
我觉得BISO启动时读取磁盘扇区启动,这个过程应该是所有厂家都默认bios是去读取检测到的任何类型磁盘的0扇区的吧??

难道还会0扇区还没读呢,就先去读其他扇区???bios应该不会在磁盘启动上设置成这样的逻辑吧??


目前已知的所有启动方式好象都是要迫使bios正确读取磁盘0扇区,并根据0扇区的数据去执行后面的事。

0扇区的数据如果不能正确的为bios提供指令,一般bios都是默认去尝试读取其他硬盘0扇区的引导信息的吧??读不出所有检测到的磁盘启动信息,就提示无磁盘引导的吧??
回复

使用道具 举报

2#
发表于 2011-2-3 22:16:09 | 显示全部楼层
至于fbinst问题,我总觉得实际上fbinst为了挤出空间作为隐藏分区,所以它采取了从0扇区开始的数据就是迫使bios的检测是从0扇区自动读取到最后一个fbinst指定的扇区,才能载入启动数据,执行引导的吧??

并不是fbinst提供bios 可以从0-63扇区或更多扇区任意位置随机读取,然后再顺序下去的吧??

而其他我们已知的好多引导方式都是仅利用0扇区,或前面几个扇区,并且必定是必须从0扇区读起的,不从0扇区读起数据的开始头,一般是不可能引导成功的。

照这样看,也仅fbinst一家是可以从前面几个扇区随机读取到数据,也能继续向下面的最后一个扇区引导的。

例如你设置fbinst引导区是0-63扇区,那么bios哪怕一开始只从20扇区读第一个数据开始,20扇区的完整数据也能引导bios继续读取第21扇区直至读至63扇区开始正确引导的吧??

这倒也蛮有趣的引导方式。
回复

使用道具 举报

3#
发表于 2011-2-3 22:19:20 | 显示全部楼层

回复 #31 Plantsoot 的帖子

你的意思是BISO启动时读取U盘扇区启动,这个过程不一定读第一个数据的区是0扇区??

我觉得应该是所有厂家都默认bios是去读取U盘的0扇区的吧??

难道还会0扇区还没读呢,就先去读其他扇区???bios应该不会在U盘启动上设置成这样的逻辑吧??


目前已知的所有非fbinst的启动方式好象都是要迫使bios正确读取U盘0扇区,并根据0扇区的数据去执行后面的事。

0扇区的数据如果不能正确的为bios提供指令,一般bios都是默认去尝试读取其他硬盘0扇区的引导信息的吧??读不出所有检测到的磁盘启动信息,就提示无磁盘引导的吧??
回复

使用道具 举报

4#
发表于 2011-2-3 22:25:13 | 显示全部楼层
我试过一些操作以及硬件设备,就现在我知道,除Windows类视窗操作系统。

其他所有设备,例如MP3、MP4、手机以及电视设备等,他们的内置usb设备口读取的逻辑,都是仅读取0扇区的,并且对0扇区的代码兼容程度也是有限的。

举例吧,我们将U盘用fbinst折腾后,那些设备就无法通过0扇区的fbinst代码去找到第63扇区的正确数据来载入可见分区内的分区表信息的,也就是说fbinst折腾过的U盘或存储卡,好象大部分上面的设备是无法读取可见分区内的文件的。不知道别人的情况如何。
回复

使用道具 举报

5#
发表于 2011-2-3 22:33:04 | 显示全部楼层
呵呵!!早前我曾经看过那64个扇区的数据,我没去细分析,只是估计是那逻辑顺序,迫使bios读取到64个扇区前63个任意扇区,那么读到的扇区的完整数据都能够迫使bios正确去读取最后一个扇区的数据载入引导过程。

其成功率确实极高了,不论你是什么bios都能较好的最后引导成功的。

很有趣的思路。

只是没想到不同厂家的bios原来无法保证永远正确的读取usb口存储设备的第一扇区。呵呵!!!
回复

使用道具 举报

6#
发表于 2011-2-3 22:35:01 | 显示全部楼层

回复 #39 不点 的帖子

fbinst直接支持 bootmgr应该是可以做到的,配置数据以及相关的文件到位的话,和支持其他方式的启动没什么区别。
回复

使用道具 举报

7#
发表于 2011-2-3 22:37:28 | 显示全部楼层
实际上这贴更深层的意思应该是关于任意主板bios对USB设备的扇区数据读取并正确引导的的可靠性上了
回复

使用道具 举报

8#
发表于 2011-2-3 22:42:40 | 显示全部楼层
同时我还发现,这个选择中,除fbinst是主引导,其他的都不属于主引导呢

fbinst靠自身的主引导,自然可靠性也很高了


而其他的引导方式,都要依赖对应的其他类型的主引导呢,他们只是些分区引导,已不足以在bios层面上和fbinst比较了。

如果是说这些项目就是指他们对应的主引导,那么就有点不好选择了。

不过fbinst肯定那样的逻辑引导形式可靠性是最高的了。
回复

使用道具 举报

9#
发表于 2011-2-3 22:46:36 | 显示全部楼层

回复 #44 不点 的帖子

对了呢,今天忽然想起来问问牛人们呢

微软的mbr,一般就是Windows nt 5.*或Windows nt 6.*了,那么用它们作为U盘设备的主引导,这玩意好象没见多少人用来引导U盘吧??这支持么???

偶不会折腾这玩意,无忧这里有谁折腾成功过么???
回复

使用道具 举报

10#
发表于 2011-2-3 22:54:45 | 显示全部楼层

回复 #48 不点 的帖子

没关系,不需要详细描述的,只需要大致逻辑顺序即可

偶也没那本事了解代码上具体执行

只要知道先哪一步,然后执行哪一步,最后到哪结束。

共计三步而已
回复

使用道具 举报

11#
发表于 2011-2-7 23:52:22 | 显示全部楼层
实际上U盘设备在电脑上与bios之间只有两个大的方面的硬件标准的校对

1、是USB-CD的信息校对

2、是U盘存储设备的校对

在本贴来说,主要是考虑bios对U盘存储设备的0扇区,就是第一扇区的数据的正确读取和判断引导的问题。

而USB-CD的问题已不是U盘存储设备的0扇区的问题,那是固件问题。

一般来说,支持USB设备启动的bios在读取固件判断USB存储设备上(不是指识别USB-CD)大致是分二种情况。

1、是仅能通过固件信息识别不超过1G的老U盘的情况。

2、是可以识别所有容量的U盘的情况。

这也就是说目前大部分新的电脑的bios都是可以识别出U盘的,区别仅是对于U盘的0扇区的引导数据的正确读取和执行引导。

在这个情况中正如前面高手所说,bios有时候虽然识别出U盘设备是正确的,但是并不能通过固件提供的数据正确读取0扇区,或许第一读取的是第十扇区。

而除fbinst以外,其他任何引导方式都依赖bios必须正确的从0扇区读起,不能丢失0扇区的引导数据,哪怕丢失一点一点字节。

而fbinst的方式是0-63扇区中任意一个扇区被bios完整读取数据,就能引导bios最终从63扇区读取数据执行引导的。

似乎是这样的意思吧??

呵呵!!!
回复

使用道具 举报

12#
发表于 2011-2-7 23:55:06 | 显示全部楼层
我晕,发完贴才看到88楼的贴

结果就是一句话:“bios不是能够完美的统一从U盘的0扇区读取起引导数据的”

仅此而已
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-3 15:13

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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