【教程】fbinst启动U盘解读(MBR层面)
【1楼附录像下载】一、使用简介(源自百度)我们知道:由于种种复杂原因,不同BIOS对U盘CHS/LBA参数处理结果不尽相同,导致同一个U盘,在一台机器上BOOT成功,在另一台机器上就可能BOOT失败
【早期硬盘也有类似问题,但最后通过多个工业标准,已经解决
而USB是万能接口,且有关标准未得到厂商统一遵守,问题更复杂】现在开源社区的bean提出了巧妙构思,开发出fbinst,基本解决了BIOS下的CHS/LBA参数适应调整问题,使U盘BOOT成功率大大提高
(除非碰上了极度变态的主板和BIOS)
——fbinst的巧妙构思预留8M(1-16064扇区)隐藏区,在每个扇区固定位置都写入该扇区在WIN下的LBA值,并在1-63扇区都写入bootcode
BIOS启动时,通过bootcode读取预先写入的LBA值,并与BIOS识别的LBA值进行比较,找出差距,倒推出当前BIOS对U盘的识别和访问情况,根据这个情况来调整纠正对U盘的访问
——fbinst隐藏区空闲空间的利用fbinst对付BOOT兼容性问题的开发已经完成,目前新版本的开发重点已转向隐藏区的利用
由于8M隐藏区的每个扇区记录LBA时只用了几个字节,且bootcode占据空间也不是很大,所以大量扇区空间是空闲的
在这个区域里可以嵌入:1
不同版本的grub4dos2
grub23
ntldr4
88M启动盘映像5
微型Linux现在的fbinst版本已经可以支持大的隐藏区了,可以装入WinPE或其他DOS工具,用grldr加载引导之
下面有详细说明
二、MBR结构解析:【1】主引导代码:1
高明之一:几乎所有写入U盘的其他类主引导记录的都是占用一个扇区(占用0号扇区,如HDD+,ZIP+,NT5,NT6等等),而fbinst却是在前64个扇区的主引导代码都