加载中…
个人资料
kevin
kevin
  • 博客等级:
  • 博客积分:0
  • 博客访问:1,908
  • 关注人气:0
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

小U盘,大世界 — U盘的另类使用

(2011-05-10 15:18:41)
标签:

杂谈

分类: 技术专辑

    曾几何时,U盘作为一种非常方便的数据存储设备非常迅猛的流行起来,时至今日,仍在广泛使用,但多数情况下对U盘的使用仍然停留在普通的数据存储与交换这个使用层级上。事实上,随着U盘技术的发展,U盘的使用早已突破了数据存储与交换这个级别,本文中笔者将介绍一些U盘的另类使用,充分挖掘一下U盘的潜能。

在笔者开始介绍U盘的另类使用之前,先大概阐述一下U盘的硬件组成,在了解了硬件组成的基础上,将对U盘的另类使用将会有更好的理解。

    U盘的主要组成可分为两大部分,一为主控芯片,一为存储芯片,其他晶振、USB接口以及辅助电路等跟本文无关,在此掠过不予介绍。主控芯片顾名思义,就是U盘的主要控制芯片,其决定了你的U盘是一个什么设备。目前,U盘主控芯片厂商很多,应用最为普遍的有群联Phison、慧荣SMI、芯邦Chipsbank、安国Alcor等。存储芯片就是用来存储数据,其品牌主要有三星Samsung、现代Hynix、晟碟SANDISK、镁光Micron等。

    此时,也许有些读者此时会说不就是一U盘吗?能有什么惊天动地的用途?!其实不然,U盘的用途当然不仅仅局限于数据的存储与交换,而这也就是笔者所要介绍的。简单举例而言,哪怕就算是一U盘也会区分这是一个模拟的HDD(hard disk drive)设备呢还是一个移动设备(removable device),兴许它根本就不是以上两种设备的任一种,而是一个光驱!是的,您没有看错,笔者将介绍的就是U盘通过一定的技术手段模拟成多种设备如光驱、移动存储设备合一的一种使用方法。到此时,部分读者也许会说,这很简单啊,量产U盘就搞定了,这个还需要介绍?!是的,使用U盘量产工具就可以将普通U盘模拟成光驱使用,这个操作也许对部分读者特别简单,但笔者仍然恳请各位读者耐心的读下去,也许有些使用方法将会对您很有启发,比如您一定碰到了U盘在dos下使用时识别不到光驱以外移动分区的情况,也许您为加载dos下的USB设备驱动而发愁过,本文将结合笔者的切身使用经验逐步介绍这些使用方法,相信会给各位读者一定的启发,更重要的是将笔者的使用经验介绍给各位,避免各位在这种使用方法上走弯路,费时费力探索。

    上面的介绍中说到了量产的概念,可能部分读者并不明白,此部分将用很小的篇幅简要介绍一下U盘量产。量产,顾名思义就是大批量生产,就是指U盘厂商按照U盘产品的规格使用量产软件工具进行的大批量生产。比如将U盘做成加密型U盘或做成模拟的光驱或单一的普通存储U盘再或者是加密与普通存储结合甚至是加密、普通存储及光驱多结合的产品(注:我们称这种多种规格合一的U盘为多槽U盘,下同),笔者将以SMI主控方案的U盘量产为例,简要介绍SMI方案的量产。

注:本文使用的量产工具为SMI的V2.03.31版,不同版本的量产工具软件使用方法有所不同,支持的主控芯片也有所不同,请读者自行网上查询并下载。

    量产工具软件是我们将要使用到的最重要的工具,但使用前必须确认您的量产工具支持您的U盘,也就是说您的量产工具可以操作您的U盘主控,否则千万不要尝试量产。万幸的是,如果量产工具如果彻底不支持您的主控,也不允许您进行量产操作。检查是否支持的方法也不复杂,以笔者使用的版本为例,打开量产工具文件夹,可以看到在量产工具文件夹下有很多“UFD_数字”的文件夹,请参考下图1。

