一种虚拟磁盘容量平滑拓展方法技术

技术编号:10666337 阅读:230 留言:0更新日期:2014-11-20 12:05
本发明专利技术提供一种虚拟磁盘容量平滑拓展方法,该方法包括以下步骤:步骤1、设置虚拟磁盘大小及对应镜像文件的保存路径;步骤2、挂载虚拟磁盘过滤驱动,将针对虚拟磁盘最后一个扇区的读写操作重定向到首扇区,并读取虚拟磁盘的格式化信息;步骤3、卸载虚拟磁盘,并对虚拟磁盘容量及对应镜像文件进行修改;步骤4、重新挂载虚拟磁盘,完成虚拟磁盘容量的拓展。本发明专利技术的优点是:可以对虚拟磁盘进行快速、平滑的拓展,使在需要使用较大容量时无需重新进行创建,且解决了以往格式化时系统自动补0值的问题,既减少了创建虚拟磁盘的等待时间,又提高了用户的功能体验。

【技术实现步骤摘要】
一种虚拟磁盘容量平滑拓展方法
本专利技术涉及一种虚拟磁盘容量平滑拓展方法。
技术介绍
虚拟磁盘技术在数据安全方面的应用越来越普遍,目前映射虚拟磁盘的方式主要有将文件夹映射成虚拟磁盘和创建镜像文件并映射为虚拟磁盘两种。其中,将一个文件夹映射成一个虚拟磁盘的方式虽然不存在虚报磁盘容量不易拓展的问题,但其存在以下缺点:缺少保护或保护薄弱,在数据安全领域中,难以满足安全及隐私性的保护需求。因此使用创建虚拟磁盘镜像文件并映射成虚拟磁盘的方式是当前的主流,这种形式的虚拟磁盘的优点是:结合了虚拟磁盘驱动加解密,当未挂载虚拟磁盘时可以将用户文件隐于无痕,无法通过搜索文件、磁盘分析等获取到存放于其中的文件,但是也存在以下缺点:1、当要创建一个较大的虚拟磁盘时,需要同时创建一个同等大小的镜像文件,并进行初始化,这要花费较长等待时间;2、在执行格式化时,都需要写首扇区的备份到虚拟磁盘的最后一个扇区,这会导致从文件头开始到这个位置之间尚未写入的文件内容都被自动补0值;3、目前采用的是在镜像文件创建时就设定虚拟磁盘大小,不支持容量拓展,当容量无法满足使用需求时,只能重新创建一个容量更大的虚拟磁盘,再将原有文件拷贝到新创建的虚拟磁盘中,这个过程也是既费时又费力的。
技术实现思路
本专利技术要解决的技术问题,在于提供一种虚拟磁盘容量平滑拓展方法,通过修改虚拟磁盘分区表信息来实现对虚拟磁盘的平滑扩容,并根据设置的虚拟磁盘大小来设定对应镜像文件的结束位置,同时将针对虚拟磁盘最后一个扇区的读写操作重定向到首扇区中,从而节省虚拟磁盘创建的等待时间,并提高用户的功能体验。本专利技术是这样实现的:一种虚拟磁盘容量平滑拓展方法,具体包括如下步骤:步骤1、设置虚拟磁盘大小及对应镜像文件的保存路径;步骤2、挂载虚拟磁盘过滤驱动,将针对虚拟磁盘最后一个扇区的读写操作重定向到首扇区,并读取虚拟磁盘的格式化信息;步骤3、卸载虚拟磁盘,并对虚拟磁盘的容量及对应镜像文件进行修改;步骤4、重新挂载虚拟磁盘,完成虚拟磁盘容量的拓展。进一步的,所述步骤2具体包括以下步骤:步骤21、挂载虚拟磁盘过滤驱动,并将针对虚拟磁盘的读写,按照读写的位置重定位到镜像文件中,同时将针对虚拟磁盘最后一个扇区的读写操作重定向到首扇区中;步骤22、若为旧虚拟磁盘的拓容,则读取旧虚拟磁盘NTFS格式分区中固有的格式化信息;若为新虚拟磁盘的创建,则先创建小容量虚拟磁盘的镜像文件,然后驱动挂载成虚拟磁盘,并格式化成NTFS格式,之后读取该虚拟磁盘的格式化信息。进一步的,所述格式化信息包括$MFT文件位置、每扇区大小、每簇扇区数、总扇区数、$Bitmap文件位置、根目录位置及$BadClus文件位置。进一步的,所述步骤3具体包括以下步骤:步骤31、卸载虚拟磁盘,并根据步骤1设置的虚拟磁盘大小来设定对应镜像文件的结束位置;步骤32、按设置的虚拟磁盘大小,以及步骤2中读取的格式化信息计算出新虚拟磁盘的总簇数、总扇区数及$Bitmap文件大小,并重新修改镜像文件中对应新虚拟磁盘分区表首簇的扇区总数,以及$MFT中$BadClus文件与$Bitmap文件对应的文件记录的实际大小、占用大小、压缩大小;步骤33、修改$Bitmap文件对应的文件记录中的$Bitmap文件起始位置到原镜像文件的结束位置,并将原$Bitmap文件内容拷贝到新的起始位置,同时将$Bitmap文件中表示原$Bitmap文件占用簇的位置用0覆盖,以释放此部分空间,在新的$Bitmap文件中,则用1覆盖$Bitmap文件对应的簇占用的位置,用0覆盖从1之后到文件结束的位置,以标记新增的空间未使用。本专利技术具有如下优点:1、扩容时不需要重新创建虚拟磁盘,不需要拷贝大量的文件,实现了对虚拟磁盘容量的平滑拓展,不仅减少了拷贝大量文件的麻烦,也节省了时间;2、将针对虚拟磁盘最后一个扇区的读写操作重定向到首扇区中,使得格式化时不存在自动补0值现象,节省了拓展时间;3、根据设置的虚拟磁盘大小来设定对应镜像文件的结束位置,而不实际写入文件内容,这也节省了系统初始化的时间。附图说明下面参照附图结合实施例对本专利技术作进一步的说明。图1为本专利技术一种虚拟磁盘容量平滑拓展方法执行流程图。具体实施方式请参照图1所示,一种虚拟磁盘容量平滑拓展方法,具体包括以下步骤:步骤1、在虚拟磁盘创建界面设置所需的虚拟磁盘大小以及对应镜像文件的保存路径;步骤2、挂载虚拟磁盘过滤驱动,将针对虚拟磁盘最后一个扇区的读写操作重定向到首扇区,并读取虚拟磁盘的格式化信息;该步骤具体包括以下步骤:步骤21、挂载虚拟磁盘过滤驱动,并将针对虚拟磁盘的读写,按照读写的位置重定位到镜像文件中,同时将针对虚拟磁盘最后一个扇区的读写操作重定向到首扇区中;步骤22、若为旧虚拟磁盘的拓容,则读取旧虚拟磁盘NTFS格式分区中固有的格式化信息;若为新虚拟磁盘的创建,则先创建小容量虚拟磁盘的镜像文件,然后驱动挂载成虚拟磁盘,并格式化成NTFS格式,之后读取该虚拟磁盘的格式化信息;其中,将针对虚拟盘最后一个扇区的读写操作重定向到首扇区是因为在挂载虚拟磁盘成镜像文件时,如果不修改最后一个扇区中备份的首扇区内容,就会因为首扇区与最后一个扇区的备份不相符而导致被判定为分区格式损坏,如果直接去修改这个位置的内容,则会导致操作系统检测时,在原镜像文件结尾到新镜像文件结尾之间未实际写入的部分自动补0值,从而花费一定的时间。所述格式化信息包括$MFT文件位置、每扇区大小、每簇扇区数、总扇区数、$Bitmap文件位置、根目录位置及$BadClus文件位置。步骤3、卸载虚拟磁盘,并对虚拟磁盘的容量及对应镜像文件进行修改;具体步骤如下:步骤31、进行容量拓展时,要先卸载虚拟磁盘,并根据步骤1设置的虚拟磁盘大小来设定对应镜像文件的结束位置,在这里我们只设置文件的结束位置而不实际写入文件内容,主要是为了使操作系统不会因为去初始化新增加的空间而耗费时间;步骤32、按设置的虚拟磁盘大小,以及步骤2中读取的每扇区大小与每簇扇区数计算出新虚拟磁盘的总簇数、总扇区数及$Bitmap文件大小,并重新修改镜像文件中对应新虚拟磁盘分区表首簇的扇区总数,以及$MFT文件中$BadClus文件及$Bitmap文件对应的文件记录的实际大小、占用大小、压缩大小;步骤33、修改$Bitmap文件对应的文件记录中的$Bitmap文件起始位置到原镜像文件的结束位置,并将原$Bitmap文件内容拷贝到新的起始位置,同时将$Bitmap文件中表示原$Bitmap文件占用簇的位置用0覆盖,以释放此部分空间,在新的$Bitmap文件中,则用1覆盖$Bitmap文件对应的簇占用的位置,用0覆盖从1之后到文件结束的位置,以标记新增的空间未使用。其中,卸载虚拟磁盘是因为部分操作系统会对分区表进行保护,且在虚拟磁盘处于挂载的情况下,$Bitmap文件对簇占用情况的描述可能会有变更,这不利于磁盘容量的拓展工作,所以拓展虚拟磁盘容量的过程是在卸载情况下进行的。步骤4、重新挂载虚拟磁盘,完成虚拟磁盘容量的拓展。综上所述,我们可以知道,本专利技术具有以下优点:首先是在扩容时不需要重新创建虚拟磁盘,也不需要拷贝大量的文件资料,实现了对虚拟磁盘容量的平滑拓展,这不仅减少了拷贝大量文件的麻烦,也节省了时本文档来自技高网...
一种虚拟磁盘容量平滑拓展方法

