查看: 4108|回复: 3

[教 程] 【分享,转自网络】fbinst 启动U盘解读(MBR层面)

[复制链接]
发表于 2012-10-2 20:10:17 | 显示全部楼层 |阅读模式
我们知道:
    由于种种复杂原因,不同BIOS对U盘CHS/LBA参数处理结果不尽相同,导致同一个U盘,在一台机器上BOOT成功,在另一台机器上就可能BOOT失败。
  【早期硬盘也有类似问题,但最后通过多个工业标准,已经解决。而USB是万能接口,且有关标准未得到厂商统一遵守,问题更复杂】  现在开源社区的bean提出了巧妙构思,开发出fbinst,基本解决了BIOS下的CHS/LBA参数适应调整问题,使U盘BOOT成功率大大提高。(除非碰上了极度变态的主板和BIOS)。
——fbinst的巧妙构思  
    预留8M(1-16064扇区)隐藏区,在每个扇区固定位置都写入该扇区在WIN下的LBA值,并在1-63扇区都写入boot code。BIOS启动时,通过boot code读取预先写入的LBA值,并与BIOS识别的LBA值进行比较,找出差距,倒推出当前BIOS对U盘的识别和访问情况,根据这个情况来调整纠正对 U盘的访问。
——fbinst隐藏区空闲空间的利用
  fbinst对付BOOT兼容性问题的开发已经完成,目前新版本的开发重点已转向隐藏区的利用。由于8M隐藏区的每个扇区记录LBA时只用了几个字节,且boot code占据空间也不是很大,所以大量扇区空间是空闲的。在这个区域里可以嵌入:
  1。不同版本的grub4dos
  2。grub2
  3。ntldr
  4。1.44M/2.88M启动盘映像
  5。微型Linux
  现在的 fbinst 版本已经可以支持大的隐藏区了,可以装入WinPE或其他DOS工具,用grldr加载引导之。下面有详细说明。
http://pan.baidu.com/share/link?shareid=74334&uk=1074158592
发表于 2012-10-2 21:13:48 | 显示全部楼层
{:soso_e179:}{:soso_e179:}{:soso_e179:}{:soso_e179:}{:soso_e179:}{:soso_e179:}
发表于 2012-10-10 01:31:45 | 显示全部楼层
{:soso_e179:}
发表于 2012-10-10 08:50:59 | 显示全部楼层
怪不得我有的机子老是启动不了。受教!谢谢天意大大。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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