小U盘,大世界 <wbr>— <wbr>U盘的另类使用
    这些文件夹即代表着此版本的量产工具可以支持的主控芯片类型,如果清晰的知道您的U盘主控芯片,通过此即可知晓您的量产工具是否支持您的U盘。笔者的U盘为3255AB,在支持的范围内。如不知晓U盘主控芯片,可通过量产工具查看,查看U盘主控芯片的方法很简单,就是启动量产工具然后点击scan usb按钮即可。当然,这种方法是已知量产芯片为SMI的情况下,如不确定量产芯片,请使用ChipGenius工具查看,这里不再赘述。

如下图2所示:

小U盘,大世界 <wbr>— <wbr>U盘的另类使用
         量产U盘的方法很简单,就是设定好U盘规格后点击Start按钮即可。在此,笔者将以量产公共分区+加密分区+USB模拟光驱格式为例介绍U盘的量产及使用。

         名词解释:

         公共分区:类似普通U盘,在系统下将看到一个移动存储设备或本地磁盘。

         加密分区:类似普通U盘,但需要使用U盘登录程序并键入正确密码后才能访问。

USB CDROM:系统识别为光驱设备,通过相应的工具,如登录程序可以写入ISO镜像文件,但在系统下为非可写设备。

1、  设置U盘规格,设置的方法简要介绍如下

注意:主要介绍Main Flow Setting及Multi-lun setting,其他页面及未提及的设置项目请保持默认。

Main Flow Setting设置如下图3所示:

小U盘,大世界 <wbr>— <wbr>U盘的另类使用
1、  设置PID及VID,各位四位字符;

2、  设置Vendor Str、Product Str、序列号等;

3、  设置Disk Type,可以设置为USB-ZIP或USB-HDD;

4、  勾选需要写入的CDISO镜像;

其他设置请参考笔者的设置即可。

Multi-lun setting设置如下图4所示:

小U盘,大世界 <wbr>— <wbr>U盘的另类使用
1、  选中Mode A,根据您的需要定义公共分区(Public Size)大小,笔者定义为1024MB;

2、  配置相应的disklabel,即XXX部分。Public部分为公共分区磁盘卷标,Security部分为加密分区磁盘卷标;

3、  如您确认您的ISO镜像大小,可以使用静态光驱容量,但要注意,静态光驱容量必须大于实际镜像容量。如您选中Static CDROM Size后可见如2048,则此时光驱固定容量大小为1G;

完成以上两项基本设置后,点击OK回到量产主界面点击Start按钮即可开始量产。

注意:如您的U盘已经是多槽设备,量产工具会识别到这种多槽设备并显示。如果要对该设备重新量产,建议先进入debug中的进行Erase ALL操作后再重新量产。

 

    以上笔者简要介绍了U盘的量产,更为详细的量产教程请读者自行上网查询。下面笔者将以公共分区+加密分区+USB模拟光驱这种多槽“U盘”为例介绍U盘的使用。此种使用方式是最齐全的使用方式,覆盖率了绝大部分的使用情况,我们暂且称这种U盘为Mode A型U盘,可由Mode A型U盘的使用触类旁通,彻底掌握U盘的使用。

Mode A型U盘有一种特点,在windows操作系统下显示为两个设备,一个为Removable device即公共分区,另外一个为USB CDROM,加密分区并不显示,如果使用U盘登录程序并输入正确的密码后将显示USB CDROM和加密分区,通过以上特性,我们可以合理安排预载在U盘上的应用软件,达到充分发挥U盘作用的目的,下面将分成三个方面分别在不同的操作系统下来讲述各分区的使用;

一、公共分区的使用

