本发明涉及磁盘分区领域,特别涉及一种硬盘分区方法及系统。
背景技术:
随着科技的进步,单系统计算机有时难以满足人们的需求,双系统甚至多系统的使用逐渐变为常态。多系统的安装将会用到主引导记录的使用,以便于对硬盘进行分区,以使多系统能够安装到硬盘中。
硬盘的0柱面、0磁头、1扇区称为主引导记录,主引导记录由三个部分组成,主引导程序、硬盘分区表和分区有效标志,在总共512字节的主引导扇区里主引导程序占446个字节,第二部分是硬盘分区表,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中,第三部分是幻数,占2个字节,固定为0xAA55或0x55AA。
现有技术中,有很多操作系统,比如Windows系列:XP,Vista,Win7,Win8,Win10,这些Windows系列的操作系统一般都会至少占用一个主分区,有的还会占2~4个主分区,比如系统恢复分区等等;使用Grub安装的任何Linux操作系统,也至少需要一个主分区;FreeBSD也至少需要一个主分区,而主引导记录只能分配4个分区,由此可以看出受限于主引导记录的分区限制当安装多操作系统的时候,会发现主分区不够的情况,进而难以安装新的操作系统,难以在保留现有数据的情况下增加主分区,十分不便。
因此,如何在保留现有数据的情况下增加主分区,成为需要突破的难题。
技术实现要素:
有鉴于此,本发明的目的在于提供一种硬盘分区方法及系统,以在不对以保存数据济宁改动的情况下,增加主分区。其具体方案如下:
一种硬盘分区方法,包括:
利用原主引导记录,读取硬盘的分区结构,查找到空闲块;
生成新主引导记录,并覆盖原主引导记录,利用所述新主引导记录所述空闲块进行分区后的分区结构。
优选的,所述生成新主引导记录的过程,包括:
判断所述空闲块大小是否大于预设阈值;
如果判定所述空闲块大小大于所述阈值,则生成所述新主引导记录。
优选的,所述生成新主引导记录,并覆盖原主引导记录,利用所述新主引导记录所述空闲块进行分区后的分区结构前,还包括:
将所述原主引导记录以磁盘块的形式保存到所述空闲块中。
优选的,所述生成新主引导记录,并覆盖原主引导记录,利用所述新主引导记录所述空闲块进行分区后的分区结构前,还包括:
将所述原主引导记录以磁盘块的形式保存到所述空闲块中。
优选的,所述利用所述新主引导记录对所述空闲块进行分区后,还包括:
利用所述新主引导记录中保存的所述原主引导记录的位置信息,将所述原主引导记录备份覆盖所述新主引导记录,以恢复原主引导记录的分区结构。
本发明还公开了一种硬盘分区系统,包括:
查找模块,用于利用原主引导记录,读取硬盘的分区结构,查找到空闲块;
分区模块,用于生成新主引导记录,并覆盖原主引导记录,利用所述新主引导记录所述空闲块进行分区后的分区结构。
优选的,所述分区模块,包括:
判断单元,用于判断所述空闲块大小是否大于预设阈值;
分区单元,用于如果判定所述空闲块大小大于所述阈值,则生成所述新主引导记录。
优选的,还包括:
备份模块,用于将所述原主引导记录以磁盘块的形式保存到所述空闲块中。
优选的,所述备份模块,具体用于将所述原主引导记录以磁盘块的形式保存到所述空闲块的起始位置中。
优选的,还包括:
复原模块,用于利用所述新主引导记录中保存的所述原主引导记录的位置信息,将所述原主引导记录备份覆盖所述新主引导记录,以恢复原主引导记录的分区结构。
本发明中,硬盘分区方法,包括:利用原主引导记录,读取硬盘的分区结构,查找到空闲块;生成新主引导记录,并覆盖原主引导记录,利用新主引导记录记录空闲块进行分区后的分区结构。可见,本发明利用原主引导记录,查找到硬盘的空闲块,并生成新主引导记录,并将新主引导记录覆盖原主引导记录,使得硬盘分区结构变为新主引导记录记录的空闲块进行分区后的分区结构,综上所述,利用空闲块进行分区不会影响到原有数据,生成新主引导记录,可以重新建立4个分区的索引关系,从而增加了主分区。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种硬盘分区方法流程示意图;
图2为本发明实施例公开的另一种硬盘分区方法流程示意图;
图3为本发明实施例公开的一种硬盘分区系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种硬盘分区方法,参见图1所示,该方法包括:
步骤S11:利用原主引导记录,读取硬盘的分区结构,查找到空闲块;
可以理解的是,原主引导记录是位于磁盘最前边的一段引导代码,负责磁盘操作系统对磁盘进行读写时分区合法性的判别、分区引导信息的定位,它由磁盘操作系统在对硬盘进行初始化时产生的,由三个部分组成,主引导程序、硬盘分区表和分区有效标志,在总共512字节的主引导扇区里主引导程序占446个字节,第二部分是硬盘分区表,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中,第三部分是幻数,占2个字节,固定为0xAA55或0x55AA。
具体的,原主引导记录中记录着当前硬盘分区结构,利用原主引导记录中的硬盘分区表和主引导程序,可以查找到当前硬盘中的空闲块,即未被分区的硬盘块。
步骤S12:生成新主引导记录,并覆盖原主引导记录,利用新主引导记录空闲块进行分区后的分区结构。
具体的,当找到空闲块后,根据实际应用需求对空闲块进行分区,例如,将空闲块划分为三个主分区一个扩展区,或划分为两个主分区两个扩展区,并生成与操作系统相对应的新主引导记录,将新主引导记录以磁盘块的形式保存到硬盘的起始块,即覆盖原主引导记录,新主引导记录中将记录空闲块进行分区后的分区结构,重生成立分区的索引关系。
可以理解的是,原主引导记录中记载的已分区部分,在新主引导记录中不进行记录和分区,这样原分区就不会占用新主引导记录的分区名额,且新分区也不会影响原分区中的数据。
需要说明的是,可以先生成主引导记录,再对空闲块进行分区,生成主引导记录将随着空闲块的分区进行更新,保证索引关系的确立;也可以先对空闲块进行分区,利用分区后的分区结构,生成新主引导记录。
可见,本发明利用原主引导记录,查找到硬盘的空闲块,并生成新主引导记录,并将新主引导记录覆盖原主引导记录,使得硬盘分区结构变为新主引导记录记录的空闲块进行分区后的分区结构,综上所述,利用空闲块进行分区不会影响到原有数据,生成新主引导记录,可以重新建立4个分区的索引关系,从而增加了主分区。
本发明实施例公开了一种具体的硬盘分区方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图2所示,具体的:
步骤S21:利用原主引导记录,读取硬盘的分区结构,查找到空闲块。
步骤S22:判断空闲块大小是否大于预设阈值。
可以理解的是,在实际应用中,硬盘的空闲块大小,不一定能满足用户分区后的使用需求,例如,用户分区后需要安装操作系统,过小的空闲块,难以安装操作系统,因此,为了避免用户重新进行分区后,发现空间难以满足需求的问题,可以在分区前判断空闲大小是否满足需求。
具体的,用户可以根据实际应用需求,预先设定阈值,用于判断空闲块大小是否满足需求,当空闲块大小超过阈值,则说明空闲块大小满足需求,当空闲块大小小于阈值,则说明空闲块大小不满足需求。例如,阈值可以设定为10G。
步骤S23:如果判定空闲块大小大于阈值,则生成新主引导记录,并覆盖原主引导记录,利用新主引导记录空闲块进行分区后的分区结构。
步骤S24:如果判定空闲块大小小于阈值,则不进行分区。
需要说明的是,由于新主引导记录会覆盖原主引导记录,因此,使用新主引导记录将无法访问原主引导记录对应的分区中的数据,而原主引导记录丢失后,将无法重新进行访问,为此,在生成新主引导记录,并覆盖原主引导记录,利用新主引导记录空闲块进行分区后的分区结构,即分区前,将原主引导记录以磁盘块的形式保存到空闲块中,这样即使分区后,原主引导记录仍保存在硬盘中可以被查找到。
可以理解的是,在备份原主引导记录后,可以利用新主引导记录中保存的原主引导记录的位置信息,将原主引导记录备份覆盖新主引导记录,以恢复原主引导记录的分区结构。
具体的,分区后,用户可能只是临时构建主分区用于测试操作系统,当用户测试完毕后,需要将分区结构恢复为测试前的结构,因此可以利用新主引导记录中保存的原主引导记录在硬盘中保存的位置信息,查找到原主引导记录,并将原主引导记录备份覆盖新主引导记录,从而恢复原分区结构。
其中,新主引导记录在创建时,便保存了预先保存在空闲块的原主引导记录;同时,为了便于查找将原主引导记录保存到空闲块中的起始位置,也保证了在安装新操作系统是不会被轻易覆盖掉。
相应的,本发明实施例还提供了一种硬盘分区系统,参见图3所示,该系统包括:
查找模块11,用于利用原主引导记录,读取硬盘的分区结构,查找到空闲块;
分区模块12,用于生成新主引导记录,并覆盖原主引导记录,利用新主引导记录空闲块进行分区后的分区结构。
可见,本发明利用原主引导记录,查找到硬盘的空闲块,并生成新主引导记录,并将新主引导记录覆盖原主引导记录,使得硬盘分区结构变为新主引导记录记录的空闲块进行分区后的分区结构,综上所述,利用空闲块进行分区不会影响到原有数据,生成新主引导记录,可以重新建立4个分区的索引关系,从而增加了主分区。
具体的,上述分区模块12,包括判断单元和分区单元;其中,
判断单元,用于判断空闲块大小是否大于预设阈值;
分区单元,用于如果判定空闲块大小大于阈值,则生成新主引导记录。
进一步的,本发明实施例中,还可以包括:
备份模块,用于将原主引导记录以磁盘块的形式保存到空闲块中。
复原模块,用于利用新主引导记录中保存的原主引导记录的位置信息,将原主引导记录备份覆盖新主引导记录,以恢复原主引导记录的分区结构。
其中,上述备份模块,具体用于将原主引导记录以磁盘块的形式保存到空闲块的起始位置中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种硬盘分区方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。