|
|
发表于 2012-2-14 08:03:07
|
显示全部楼层
OK! 基本上可以下结论了。
情况是这样:
主板/PC厂商从AMI那里拿到BIOS源码后,可以根据自己产品的需要对模块选项进行调整,
重新编译,生成定制版BIOS。(如果不对选项进行调整,则编译时按默认选项值进行)。
AMI BIOS源码中对USB存储设备FD/HD的判定,一般(默认)情况下,是以扇区数界限
(530MB)为主,以MBR/PBR的合法性为辅,综合进行。
但是,如果激活了“检查移动介质位(RMB)”编译选项,则判定规则就发生了极大变化。
扇区数界限、MBR合法性均退居为次要因素,RMB的情况为最优先因素。
在这种情况下,只要是移动(介质)盘,无论扇区数(容量)是多大,均先行设为FD。
反之,如果是固定(介质)盘,则先行设为HD。很巧,LZ所用版本的AMI BIOS就是这样。
这就是秘密。
----------------------------------------------------------
附:BIOS中相关汇编源码片段摘录
...
USB0042 - USB storage devices classfication depend on RMB bit.
; Set "USB_STORAGE_DEVICE_RMB_CHECK" this token On to enable this
; function. RMB will be used to distinguish hardisk.
....
IF MKF_USB_STORAGE_DEVICE_RMB_CHECK
test BYTE ... ;Check RMB status
jnz deviceRemovable
mov wForceEmulationType, (USB_EMU_HDD_ONLY SHL 8) + USB_MASS_DEV_HDD
... |
|