无忧启动论坛

标题: [20190106]慧荣主控”免量产“自由划分多个驱动器(最多7个) [打印本页]

作者: rgy    时间: 2018-10-17 20:52
标题: [20190106]慧荣主控”免量产“自由划分多个驱动器(最多7个)
本帖最后由 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盘,就照着下面图片步骤操作(最好是把改之前的数据截图保存,要是修改后有不良反应还可以改回来):

001.png
002.png
003.png
004.png
005.png
006.png


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用计算器换算的图片演示:
001.gif
002.gif

图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,我觉得最好都改下,不要是默认的。
        修改位置如图:
         010.png
         我这里的数据没来得及改,还是默认的。

(附)10.如果量产工具不识盘,可以尝试安装工厂驱动
http://bbs.mydigit.cn/read.php?tid=117966


下面是我用到的软件:

MySDKTest_V1.0.rar (169.44 KB, 下载次数: 818)