【技术保护点】
一种虚拟磁盘容量平滑拓展方法,其特征在于:包括如下步骤:步骤1、设置虚拟磁盘大小及对应镜像文件的保存路径;步骤2、挂载虚拟磁盘过滤驱动,将针对虚拟磁盘最后一个扇区的读写操作重定向到首扇区,并读取虚拟磁盘的格式化信息;步骤3、卸载虚拟磁盘,并对虚拟磁盘的容量及对应镜像文件进行修改;步骤4、重新挂载虚拟磁盘,完成虚拟磁盘容量的拓展。

【技术特征摘要】
1.一种虚拟磁盘容量平滑拓展方法,其特征在于:包括如下步骤:步骤1、设置虚拟磁盘大小及对应镜像文件的保存路径;步骤2、挂载虚拟磁盘过滤驱动,将针对虚拟磁盘最后一个扇区的读写操作重定向到首扇区,并读取虚拟磁盘的格式化信息;步骤3、卸载虚拟磁盘,并对虚拟磁盘的容量及对应镜像文件进行修改;步骤4、重新挂载虚拟磁盘,完成虚拟磁盘容量的拓展;所述步骤2具体包括以下步骤:步骤21、挂载虚拟磁盘过滤驱动,并将针对虚拟磁盘的读写,按照读写的位置重定位到镜像文件中,同时将针对虚拟磁盘最后一个扇区的读写操作重定向到首扇区中;步骤22、若为旧虚拟磁盘的拓容,则读取旧虚拟磁盘NTFS格式分区中固有的格式化信息;若为新虚拟磁盘的创建,则先创建小容量虚拟磁盘的镜像文件,然后驱动挂载成虚拟磁盘,并格式化成NTFS格式,之后读取该虚拟磁盘的格式化信息。所述步骤3具体包括以下步骤:步骤31、卸载虚拟磁盘,并根据步骤1设置的虚拟磁盘大小来设定对应镜像文件的结束位置;步...

【专利技术属性】
技术研发人员:沈廷强
申请(专利权)人:厦门天锐科技有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1