|
本帖最后由 rgy 于 2019-1-6 23:53 编辑
参考资料来源:https://www.usbdev.ru/articles/
https://www.usbdev.ru/articles/a_smi/smcdrom7iso/
https://www.usbdev.ru/articles/a_smi/smpartitiondebug/
结合起来看有助于理解。
这些方法我也是一边学习、一边测试、一边写的,有问题请指出,谢谢!
一、免量产划分出7个USB-CDROM光驱
0.如果担心会对优盘产生不可恢复的后果,可先备份ISP固件方便通过量产的方式来纠正错误
https://www.usbdev.ru/articles/a_smi/extract-smi-isp/
http://old.liangchanba.com/thread-33376-1-1.html
http://old.liangchanba.com/thread-33430-1-1.html
1.提前准备好一个慧荣主控U盘和你的ISO镜像文件
需要的软件:
①.量产工具(这个要根据自己的主控型号下载相应的量产工具,尽量下较新的版本,只要能识别U盘就行)
②.MySDKTest/SMITools或者UltraISO,三选一即可(用来写入ISO镜像文件)
我这里用一个16G的SM3257ENAA主控U盘来做示范,系统用的Windows 10 Enterprise 2016 LTSB 64位。
2.如果量产工具可以识别U盘,就照着下面图片步骤操作(最好是把改之前的数据截图保存,要是修改后有不良反应还可以改回来):
3.这里详细说一下图4中步骤6颜色框数据的填写:
蓝色框:磁盘分区个数 | 位置:00000179 ,其中的十六进制数据00 = 显示1个分区,01 =显示2个分区,02 = 显示3个分区,03 = 显示4个分区,04 = 显示5个分区,05 = 显示6个分区,06 = 显示7个分区;如果你后面填了7个分区的分区类型的数据,这里只填05,那么保存数据后就只显示6个分区,最后一个分区被隐藏了。
橙色框:磁盘分区模式 | 位置:0000017A ,其中的十六进制数据34=混合分区模式(如果要分多个USB-CDROM、多个USB-ZIP或者各种混合的分区都可以填34);3D=带加密隐藏分区功能的混合分区模式。
棕色框:磁盘分区类型 | 位置:0000017B-00000181 ,其中十六进制数据54 = USB-CDROM(图4共填了7个54,表示7个分区依次都设置为USB-CDROM光盘,其实填14也是USB-CDROM光盘),50=USB-ZIP(即移动磁盘,有些慧荣主控的型号似乎不支持把50填到第5个分区以后的位置),51=只读USB-ZIP,52=USB-HDD(即本地磁盘),53=只读USB-HDD,58=软盘,59=只读软盘;这里填了多少个分区类型下面的分区容量就要对应填多少个(第一个分区除外),不然会出错。
绿色框:磁盘分区容量 | 位置:000003E4 - 000003E6 - 第2个分区的容量;
000003E8 - 000003EA - 第3个分区的容量;
000003EC - 000003EE - 第4个分区的容量;
000003F0 - 000003F2 - 第5个分区的容量;
000003F4 - 000003F6 - 第6个分区的容量;
000003F8 - 000003FA - 第7个分区的容量。
其中的十六进制数据001800=768MB。
4.第1个分区的容量:
第1个分区的容量其实就是2到7个分区用剩下的容量,不用再单独设置了。例如,我的16G优盘实际容量约为15474MB,15474-768x6=10866,向下舍入到10864MB。因此,在第一个分区中,您可以上载最大为10864MB的磁盘映像(实际应该会大于这个值,这里保险起见少写老2M)。
5.十进制到十六进制的换算:
768MB(十进制)=300(十六进制) ,300(十六进制)X8(十六进制)=1800(十六进制)=001800(十六进制) ,或者这样写
768MB=300(HEX) ,300(HEX)*8(HEX)=1800(HEX)=001800(HEX)
3400MB=0D48(HEX),0D48(HEX)* 8(HEX)=6A40(HEX)=006A40(HEX)
5000MB=1388(HEX),1388(HEX)* 8(HEX)=9C40(HEX)=009C40(HEX)
6.在Windows用计算器换算的图片演示:
图4中绿色框的数据我都是填的001800,这只是为了方便演示。实际上这里要根据实际情况填写大小,只要磁盘预设的容量大于镜像文件大小就可以了。
7.总结: ①.优盘属性: 慧荣SM3257ENAA主控,16G大小,实际容量约为15474M。
②.数据填写: 06 34 54 54 54 54 54 54 54
001800 001800 001800 001800 001800 001800
③.分区结果:共划分成了7个驱动器,7个驱都为USB-CDROM光驱,容量由1-7依次为10864M、768M、768M、768M、768M、768M、768M,其中10864M的第一驱动器的启动兼容性最好,即Lun0兼容性最好,其它次之,所以启动盘尽量做到第一驱动器去。
(附)8.和银灿主控量产的多个USB-CDROM光驱的区别:
http://bbs.wuyou.net/forum.php?m ... &fromuid=536158
http://bbs.mydigit.cn/read.php?tid=529911(新鲜的疯狂玩法:银灿iS902E,一次做6个光驱(盘),然后切换)
http://bbs.mydigit.cn/read.php?tid=530300{银灿光驱花样折腾(前置、后置、中置、单驱单盘、单驱多盘) 兼容性改进}
(附)9.在AMI UEFI/BIOS下不能很好地识别多驱的一个解决办法
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=373397
其实在填CID数据的时候就可以把VID和PID改了,使VID不能为090C,PID不能为1000,我觉得最好都改下,不要是默认的。
修改位置如图:
我这里的数据没来得及改,还是默认的。
(附)10.如果量产工具不识盘,可以尝试安装工厂驱动
http://bbs.mydigit.cn/read.php?tid=117966
下面是我用到的软件:
MySDKTest_V1.0.rar
(169.44 KB, 下载次数: 851)
MySDKTest_V1.0 汉化.7z
(154.56 KB, 下载次数: 469)
(这里好像是先有这个汉化的,然后被国外的转去了)
SMITools 1.0.7z
(751.49 KB, 下载次数: 812)
来至无忧freehead88
(如果这两个软件都不能成功写入ISO,请看71楼用UltraISO写入的通用方法。)
sm32Xtest_V2.5.63_v1_Q1206.7z.001.7z
(2 MB, 下载次数: 1101)
sm32Xtest_V2.5.63_v1_Q1206.7z.002.7z
(1.22 MB, 下载次数: 519)
(后面这两个文件要放一起,去掉扩展名“.7z”才可以解压)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
二、免量产划分1个USB-ZIP+2个USB-CDROM光驱/多个USB-CDROM光驱
1.举个栗子,还是我的16G优盘,实际容量约为15474M,我想划2个USB-CDROM出来,一个容量1.5G,另一个容量2G,剩下的空间就让它做一个普通优盘用。
这里分两种情况:
①.USB-ZIP划在第一个分区的位置: 02 34 50 54 54 00 00 00 00
003000 004000 000000 000000 000000 000000
②.USB-ZIP不划在第一分区的位置: 02 34 54 54 50 00 00 00 00
004000 019390 000000 000000 000000 000000
或者
02 34 54 50 54 00 00 00 00
019390 004000 000000 000000 000000 000000
(15474-1.5*1024-2*1024=12914,12914MB=19390(HEX);凡是后面用不到的分区数据框都用零填充;其实还可以把两个USB-CDROM的容量数据对换一下多写出几种组合,但是这样意义不大,这里就不写了。)
2.第一种情况下分出的USB-ZIP在Windows上容量识别会不正确,且无法正常格式化,需要用到软件rufus来完成格式化,恢复正确容量,操作方法如下图:
(第二种情况下Windows是可以正常格式化的)
3.如果要划分出更多的USB-CDROM光驱,可以直接在分区类型数据框中接着之前数据顺序按需填写就可以了,比如我想在有2个USB-CDROM光驱的基础上再添加一个2G大的USB-CDROM光驱可以这样填写:
02 34 50 54 54 54 00 00 00
003000 004000 004000 000000 000000 000000
当然这只是众多填法的一种,这里的填写规律就像搭积木一样,随意组合就行,实践出真知!
4.启动兼容性方面,第一驱动器的启动兼容性同样最好。
5.总结:①.优盘属性:慧荣SM3257ENAA主控,16G大小,实际容量约为15474M。
②.数据填写:02 34 50 54 54 00 00 00 00
003000 004000 000000 000000 000000 000000
③.分区结果:共划分成了3个驱动器,1-3驱依次为USB-ZIP、USB-CDROM光驱、USB-CDROM光驱;容量由1-3依次为12914M(实际远小于这个值,我这里只有11877M,但是有方法让浪费的容量更低,需要的回帖询问,只是方法复杂点,这里有点懒得写)、1.5G、2G,其中11877M的第一驱动器的启动兼容性最好。
(附)6.在量产软件中隐藏有现成的多Lun划分功能,可以设置三个Lun
http://bbs.mydigit.cn/read.php?tid=2604783
用到的软件:
rufus-3.3p.exe
(1003.05 KB, 下载次数: 280)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
三、免量产划分1个USB-HDD+1个USB-CDROM光驱+1个软盘+1个USB-ZIP+1个加密隐藏盘(主要探讨加密隐藏盘的应用)
1.CID数据填写
03 3D 52 54 58 50 50
001000 002000 003000 004000 000000 000000(我这里是随意填的数据,只是演示)
2.设置密码和密码提示信息
3.个人发现的一些规则(可能不对):隐藏的总是最后一个盘;如果用uDiskToolBar来解密的话,隐藏盘解密后总是挂载到倒数第二个驱动器上,且倒数第二个驱动器原先不能为只读盘,不然挂载加密盘后会出错。
4.扩展阅读:加密隐藏盘的一些机理
http://bbs.mydigit.cn/read.php?tid=218182(对U盘保密区划分和热启成功的研究)
加密隐藏盘用到的软件:
uDiskToolBar_v10267.7z
(548.79 KB, 下载次数: 233)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
四、自己的用法:只划分1个只读USB-ZIP+1个USB-ZIP(主要探讨只读盘的应用)
这里主要说说怎样往只读盘里写入数据:
如果你填了51,划分出了1个只读的USB-ZIP,但是又不能往里面写数据,那又有什么用呢?
其实你可以先把51改为50,这样就可以写入资料了,等资料全部写完了再改回51就行了,资料是不会丢的。
当然,只读USB-HDD和只读软盘写入资料方法同理。
|
评分
-
查看全部评分
|