无忧启动论坛

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

[分享] 发现一件很神奇的事:BIOS一个选项,CHS+ZIP变LBA+HDD!

[复制链接]
跳转到指定楼层
1#
发表于 2012-6-17 10:24:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
发现一件很神奇的事:BIOS一个选项,CHS+ZIP变LBA+HDD!
折腾电脑
发现有个选项
记不得叫什么名字了
好像叫USB Flash Disk Type
我的机器里有Auto、Floppy、HDD三个选项
试验了一下:
Auto就是U盘格什么是什么
Floppy强制认成USB-FDD
HDD强制认成USB-HDD
最神奇的是
ZIP+CHS通过这个选项强制认成HDD后竟然顺便把LBA也给捎上了!
截图我在外面不方便发待会补上

[ 本帖最后由 2011czmxbb52 于 2012-6-18 07:28 编辑 ]
2#
发表于 2012-6-17 15:14:23 | 只看该作者
是不是说 BIOS 从此不再以各种 CHS 手段来耍流氓了?


【中间插话,对大家说:抱歉,本人又用这样的视角来看问题。论坛上有大量对我持敌对态度的人,你们可以自由开骂,本人毫不介意。我惹你们不高兴,或者得罪了你们,这是我的过错,我应该遭到你们的痛贬。请随意。】【另外,之所以增加这句话,是因为论坛上骂人者太多。我既不希望他们蹦出来骂我,也不准备回复他们骂人的帖子。所以不得不用这样一句开场白来试图阻止那些无聊的人。事先告诉那些骂人者:我之所以不回复你们,是因为你们这些人本来就是敌对的,而且这种敌对关系很可能是因金钱收买而造成的,因而根本不可调和,也就根本无法回复。而且我注意到,往往在增加这样一个开场白之后,骂我的帖子的数量会骤减,今天再验证一下这是否已经成为一个规律。】


好消息啊!什么牌子的主板、型号?什么时候生产的?愿闻详情。

当支持 LBA 时,许多启动软件都畅通无阻了。也就不再需要 fbinst 这类特殊的技术了。
回复

使用道具 举报

3#
发表于 2012-6-17 16:14:57 | 只看该作者
在fdd/zip/hdd方面,
格u盘、设置bios,两者是独立的。即格为hdd,bios也可设为zip,两者一般并无必然联系。

只有少数机器,必须某种组合才能启动,例如格为hdd,bios设为zip才能启动,那是不得已。

格为zip,只是“引诱”被认作zip,不见得最终是zip。
为提高速度,两者都尽量弄成hdd。即使格为zip,bios也尽量设置为hdd。
回复

使用道具 举报

4#
发表于 2012-6-17 17:10:06 | 只看该作者
说得非常有道理。。学习中。。
回复

使用道具 举报

5#
发表于 2012-6-17 18:24:09 | 只看该作者
没猜错的话,应是AMI BIOS。

在redbee的帖子http://bbs.wuyou.net/forum.php?mod=viewthread&tid=205532
第35#有图片。
--------------------------------------------------------------
这跟“BIOS 从此不再以各种 CHS 手段来耍流氓了”没关系,
主要牵扯一个问题:

U盘是设成固定盘设备(盘号80h,DOS C:),还是设成移动盘设备
(盘号00h,DOS A:),
BIOS该如何判定计算。
------------------------------------------------------------------
LZ把U盘设成Force HDD(也就是BIOS你也别算了,强制指定盘号80h,给我按硬盘
处理),后续的流程,BIOS当然要以LBA方式处理。
------------------------------------------------------------------
Auto不是LZ说的U盘格什么是什么,AMI BIOS主要看2个前提条件:
1、容量是否>530MB
2、U盘移动介质位/固定介质位属性

根据这2个条件确定U盘该被识别成何种设备。
------------------------------------------------------------------------
所谓的格式化成FDD/HDD/ZIP,有点扯淡。

