|
原帖由 不才 于 2013-3-19 17:46 发表
嘿嘿,偶不是什么大师!不过是对于您提出的问题还是很愿意讨论一下滴。
在format命令中使用 --chs 参数,可以强制使用chs模式。设置该参数的目的主要是针对那些不能自动检测模式的bios。偶木有看出8G以上的 ...
转过来的:
15楼的问题非常好,也很复杂,很多人,包括高手,都没认清本质,栽在上面。我尽量用大家能看懂的语句来描述。这倒不是我的水平比高手高,而是兴趣、资料占有方面的原因。我看过流出的bios源码,知道本质症结在哪。
..................................................................
本质在于,usb-disk启动,如果解决了u盘的chs问题,你不用这个+,那个+,也能保证u启兼容性成功率(我就是这样做的,只用最简单、最原始、但也最标准的dos启动盘)。反之,没解决u盘chs问题,你用这个+,那个+,也只能是隔靴挠痒,还徒增麻烦。
...............................................................
这个u盘chs到底是个啥玩意?u盘是没有物理chs-柱面/磁头/扇区的,但是,由于历史包袱,bios磁盘服务(不管是usb还是ide还是sata)需要chs。不管你的引导软件用不用chs,bios雷打不动,始终都要为u盘捏造(计算)一个适合bios自己的chs。
即使容量超过8G,比如16g,32g的盘,已经突破chs能处理的极限,需要换用lba才能正确处理,bios照样会给它们捏造个chs——只不过它们都是相同的值,也是chs的极限——1024*255*63。
............................................
问题在于,同一个u盘,
1、在不同bios下,捏造的过程、结果不确定,很可能不是同一个值。比如4g的盘,A厂BIOS为它捏造的CHS是520*255*63,而B厂的BIOS可能是1040*255*32,这就意味着,你在A厂BIOS下制作的启动盘,拿到B厂BIOS下去用,很可能失败,因为引导所需的文件地址变了!
2.更严重的情况,BIOS捏造CHS时出现错误,直接死机。
.......................................
那么,如何对付U盘CHS问题?
捏造CHS依赖2个因素:BIOS捏造算法和U盘固件提供的CHS信息。如果我能优化U盘固件CHS信息,迫使不同BIOS只可能捏造一个相同的HS值(HS钉死了,C=容量/HS也就钉死了),那么,我就一举从根本上解决了问题!
...............................................
目前,只有SMI USB2.0主控盘有重新调整优化固件CHS功能,其他主控盘量产工具都没提供这个功能。SMI USB3.0主控也丢失了这个功能。所以,选用SMI USB2.0主控、8G盘就成为必然。
8G,一是为了迁就BIOS CHS极限,二是为了CHS乘积与LBA值保持一致,三是为了钉死HS。
.........................
经过这样处理后,我的U盘,用最简单、最标准的DOS启动就能保持高成功率。当然,U盘这样处理后,你坚持要用这个+,那个+,fbinst...也行,只不过已经是画蛇添足,没有必要。
因为不懂,所以弄了个8G的慧荣2.0主控来玩。 |
|