|
...............................................
(本贴内容,未经许可,请勿转贴、引用、盗用,谢谢合作!)
一、前言
部分同学的UT16X主控盘用了SwitchLun后,出现Win不能正常识别故障。 (注:1、已有恢复解决办法;2、已有正确使用SwitchLun、不出故障的办法)
对出现故障,本人深表同情和遗憾,但同时提醒大家保持冷静,不要因为 出现故障而被愤怒迷住了双眼、彻底否定SwitchLun出现的重要意义,我们 要用对待新生事物成长的眼光来看SwitchLun。
SwitchLun的重要意义并不在于能否解决UT16X主控的问题, 而在于它所透露的理念、思路,隐藏着通向USB boot的重要线索--Multi-lun! 抓住这个线索去扩展,就可以得到很多收获!
实际上,我在帖子http://bbs.mydigit.cn/read.php?tid=84265中推测SwitchLun的工作原理 (通过调整Lun0指向,从而设定逻辑第1设备为CD,改善UT16X主控量产CD物理位置在后 、BOOT表现不佳的问题)时,已经开始涉及到这一线索。只是关注、接续讨论的同学似乎 并不太多。
现在重开新帖,就是为了分项展开,化长篇为多个短篇,便于分别讨论。
二、关于Multi-lun
(一)基本背景
Lun应是SCSI总线中的概念,而USB继承、沿用了SCSI标准,所以出现Lun字眼很正常。 SCSI设备完整地址表示应为HA-ID-Lun,其中丰富内容远非一两句话能够说清,有兴趣 请自查SCSI和其他相关资料。我们只要知道:
U盘出厂状态大多是单一移动盘,其设备编号就简化成一个: Lun0。而现在DIY量产 (也有U盘厂商出的部分正规型号),U盘被分成2部分,也就是同学们所说的双分区, 有Lun0、Lun1两个设备。SK6211主控支持三分,可以有Lun0、Lun1、Lun2 三个设备。 需要指出的是,U盘保密区要视情形而定,它不一定是单独的分区,也不一定单独 占一个Lun。
(二) Multi-Lun与我们的关注焦点--BOOT--有密切关系。
Multi-Lun设备并非已经受到了完美支持。按照某些厂商的说法,USB支持有2个层次
1、标准USB支持:通过OS进行。 Multi-Lun设备在这个层次的支持问题还不太明显,因为常用的Win2000、XP等都支持, Linux高版本也支持,但有部分低版本不支持或者是scsi.o模块默认参数没打开,需要 手动调整。
与我们有关联的点不在以上所说,而是DOS下的支持问题,即广泛应用的USBASPI.SYS /USBCD.SYS,目前看来USBCD.SYS对Multi-Lun支持还不完善,这直接影响我们量产CD识别 成功率(当然也就影响一键GHOST之类的应用)。有关讨论详见本系列的第3帖--U启新探索 之三:USBCD.SYS的致命bug。
2、Legacy USB支持:通过BIOS进行。 Multi-Lun设备在这个层次的支持问题非常明显,很多老机器、半新不旧的机器都不支持 或支持得不够完美,只有新出的强BIOS才比较令人满意,这严重影响多区盘BOOT成功率。 有关讨论详见本系列的第2帖--U启新探索之二:BIOS USB BOOT支持强弱理论分析
|