前面说了“U盘是设成固定盘设备,还是移动盘设备,BIOS该如何判定计算”。
一般情况下,U盘格式化成什么格式(比如MBR的情况),并不是BIOS关注的“第一”
重要因素。

BIOS关注的“第一”重要因素是什么呢? 是:容量(总扇区数)。
AMI BIOS,Phoenix BIOS都是如此。

其他重要因素有:
1、移动介质位/固定介质位的情况(可以通过量产工具修改),
2、U盘是否支持ZIP专用命令,返回码情况。

这些内容都是要通过USB命令,从U盘固件那获取。而不是读MBR之类的方式获取。
-------------------------------------------------------------------------
当然,有些版本的BIOS本身提供特殊选项:强制不考虑上面说的“第一”重要因素。
像AMI的force FDD,force HDD。这属于“非常规”的情形了。


[ 本帖最后由 wuwuzz 于 2012-6-17 18:29 编辑 ]
回复

使用道具 举报

6#
 楼主| 发表于 2012-6-18 07:25:55 | 只看该作者
原帖由 不点 于 2012-6-17 15:14 发表
是不是说 BIOS 从此不再以各种 CHS 手段来耍流氓了?


【中间插话,对大家说:抱歉,本人又用这样的视角来看问题。论坛上有大量对我持敌对态度的人,你们可以自由开骂,本人毫不介意。我惹你们不高兴,或者 ...

对不起
是我家2003年的老机
但难能可贵已经支持U起LBA
杂牌主板
2003年的货
Award的BIOS
回复

使用道具 举报

7#
发表于 2012-6-18 18:29:07 | 只看该作者

回复 #6 2011czmxbb52 的帖子

依旧可以用我的视角来解释:grub4dos 出现之前,没有针对 grub4dos 的恶意攻击行为。

顺便再多说几句关于哲学的废话。同一种现象,可以有多种解释,正如霍金在《大设计》一书中提到的模型,每一种模型,便是对世界的一种解释。而模型不止一种。每个人都有自己的模型。很难说,这个人的模型是 “正确” 的,另外一个人的模型是 “错误” 的。因为很难找到有说服力的 “证明”。曾经有哲学家说过,一个理论只能被证伪,不能被证明。

不同的视角,得到的结论是不同的。谁也说服不了谁。
回复

使用道具 举报

8#
发表于 2012-6-19 07:10:08 | 只看该作者
原帖由 2011czmxbb52 于 2012-6-18 07:25 发表
对不起
是我家2003年的老机
但难能可贵已经支持U起LBA
杂牌主板
2003年的货
Award的BIOS


U盘或其他USB存储设备,内部只使用LBA,不使用CHS。
CHS,CHS与LBA的转换,是BIOS才喜欢摆弄的玩意。
----------------------------------------------------
Award BIOS对U盘也出了AUTO/force hdd/
force fdd选项?有点少见。

lz能否提供:每个选项下,bios的帮助说明信息是
什么?上图不行,e文描述也行啊。这很重要。
说不定有bios判定标准的线索。
回复

使用道具 举报

9#
发表于 2012-6-19 10:49:36 | 只看该作者
菜鸟路过
看不明白
谢谢楼主分享
回复

使用道具 举报

10#
 楼主| 发表于 2012-6-19 11:46:46 | 只看该作者
原帖由 wuwuzz 于 2012-6-19 07:10 发表


U盘或其他USB存储设备,内部只使用LBA,不使用CHS。
CHS,CHS与LBA的转换,是BIOS才喜欢摆弄的玩意。
----------------------------------------------------
Award BIOS对U盘也出了AUTO/force hdd/
force ...

我下午到家给你
顺便把BIOS程序传给你
回复

使用道具 举报

11#
发表于 2012-6-20 18:45:28 | 只看该作者

回复 #5 wuwuzz 的帖子

