System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机存储和取证领域,具体涉及一种跨平台文件系统访问的方法、系统和可存储介质。
技术介绍
1、当下主流的桌面操作系统microsoft windows不能挂载mac和linux操作系统的存储设备(如硬盘、镜像等),使得windows操作系统的用户不能直接访问linux、mac、安卓等非windows操作系统中的文件,当下使用dokan框架的方法一般采用在线方式,比如使用虚拟机运行linux、mac、安卓等操作系统设备,再通过远程网络通信方式将dokan框架挂载在windows操作系统,这种做法不仅耗费时间长、效率不高,而且利用率也较低。
2、为了解决这类问题,本文提出了一种跨平台文件系统访问方法、系统和可存储介质,能让windows操作系统用户直接访问mac、linux、安卓等非windows操作系统中的文件,无需使用虚拟机等其它第三方工具,可直接在设备离线的情况进行挂载访问。
技术实现思路
1、本专利技术针对上述现有技术中一个或多个技术缺陷,提出了如下技术方案。
2、基于本专利技术的第一方面,提出了一种跨平台文件系统的访问方法,包括:
3、s1:对存储设备的分区表进行分析并判断所述存储设备是否存在分区,若所述存储设备存在分区,则将所述分区的文件系统进行解析,得到所述分区的文件列表;
4、s2:利用custom文件系统注册dokan模块的回调函数并将所述文件列表挂载到windows操作系统的虚拟磁盘分区;
5
6、s4:被调用的所述custom文件系统中的回调函数在所述dokan模块用户态的分析模块对存储设备直接进行数据读/写;
7、s5:所述custom文件系统对文件的读/写操作请求进行处理并将处理结果返回给用户,用户直接访问mac os操作系统和linux操作系统的存储设备中的文件。
8、更进一步地,s1所述文件系统包括apfs、hfs+、ext4和xfs。
9、更进一步地,s2所述dokan模块包括内核层的内核态文件系统驱动程序dokan.sys和用户态的动态链接库dokan.dll;
10、其中,所述内核态文件系统驱动程序dokan.sys用于和操作系统的文件系统管理器进行通信,所述用户态的动态链接库dokan.dll用于实现文件系统的具体功能。
11、更进一步地,s3具体包括:
12、s301:所述windows操作系统将所述读/写操作请求发送到所述windows操作系统的输入/输出子系统;
13、s302:所述windows操作系统的输入/输出子系统将所述文件系统的请求传递到dokan模块的内核态文件系统驱动程序dokan.sys;
14、s303:所述dokan模块中的内核态文件系统驱动程序dokan.sys调用已经注册在所述dokan模块中的用户态的动态链接库dokan.dll中的所述回调函数。
15、更进一步地,s5具体包括:
16、s501:所述custom文件系统对文件的读/写操作请求进行处理并将处理结果作为用户操作请求的响应反馈到所述用户态的动态链接库dokan.dll;
17、s502:所述用户态的动态链接库dokan.dll通过内部通信将所述处理结果传输给所述内核态文件系统驱动程序dokan.sys;
18、s503:所述内核态文件系统驱动程序dokan.sys进一步将处理结果反馈到所述windows操作系统的输入/输出子系统并返回给用户。
19、基于本专利技术的第二方面,还提出了一种跨平台文件系统的访问系统,包括:
20、解析单元:对存储设备的分区表进行分析并判断所述存储设备是否存在分区,若所述存储设备存在分区,则将所述分区的文件系统进行解析,得到所述分区的文件列表;
21、挂载单元:利用custom文件系统注册dokan模块的回调函数并将所述文件列表挂载到windows操作系统的虚拟磁盘分区;
22、回调函数单元:当用户对已挂载的所述虚拟磁盘分区中的文件进行文件读/写操作时,系统调用挂载单元中注册在dokan模块的所述回调函数;
23、读写单元:被调用的所述custom文件系统中的回调函数在所述dokan模块用户态的分析模块对存储设备直接进行数据读/写;
24、访问单元:所述custom文件系统对文件的读/写操作请求进行处理并将处理结果返回给用户,用户直接访问mac os操作系统和linux操作系统的存储设备中的文件。
25、更进一步地,回调函数单元具体包括:
26、所述windows操作系统将所述读/写操作请求发送到所述windows操作系统的输入/输出子系统;
27、所述windows操作系统的输入/输出子系统将所述文件系统的请求传递到dokan模块的内核态文件系统驱动程序dokan.sys;
28、所述dokan模块中的内核态文件系统驱动程序dokan.sys调用已经注册在所述dokan模块中的用户态的动态链接库dokan.dll中的所述回调函数。
29、更进一步地,访问单元具体包括:
30、所述custom文件系统对文件的读/写操作请求进行处理并将处理结果作为用户操作请求的响应反馈到所述用户态的动态链接库dokan.dll;
31、所述用户态的动态链接库dokan.dll通过内部通信将所述处理结果传输给所述内核态文件系统驱动程序dokan.sys;
32、所述内核态文件系统驱动程序dokan.sys进一步将处理结果反馈到所述windows操作系统的输入/输出子系统并返回给用户。
33、基于本专利技术的第三方面,还提出了一种计算机可存储介质,其上存储有一个或多个计算机程序,其特征在于,该计算机程序在被计算机处理器执行时实施如上述之任一项所述的方法。
34、本专利技术的技术效果在于:本专利技术结合dokan模式底层逻辑和上层的实现逻辑,能让用户在windows操作系统中访问linux、mac、安卓等非windows操作系统中的文件,让windows操作系统用户无需在不同操作系统之间进行切换,无需使用虚拟机等其它第三方工具,可直接在设备离线的情况进行挂载访问,提高了跨平台文件系统访问的效率以及工作效率,解决了windows操作系统不能挂载mac和linux操作系统存储设备的问题。
本文档来自技高网...【技术保护点】
1.一种跨平台文件系统访问的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,S1所述文件系统包括APFS、HFS+、Ext4和XFS。
3.根据权利要求1所述的方法,其特征在于,S2所述Dokan模块包括内核层的内核态文件系统驱动程序dokan.sys和用户态的动态链接库dokan.dl l;
4.根据权利要求1所述的方法,其特征在于,S3具体包括:
5.根据权利要求1所述的方法,其特征在于,S5具体包括:
6.一种跨平台文件系统访问的系统,其特征在于,包括:
7.根据权利要求6所述的系统,其特征在于,回调函数单元具体包括:
8.根据权利要求6所述的系统,其特征在于,访问单元具体包括:
9.一种计算机可存储介质,其上存储有一个或多个计算机程序,其特征在于,该计算机程序在被计算机处理器执行时实施如权利要求1-5之任一项所述的方法。
【技术特征摘要】
1.一种跨平台文件系统访问的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,s1所述文件系统包括apfs、hfs+、ext4和xfs。
3.根据权利要求1所述的方法,其特征在于,s2所述dokan模块包括内核层的内核态文件系统驱动程序dokan.sys和用户态的动态链接库dokan.dl l;
4.根据权利要求1所述的方法,其特征在于,s3具体包括:
5.根...
【专利技术属性】
技术研发人员:林城,沈长达,黄志玮,苏步发,
申请(专利权)人:厦门市美亚柏科信息安全研究所有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。