1、分区容量及文件格式设定

    公共分区在Windows操作系统下可见,因此在Windows操作系统下可以作为普通的存储U盘进行使用,可以利用其进行数据存储及不同计算机间的数据交换。值得注意的是,考虑到在DOS系统下也会用到,但由于DOS系统并不识别NTFS分区,虽然有很多软件可以在DOS下访问NTFS分区,如NTFS4DOS,如果采用NTFS分区,则无疑是增加了使用的困难性,而WinPE及Windows系统可以访问FAT及NTFS分区,因此,将公共分区设定为FAT格式将可以兼容三种系统,这样的设定比较合理。当然,使用FAT16或FAT32都可以,只是需要注意的是对于FAT16分区而言仅能管理不大于2G的空间,设定时如果要使用FAT16需要注意容量不要超过2G。

2、  DOS下访问公共分区

    在介绍本节前有必要先了解一下BIOS对于USB的识别过程,这样有助于在DOS下正确的去使用公共分区。机器启动时会探测USB设备,如果探测到某一USB接口上有设备,则根据设备类型分配资源并提供相应支持。这是普遍的做法,但不幸的是,某些机器并不能良好支持这种多槽的USB设备,这些机器在启动时BIOS虽然可以正确的识别USB设备,但是并不询问这个USB设备是否多槽设备,它仅对多槽设备的第一设备提供支持,这就是造成目前部分机器在DOS下无法访问公共分区的原因。解决这个问题的方法有两种,一是修改BIOS以适应这种多槽设备,不幸的是我们无法做到,计算机厂商也未必会去做。二是我们通过加载DOS下USB设备驱动的方式去弥补这一缺陷,这是可以做到的。笔者经过大量的实验,终于探索出了一种在DOS下自动判别USB接口类型并自动判断是否需要加载DOS下驱动程序的方法,使用此方法可以驱动所有不支持多槽设备的机器以支持DOS下访问公共分区。这种方法将使用autoexec执行机制,在autoexec.bat中加入适当指令来完成。

    实现自动加载驱动的原理是首先在计算机从U盘启动后,自动查询公共分区是否存在,如果存在,则证明该机器可以支持公共分区,无需加载驱动,如不存在则证明该机器不支持公共分区,需要加载驱动,但在加载驱动前先判断USB类型,判明其是UHCI还是OHCI还是EHCI,判别清楚后加载对应的驱动,然后重新查询是否存在公共分区,如存在则证明加载成功,否则抛出异常,说明驱动不支持。幸运的是,截至目前笔者发现除了Intel最新的平台外57系列及以后的芯片组外,都可以支持。笔者采用的查询公共分区是否存在的方法是在公共分区预置了一个名为Upan.sig的文件,通过遍历查询是否存在这个文件的方法实现的。以下为部分用到的bat代码及程序。

 

查询公共分区是否存在的bat代码:

for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%i:\Upan.sig set upan=%%i

(注释:在所有可能的磁盘下查询是否有预置在公共分区上的Upan.sig文件,如找到则在upan变量中存储盘符名。)

for %%j in (c d e f g h i j k l m n o p q r s t u v w x y z) do if %upan%==%%j goto findU

:findU

………

(注释:确认得到的盘符变量确实是盘符,如是则跳转到找到U盘,继续下一步)

                  

判断USB类型bat代码

usbinfo

if errorlevel 2 goto DOSOHCI

if errorlevel 1 goto DOSUEHCI

USBinfo为dos下判别USB设备类型的程序,如果返回值为1则为UHCI,如果返回值为2,则为OHCI。EHCI为USB2.0标准,UHCI及OHCI为USB1.1标准。

 

加载USB驱动的代码

:DOSUEHCI

devload ramfd.sys

devload usbaspi.sys /e /v /nocbc /norst

devload aspidisk.sys /d /nospin

 

:DOSOHCI

devload ramfd.sys

devload usbaspi.sys /o /v /nocbc /norst

devload aspidisk.sys /d /nospin