小弟做BIOS(AMI BIOS)的,最近刚好一个bug 与U盘识别有关,在BIOS setup界面U盘被识别成Floppy了,我发先一个问题,当你用工具把U盘格式化成FDD的时候,U盘就会被识别成floppy,格式化成HDD的时候,U盘不会被识别成floppy。后来我又发现一个问题,把U盘格式化成HDD,同时把MBR的偏移0x1BE改成不是0x80和0x00这两个值以外的任何一个值,BIOS都会把U盘识别成floopy,你说的那个小于530M是第一个判断条件,我看BIOS代码里面会去读MBR,检查分区表是否有效。无效的分区表会被认为是floppy。
回复

使用道具 举报

12#
 楼主| 发表于 2012-6-20 18:59:01 | 只看该作者
原帖由 wuwuzz 于 2012-6-19 07:10 发表


U盘或其他USB存储设备,内部只使用LBA,不使用CHS。
CHS,CHS与LBA的转换,是BIOS才喜欢摆弄的玩意。
----------------------------------------------------
Award BIOS对U盘也出了AUTO/force hdd/
force ...


上图:




BIOS二进制程序:
awdbios.rar (204.77 KB, 下载次数: 16)
回复

使用道具 举报

13#
发表于 2012-6-21 09:34:37 | 只看该作者
原帖由 2011czmxbb52 于 2012-6-20 18:59 发表
上图:


晕。Award BIOS这个版本的帮助信息编写者可以去死了。
MS式的回答--绝对正确、绝对无用。没提供有价值的
参考信息,看不出auto/fdd/hdd区分标准到底是个啥。
回复

使用道具 举报

14#
发表于 2012-6-21 09:40:57 | 只看该作者
原帖由 yyj4968 于 2012-6-20 18:45 发表
小弟做BIOS(AMI BIOS)的,最近刚好一个bug 与U盘识别有关,在BIOS setup界面U盘被识别成Floppy了,我发先一个问题,当你用工具把U盘格式化成FDD的时候,U盘就会被识别成floppy,格式化成HDD的时候,U盘不会被识别 ...



谈一下我个人的看法(以学习版AMI BIOS源码为例)。

第1个问题,在AMI BIOS文档里提到了:
Please note that the device's formatted type and the emulation type
provided by BIOS must match for a device to boot properly.
If both types do not match then device's behavior is undefined.


第2个问题,USBMassIdentifyDeviceType里确实包含了子程序
USBMassGetFormatType(MBR/分区表合法性判定)。

但是,要考虑到:
一、RMB移动介质位、容量判定是后来patch上去的,优先级高;
而MBR/分区表合法性判断是最初的老思想、老代码,改动幅度较大。

二、MBR/分区表合法性判断代码体现的思想,在实践中,到底还有多大
实用价值(适用范围)?

一般在做USB启动盘时,用户千方百计保证MBR/分区表的合法性还来不及,
谁会无聊到去故意破坏bootflag标志、故意破坏分区表让其无效?

退一步说,就算有用户想故意用这些特性来让BIOS将U盘识别为floppy,但脱离
了AMI BIOS环境,这个招数就无效了---在Phoenix BIOS环境中,判定算法根本
就不是这样。
----------------------------------------------------------------------
我的看法,U盘该设成什么,BIOS内置规则auto判定就可以了(顶多详细说明,
我的floppy/hdd区分依据是什么,用户想要floppy或hdd,按我的区分依据做)。

setup中提供floppy/force floppy/hdd选项只会让问题复杂化。例如,force fdd
选项,AMI BIOS自己也承认,may not boot with non-AMI BIOS,这样的选项
副作用太大。

我查了一下,身边实际在用的AMI BIOS、Phoenix BIOS版本,setup中均取消了
这样的选项,只有auto判定了。
--------------------------------------------------------------------

老兄既然是BIOS的开发者,欢迎多到时空Grub4Dos区、无忧USB启动区,进行
权威性科普,以纠正一些根深蒂固的成见。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-14 18:42

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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