wuwuzz 发表于 2009-3-4 19:54:47

U启新探索之二:BIOS USB BOOT支持强弱理论分析

...............................

(本贴内容,未经许可,请勿转贴、引用、盗用,谢谢合作!)

我以前曾表达过如下观点:弱BIOS只能识别U盘第1区(更弱的BIOS连第1区是CD也不支持,
只支持1区HDD或ZIP),强BIOS则无论量产出的CD位置在前在后,都能有效支持。

不过,这些观点只是经验总结,如果不能从理论上证明,则不具有广泛指导意义。
本帖的目的就是要从理论上进行分析,限于水平,并不能完全有效地证明观点,但从
推导过程中能得到有价值的信息,也很不错哈~~


一、黄金位置--U盘1区(Lun0)

打仗要抢占“有利地形”,U启也要找个好位置。众所周知,象MBR、硬盘1区(C盘)
这些位置对BOOT都是比较特殊的,历史的延续使之获得成熟支持,甚至BIOS中都可能
有driver number之类的硬编码。要想从其他位置上BOOT,就要大费周折了。

(一)通过查阅SCSI卡存储设备厂商的有关资料,可以发现,SCSI设备也有类似黄金位置:
ID 0--Lun 0(参考以下厂商文档截图)。这个位置,据我所知,没有标准白皮书来硬性规定,
就是厂商们都那样干,时间长了,也就约定俗成,成了实际标准。对U盘而言,没有那样
多位置,就简化成Lun 0(第1区)。







(二)在BIOS BOOT标准(内容很专业,我看不懂,只能猜个大概)中,有个
附录E--PCI with Multiple PnP Headers (Optional)比较重要。讲的是BIOS如何设计,
通过链表来支持Multi-Lun。我们量产多分区盘在BOOT最初阶段的支持就指望这个附录了!

可以看出,附录E是Optional,不是必须实现,所以可以推测:
强BIOS之所以强,应该是严格实现了附录E,而弱BIOS则没有实现或实现得不够完美。

但不管BIOS怎么弱、对附录E实现程度如何差,大不了不支持Multi-Lun,最起码的
Single-Lun(也就等于是Lun 0了)应该是必须支持的。

由此看来,把最有希望的好东西放在Lun 0比较保险~


二、格式选择--实现bootable CD-ROM要比FDD/HDD麻烦

(一)软/硬盘启动出现最早,也最成熟。

(二)在bootable CD-ROM格式标准中,第1句话就挑明了,这种格式是package several images
of floppy and hard disks,即仿真软/硬盘。而在CD-ROM configuration示意中,更是
列出Single boot-image/Multi Boot-image两种bootable-CD配置。由此可见,bootable CD
要更麻烦些,换句话说,出问题的可能性就更大些。

(三)在BIOS BOOT标准的附录A:Data Structures--IPL Table and BCV Table Entry Data Structure中,规定了设备类型。deviceType项取值如下:01h软盘、02h硬盘、03h光盘,05h是USB device。

我猜,出于实现难度考虑,老BIOS的USB device启动应该是倾向于USB HDD/FDD的概率大,而USB CD概率小,这也就解释了为什么有时候CD已经放在Lun0位置上了,还是BOOT成功率低。


(四)其他注释

1、ZIP格式,更象是FD/HD的混合体,限制条件也少不到哪里去,在BIOS BOOT标准中也没见这种类型设备的说明。由此看来,应用范围比较狭窄。

2、《USB mass storage for bootability标准》从字面上看应是最靠近USB BOOT启动的,但翻开看看,似乎与我们的想象有差距。其内容非常专业,我看不懂。但我能感觉到,它更象是为了BOOT而对UFI命令集作的“补充”说明,BOOT方面还是沿用以上提到的老标准,并没有另搞一套。

综上,选择USB-HDD比较保险~




[ 本帖最后由 wuwuzz 于 2009-3-6 07:36 编辑 ]

xtay004 发表于 2009-3-4 20:56:52

受教了,谢谢楼主的分享,分析的和现实差不多~!我目前的感觉还是usb-hdd启动成功的概率比较大!

guoqqqqqq 发表于 2009-3-5 08:31:03

这篇文章不错,够专业。

wuwuzz 发表于 2009-3-5 10:45:57


关于黄金位置Lun0,补充一些厂商的文档截图,(已调整到1楼)


[ 本帖最后由 wuwuzz 于 2009-3-6 07:37 编辑 ]

lianjiang 发表于 2009-3-5 10:49:40

看不懂也要支持。

强顶。

wuwuzz 发表于 2009-3-5 10:57:03

原帖由 lianjiang 于 2009-3-5 10:49 发表 http://bbs.wuyou.net/images/common/back.gif
看不懂也要支持。

强顶。


非常惭愧啊!

偶是现炒现卖,见笑了。偶还是老大的学生哩~

HuAnGkUn 发表于 2009-3-5 15:02:21

看得懂更要支持。
当然,如果偶看得懂那是不可能的。

kzr588 发表于 2009-3-5 15:10:16

原帖由 lianjiang 于 2009-3-5 10:49 发表 http://bbs.wuyou.net/images/common/back.gif
看不懂也要支持。

强顶。

套用老大的话来支持

limonet 发表于 2009-3-5 17:54:52

非常感谢,更加深了理解。

antai 发表于 2009-3-5 18:52:38

看来还是要从usb启动学起

dkfbzm 发表于 2009-7-21 15:18:44

认真思考楼主的思想方法,谢谢分享。

leonliao78 发表于 2009-8-11 07:15:33

不懂理论,感觉实际上USB-HDD的确比另外两种启动兼容性好点。

秋梦无痕 发表于 2009-8-11 08:40:38

从理论上解释了USB-HDD比其它方式更容易启动的原因
以前看过本论坛一位大大(记不清谁了)分析过的U盘启动兼容的文章
里边分析过如果是<128的就以ZIP启动
>128 而则以模拟硬盘的方式启动
个人感觉也蛮准的

yafhguo 发表于 2011-3-30 09:10:18

这个的确是太深奥,小白还是从头学起吧,记号待用

gongjc 发表于 2011-3-30 09:25:01

楼主从理论上解释了,USB-HD最好的选择。
因此,终结USB启动的是BOOTMGR,也就是使用VISTA以上,或者PE2.0以上的DISKPART直接处理就是最好的USB启动方式了。

wxb 发表于 2011-3-30 10:22:56

我也认为USB-HDD是启动成功率最高的

但是这种USB-HDD不是diskpart处理出来那种,只能是量产成本地磁盘那种。两者就像优盘显示可移动磁盘而移动硬盘显示本地磁盘这种差别

只要是本地磁盘格式,用什么方式都可以很容易的启动,就像硬盘启动一样容易

另楼主帖子中的一区应该改为一驱更准确

2011深蓝长城 发表于 2014-2-3 18:37:26

这 贴才算是 精华呢

411223113 发表于 2015-10-13 14:44:56

谢谢分享      

poison8866999 发表于 2020-3-13 18:39:34

感謝大大無私的分享,讓我學到很多,受益良多!

2012wjia 发表于 2021-2-21 18:28:03

页: [1]
查看完整版本: U启新探索之二:BIOS USB BOOT支持强弱理论分析