DOS下的驱动程序采用了松下的DOS下的USB设备驱动程序USBASPI.SYS,最新的版本号为2.27,同时配合加载ramfd.sys用于解决加载USBASPI后丢失A驱情况,加载aspidisk.sys用于给找到的USB存储设备分配盘符,驱动都采用devload.exe进行加载。DOSUEHCI为适合于UHCI和EHCI的驱动,DOSOHCI为适合OHCI的驱动。

使用这种方法加载的驱动程序兼容性非常好,除Intel最新57系列以上芯片组平台外,笔者还没有发现有不兼容情况出现。

 

二、加密分区的使用

    加密分区在Windows系统下需要使用登录程序并键入正确的密码才能正常访问,需要注意的是前面已经提到,加密分区在不登录的情况下并不显示,利用这种特性,我们可以将需要保密的文件置于加密分区,从而达到保密的目的。

1、  分区容量及文件格式设定

    加密分区在dos下不可访问,仅在Windows系统下使用,因此文件格式可使用fat格式,也可使用ntfs格式,因此,文件格式及容量可以根据实际情况择优选择。

2、  登录程序

    在Windows下使用加密分区必然需要使用到登录程序,因此登录程序将无法置于加密分区,公共分区和USB CDROM当然都可以放置登录程序,但是由于公共分区随时可访问,考虑到病毒的威胁及CDROM的不可写性,将登录程序置于USB CDROM为首要选择。登录程序可以SMI的memorybar或者uDiskToolBar程序,请读者自行查询下载。

3、  应用程序管理及使用

    可以考虑使用口袋操作系统管理并增强U盘应用,例如以色列出品的著名的口袋操作系统Ceedo。笔者的建议是将Ceedo安装于加密分区,将绿色软件或应用程序软件通过Ceedo安装管理,U盘将变成一个移动的口袋操作系统,极大的方便使用。设想,您出差时仅需带一个U盘,在别人的计算机上很快就可以访问到自己的操作环境,将是一件多么惬意的事啊!

三、USB CDROM的使用

    现在绝大部分机器都支持使用USB CDROM启动,因此将USB CDROM做为一个启动设备使用将更进一步的加强这种多槽USB设备的功能。USB CDROM的ISO镜像在量产时写入,也可使用登录程序单独替换。这将大大方便我们对U盘功能的调整。如需要安装操作系统时,可以将安装光盘写入U盘,使用U盘进行安装,安装速度将得到很大的提升,因为USB设备的读取速度要明显大于光驱。当然还可以根据自己的需要自行制作启动光盘镜像,将PE、DOS甚至是系统安装盘等启动镜像使用EZBOOT制作启动菜单全部集成到启动镜像中,甚至可以集成多个PE系统(笔者建议如果要集成多个PE系统,建议使用Grub4DOS配合EZBoot方式使用Grub直接调用PE ISO镜像的方式进行,以避免调用相同WIM的情况出现,读者可自行查询,此部分内容不属于本文范畴,不再赘述),根据自己的需要,灵活的制作启动镜像内容,可以毫不夸张的说,利用此特性,只要您想的到,就可以制作出非常强大的多功能U盘。同时,也可以将重要的常用的应用程序直接量产在USB CDROM中,利用CDROM的不可写性,达到永不被破坏的目的,增强您的U盘的“体格”。

注意:启动设备也可以使用公共分区,但无论是在量产中选择了USB-ZIP模式还是USB-HDD模式,都不能保证兼容性,不是每个机器都能支持启动,但USB CDROM的启动兼容性最好,笔者推荐使用。

 

最后,提示一下,别忘了在使用EZBOOT制作镜像时将U盘登录程序植入镜像中,否则,没有了登录程序的支持,将无法访问加密分区。

 

综合以上,笔者已经介绍完成了多槽USB设备的另类使用方法及技巧,但需要提出的是笔者水平有限,可能存在一些纰漏,欢迎各位读者批评指正。

0

阅读 评论 收藏 禁止转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有