CN112416657A - 一种系统克隆方法 - Google Patents

一种系统克隆方法 Download PDF

Info

Publication number
CN112416657A
CN112416657A CN202011425414.0A CN202011425414A CN112416657A CN 112416657 A CN112416657 A CN 112416657A CN 202011425414 A CN202011425414 A CN 202011425414A CN 112416657 A CN112416657 A CN 112416657A
Authority
CN
China
Prior art keywords
cloning
partition
disk
target
disks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011425414.0A
Other languages
English (en)
Other versions
CN112416657B (zh
Inventor
先泽强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Aomei Technology Co ltd
Original Assignee
Chengdu Aomei Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Aomei Technology Co ltd filed Critical Chengdu Aomei Technology Co ltd
Priority to CN202011425414.0A priority Critical patent/CN112416657B/zh
Publication of CN112416657A publication Critical patent/CN112416657A/zh
Application granted granted Critical
Publication of CN112416657B publication Critical patent/CN112416657B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种系统克隆方法,包括如下步骤:S1.初始化所有磁盘和卷;步骤S2.选择合适的目标位置并构造克隆参数;步骤S3.开始对源系统分区进行克隆,克隆之前尝试对源系统分区进行锁卷;步骤S4.判断是否按扇区克隆,步骤S5.判断是否属于同类型的磁盘间克隆,步骤S6.克隆源系统其余分区;步骤S7.克隆完成后,判断是否属于同类型的磁盘间克隆;步骤S8.若属于同类型的磁盘间克隆,则进行同类型间的克隆引导修复;步骤S9.若不属于同类型的磁盘间克隆,则进行不同类型间的克隆引导修复。本发明解决了目前重装系统是一项繁琐、复杂的工程,用户在更换电脑、磁盘后需要重装系统的复杂问题。

Description

一种系统克隆方法
技术领域
本发明涉及系统克隆技术领域,更具体地涉及一种系统克隆方法。
背景技术
随着计算机技术的高速发展,更大、更快的硬盘越来越普及,人们对系统运行效率或磁盘空间的要求也越来越高,但是如果直接更换硬盘,带来的问题是需要重装系统,但是,重装系统也是一项繁琐、复杂的工程,特别是针对用户环境复杂的计算机和需要将系统从MBR克隆到GPT磁盘,从GPT磁盘克隆到MBR磁盘的情况。因此,有必要提供一种系统克隆方法,以克服上述问题。
发明内容
本发明提供了一种系统克隆方法,以解决目前直接更换硬盘,带来的问题是需要重装系统,但是,重装系统也是一项繁琐、复杂的工程,用户在更换电脑、磁盘后需要重装系统的复杂问题。
为解决上述技术问题,本发明所采用的技术方案是:一种系统克隆方法,包括如下步骤:
步骤S1.初始化所有磁盘和卷;
步骤S2.选择合适的目标位置并构造克隆参数;
步骤S3.开始对源系统分区进行克隆,克隆之前尝试对源系统分区进行锁卷;如果不能锁卷,则需要为该卷创建快照,从快照中读取该卷的数据进行克隆;如果能锁卷,则直接使用磁盘读写的方式进行克隆;
步骤S4.判断是否按扇区克隆,若不是按扇区克隆,则按文件系统的使用情况进行克隆,即只克隆该卷已经使用的扇区;若是按扇区克隆,则使用磁盘读写的方式进行克隆;
步骤S5.判断是否属于同类型的磁盘间克隆,若属于同类型的磁盘间克隆,则System分区与源系统分区按相同文件系统克隆;若不属于同类型的磁盘间克隆,则System分区需要格式化为对应的格式;
步骤S6.克隆源系统其余分区;
步骤S7.克隆完成后,判断是否属于同类型的磁盘间克隆;
步骤S8.若属于同类型的磁盘间克隆,则进行同类型间的克隆引导修复;
步骤S9.若不属于同类型的磁盘间克隆,则进行不同类型间的克隆引导修复;至此,克隆完成,克隆引导修复完成,系统正常启动。
进一步地,步骤S1中,初始化所有磁盘和卷为初始化当前计算机的所有磁盘、分区和卷,并找出当前系统的System分区、Boot分区和Recovery分区。
进一步地,步骤S2中,选择合适的目标位置为判断目标磁盘是否具备克隆条件,如果目标磁盘的总容量小于系统分区的已使用空间容量之和,则目标磁盘不具备克隆条件,即目标位置不合适;如果目标磁盘的总容量大于或等于系统分区的已使用空间之和,则目标磁盘具备克隆条件,即目标位置合适。
进一步地,步骤S2中,如果磁盘类型不同,但满足空间大小的条件,也是具备克隆条件的。
进一步地,步骤S2中,构造克隆参数为根据选择的目标位置构造出系统克隆到目标位置后的虚拟形态。
进一步地,步骤S2中,构造克隆参数过程中,如果目标位置小于系统分区的总大小,则在构建目标位置的分区形态的时候需要缩小Boot分区,将Boot分区缩小到可以在目标位置容纳下系统的System分区、Boot分区和Recovery分区这三个分区为止。
进一步地,步骤S2中,构造克隆参数过程中,如果缩小Boot分区到达极限值还是不能满足条件,则检查System分区和Recovery分区是否还能缩小,如果可以缩小,则优先缩小Recovery分区,再缩小System分区。
进一步地,步骤S2中,构造克隆参数过程中,如果缩小System分区和Recovery分区后还是不能满足条件,则不能继续克隆。
进一步地,步骤S2中,构造克隆参数过程中,如果目标位置大于系统的总大小,则扩大目标磁盘上的系统分区,将Boot分区扩大到目标磁盘的容量减去System分区的容量和Recovery分区的容量之后的容量大小。
进一步地,步骤S2中,构造克隆参数过程中,如果目标位置与系统大小一致,则让目标磁盘与系统大小保持一致,或者改变System分区、Boot分区和Recovery分区的相对大小,但需满足目标磁盘的分区容量大于或等于系统的对应的分区已使用空间容量,即目标磁盘的分区能够容纳下系统的对应的分区。
与现有技术相比,本发明具有以下有益效果:本发明的系统克隆方法通过步骤S1.初始化所有磁盘和卷;步骤S2.选择合适的目标位置并构造克隆参数;步骤S3.开始对源系统分区进行克隆,克隆之前尝试对源系统分区进行锁卷;步骤S4.判断是否按扇区克隆,步骤S5.判断是否属于同类型的磁盘间克隆,步骤S6.克隆源系统其余分区;步骤S7.克隆完成后,判断是否属于同类型的磁盘间克隆;步骤S8.若属于同类型的磁盘间克隆,则进行同类型间的克隆引导修复;步骤S9.若不属于同类型的磁盘间克隆,则进行不同类型间的克隆引导修复;至此,克隆完成,克隆引导修复完成,系统正常启动。本发明提供了方便有序的系统克隆方法,无损将系统克隆到新电脑或新磁盘。
附图说明
图1为本发明的一种系统克隆方法的流程图的示意图。
图2为本发明的一种系统克隆方法的小端表示法写入配置文件的示意图。
图3为本发明的一种系统克隆方法的磁盘签名的示意图。
图4为本发明的一种系统克隆方法的恢复环境引导的偏移量与Windows引导的偏移量的示意图。
图5为本发明的一种系统克隆方法的磁盘的GUID和分区的GUID的示意图。
图6为本发明的一种系统克隆方法的恢复分区的GUID和恢复分区所在磁盘的GUID的示意图。
图7为本发明的一种系统克隆方法的GPT磁盘的磁盘GUID数据在GUID的示意图。
图8为本发明的一种系统克隆方法的分区的GUID在GPT磁盘的分区表中的示意图。
图9为本发明的一种系统克隆方法的针对MBR磁盘上的系统盘符修复时C盘的盘符信息在注册表中的含义的示意图。
图10为本发明的一种系统克隆方法的针对GPT磁盘上的系统盘符修复时C盘的盘符信息在注册表中的含义的示意图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
下面结合实施例对本发明作进一步的描述,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域的普通技术人员在没有做出创造性劳动前提下所获得的其他所用实施例,都属于本发明的保护范围。
请参阅图1至图10,图中所示者为本发明所选用的实施例结构,此仅供说明之用,在专利申请上并不受此种结构的限制。
实施例一
如图1所示,一种系统克隆方法,包括如下步骤:
步骤S1.初始化所有磁盘和卷;
步骤S2.选择合适的目标位置并构造克隆参数;
步骤S3.开始对源系统分区进行克隆,克隆之前尝试对源系统分区进行锁卷;如果不能锁卷,则需要为该卷创建快照,从快照中读取该卷的数据进行克隆;如果能锁卷,则直接使用磁盘读写的方式进行克隆;
步骤S4.判断是否按扇区克隆,若不是按扇区克隆,则按文件系统的使用情况进行克隆,即只克隆该卷已经使用的扇区;若是按扇区克隆,则使用磁盘读写的方式进行克隆;
步骤S5.判断是否属于同类型的磁盘间克隆,若属于同类型的磁盘间克隆,则System分区与源系统分区按相同文件系统克隆;若不属于同类型的磁盘间克隆,则System分区需要格式化为对应的格式;
步骤S6.克隆源系统其余分区;
步骤S7.克隆完成后,判断是否属于同类型的磁盘间克隆;
步骤S8.若属于同类型的磁盘间克隆,则进行同类型间的克隆引导修复;
步骤S9.若不属于同类型的磁盘间克隆,则进行不同类型间的克隆引导修复;至此,克隆完成,克隆引导修复完成,系统正常启动。
实施例二
步骤S1中,初始化所有磁盘和卷为初始化当前计算机的所有磁盘、分区和卷,并找出当前系统的System分区、Boot分区和Recovery分区。
步骤S2中,选择合适的目标位置为判断目标磁盘是否具备克隆条件,如果目标磁盘的总容量小于系统分区的已使用空间容量之和,则目标磁盘不具备克隆条件,即目标位置不合适;如果目标磁盘的总容量大于或等于系统分区的已使用空间之和,则目标磁盘具备克隆条件,即目标位置合适。
步骤S2中,如果磁盘类型不同,但满足空间大小的条件,也是具备克隆条件的。
步骤S2中,构造克隆参数为根据选择的目标位置构造出系统克隆到目标位置后的虚拟形态。
步骤S2中,构造克隆参数过程中,如果目标位置小于系统分区的总大小,则在构建目标位置的分区形态的时候需要缩小Boot分区,将Boot分区缩小到可以在目标位置容纳下系统的System分区、Boot分区和Recovery分区这三个分区为止。
步骤S2中,构造克隆参数过程中,如果缩小Boot分区到达极限值还是不能满足条件,则检查System分区和Recovery分区是否还能缩小,如果可以缩小,则优先缩小Recovery分区,再缩小System分区。
步骤S2中,构造克隆参数过程中,如果缩小System分区和Recovery分区后还是不能满足条件,则不能继续克隆。
步骤S2中,构造克隆参数过程中,如果目标位置大于系统的总大小,则扩大目标磁盘上的系统分区,将Boot分区扩大到目标磁盘的容量减去System分区的容量和Recovery分区的容量之后的容量大小。
步骤S2中,构造克隆参数过程中,如果目标位置与系统大小一致,则让目标磁盘与系统大小保持一致,或者改变System分区、Boot分区和Recovery分区的相对大小,但需满足目标磁盘的分区容量大于或等于系统的对应的分区已使用空间容量,即目标磁盘的分区能够容纳下系统的对应的分区。
实施例三
本发明的具体流程如下:
初始化当前计算机的所有磁盘、分区和卷,找出当前系统的System分区、Boot分区和Recovery分区。
在开始克隆之前需要先判断目标磁盘是否具备克隆条件,如果目标磁盘的总容量小于System分区、Boot分区和Recovery分区的已使用空间,则不能克隆到目标磁盘。如果目标位置(可以是一整块磁盘,也可以是磁盘上的某个位置)大于或等于系统分区的已使用空间之和,则满足克隆条件。如果源磁盘与目标磁盘的类型不同(MBR或GPT格式),但满足空间大小的条件也是允许克隆系统的。
根据选择的目标位置构造出系统克隆到目标位置后的虚拟形态,如果目标位置小于当前系统分区的总大小(这里的总大小指的是这3个分区的总容量之和),则在构建目标位置的分区形态的时候需要缩小Boot分区,将Boot分区缩小到可以在目标位置容纳下这三个分区为止,如果缩小Boot分区到达极限值还是不能满足条件则检查System分区与Recovery分区是否还能缩小,如果可以缩小则优先缩小Recovery分区,再缩小System分区(通常来说System分区与Recovery分区的大小相对固定,这两个分区也不会太大;另外System分区与Recovery分区的数据都有可能存储在Boot分区,使其让一个物理分区即是System分区、也是Boot分区、又是Recovery分区),如果缩小这两个分区后还是不能满足最小空间要求,则不能继续克隆。如果目标位置大于源系统的总大小则可以扩大目标磁盘上的系统分区,通常会将Boot分区扩大到目标位减去System分区的容和Recovery分区容量之后的大小,也可以保持默认的与源分区一致的大小,也可以手动调整其任意分区的大小;如果目标位置与系统大小一致,通常会让目标系统与源系统保持一致,但也可以手动改变这三个分区的大小,但无论怎么调整,都不能将某个分区的目标容量调整到小于已经使用的容量大小。
根据构建的分区,开始对源系统分区进行克隆,通常会根据源系统各个分区在磁盘上的先后顺序进行克隆,在开始克隆之前首先尝试对源分区进行锁卷,如果能正常锁卷则直接使用磁盘读写的方式进行克隆,将源磁盘上的分区,按照文件系统的类型进行解析后将数据拷贝到目标位置,针对不能锁卷的卷,则需要为该卷创建快照,从快照中读取该卷的数据,代码如下所示:
CreateVssBackupComponents(&pBackup);
pBackup->InitializeForBackup();
pBackup->AddToSnapshotSet(/*需要创建快照的卷的盘符D:\\*/,GUID_NULL,&snapshotSetId);
pBackup->DoSnapshotSet(&pDoShadowCopy);
pBackup->GetSnapshotProperties(snapshotSetId,&snapshotProp);
快照创建成功之后会返回一个用于访问的符号链接。
例如:\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy19,可以通过Windows的API打开此符号链接读取卷的数据,伪代码如下:
hHandle=CreateFile(\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy19,…);
通常卷的克隆分别有两种模式:
1.针对只克隆该卷已经使用的扇区,此方法需要用到《傲梅文件系统解析模块》,通过解析获得该卷的已使用簇,再将已使用的簇拷贝到目标位置。或使用现有技术中的文件系统解析模块进行解析。
2.针对完全克隆则只需要顺序读取该卷的所有扇区并写入到目标位置即可,可以是锁卷卷后的直接读取,也可以是从快照中读取。
针对不同类型磁盘间的系统克隆,System分区需要针对不同类型的磁盘创建成不同类型的文件系统:
如果从MBR磁盘克隆到GPT磁盘,则System分区的克隆会变成创建操作,直接在目标位置创建一个与源分区等同大小的FAT32文件系统的分区。
如果从GPT磁盘克隆到MBR磁盘,则System分区会被默认格式化为NTFS文件系统。
数据克隆完成后为了保证系统可以正常启动,我们需要对操作系统的引导配置文件进行修复,以适应新的目标位置的系统引导,修复引导主要包括修复System分区、Boot分区、Recovery分区在启动配置里面记录的位置,Windows所在分区的盘符修复,GPT磁盘的系统克隆到MBR磁盘的引导重建和MBR磁盘上的系统克隆到GPT磁盘的引导重建几大部分。
过程如下:
1.修复Boot分区BCD文件的引导信息:
Windows Boot Manager的修复(MBR磁盘克隆到MBR磁盘的情况)
HKEY_LOCAL_MACHINE\BCD00000000\Objects\{9dea862c-5cdd-4e70-acc1-f32b344d4795}\Elements\11000001
0x20~0x27是分区的起始位置(字节为单位),例如:该分区的起始扇区为2048,该磁盘每扇区字节数为512,所以起始字节为:2048*512=1048576换算成16进制为:100000,按照小端表示法写入配置文件就如图2所示的:00 00 10 00 00 00 00 00,0x38~0x0x3a处的4个字节为该磁盘的磁盘签名,磁盘签名在该磁盘的MBR的偏移0x1b8~0x1bb,如图3所示。
引导项的修复(这里指的引导项包括:引导Windows的引导项、其他第三方的引导项)与Windows Boot Manager的修复基本类似,只是所在的偏移位置不一样,通常一个引导项需要修复两个位置,例如,此Windows引导项的以下两个位置记录了Windows所在卷的磁盘和卷信息:
HKEY_LOCAL_MACHINE\BCD00000000\Objects\{8aec7dc4-e119-11ea-ad02-d48d04b5e7d6}\Elements\11000001
HKEY_LOCAL_MACHINE\BCD00000000\Objects\{8aec7dc4-e119-11ea-ad02-d48d04b5e7d6}\Elements\21000001
同样,与Windows Boot Manager一样,0x20~0x27的8个字节为Windows所在分区的起始位置(字节),0x38~0x3a处依然为磁盘的签名。
针对恢复环境的引导修复需要单独说明,因为恢复环境的引导的偏移与Windows引导的偏移量有所不同,如图4所示。
0x54~0x5b为恢复分区的起始位置;
0x6c~0x6f为恢复分区所在磁盘的磁盘签名;
恢复分区通常需要修复如下两个位置:
HKEY_LOCAL_MACHINE\BCD00000000\Objects\{8aec7dc5-e119-11ea-ad02-d48d04b5e7d6}\Elements\11000001
HKEY_LOCAL_MACHINE\BCD00000000\Objects\{8aec7dc5-e119-11ea-ad02-d48d04b5e7d6}\Elements\21000001
2.Windows Boot Manager的修复(GPT磁盘克隆到GPT磁盘的情况)
Windows Boot Manager在配置文件的位置与MBR磁盘上的一样,只是MBR使用的是分区起始位置和磁盘签名方式确定Windows Boot Manager的位置方式改为使用磁盘的GUID和分区的GUID方式确定,如图5所示。
0x20~0x2f:此16个字节表示的是Windows Boot Manager卷的GUID;
0x38~0x48:此16个字节表示的是Windows Boot Manager该卷所在磁盘的GUID。
针对GPT磁盘到GPT磁盘的系统克隆的恢复分区的引导修复也有所不同,如图6所示。
0x54~0x63:这16个字节的GUID表示的是恢复分区的GUID;
0x6c~0x7b:这16个字节的GUID表示的是恢复分区所在磁盘的GUID。
GPT磁盘的磁盘GUID数据在GUID头里面,如图7所示。
分区的GUID在GPT磁盘的分区表中,如图8所示。
3.修改操作系统盘符也包括两部分,一是针对MBR磁盘上的系统修复,二是针对GPT磁盘上的系统盘符修复,修复办法与引导的修复方法一致,但是需要将目标磁盘上的系统配置文件(C:\Windows\System32\config\system)挂载到注册表中,HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices这个位置下记录的是当前操作系统的盘符信息,通常只需要修复C盘的盘符信息即可,C盘的盘符在注册表中的为\DosDevices\C:,此项的值的含义具体如图9所示。
0x0~0x03:此处4个字节为磁盘的签名,与修复BCD处的磁盘签名一致;
0x04~0x0b:此处8个字节表示的是该分区的起始位置,与修复BCD处一样;
将这两个位置的数据改为目标磁盘的对应数据即可。
如果目标头盘是GPT,则如图10所示。
0x08~0x17:此处表示的是C这个盘符的分区的GUID,将此处的GUID修复为目标磁盘上Boot分区的GUID。
至此,GPT磁盘上的系统克隆到GPT磁盘,MBR磁盘上的系统克隆到MBR磁盘的引导修复已经完成。针对GPT到MBR和MBR到GPT的修复可以使用现有技术中的方法进行修复。
其中,System分区:指的是引导分区。Boot分区:指的是系统所在分区。BCD:Windows操作系统的启动配置文件。
磁盘管理模块:构建当前系统的磁盘和卷信息和虚拟目标位置的卷信息;
文件系统模块:该功能模块用于解析NTFS、FAT32、FAT16、FAT12文件系统,主要实现按已使用的簇克隆的文件系统读取功能;
VSS管理模块:该功能模块用于创建、删除各卷的快照;
磁盘分区读写模块:该模块用于读取源卷的信息和向目标磁盘写入新数据;
引导修复模块:该模块用于修复BCD和盘符信息。
实施例四
本发明可应用于虚拟机克隆,从而解决现有的系统克隆方法存在克隆速度慢,且在克隆的过程中,系统对外服务中断以及克隆成功率低的问题。
一种用于虚拟机克隆的系统克隆方法,包括如下步骤:
步骤1.初始化所有磁盘和卷;
步骤2.选择合适的目标位置并构造克隆参数;
步骤3.开始对源系统分区进行克隆,克隆之前尝试对源系统分区进行锁卷;如果不能锁卷,则需要为该卷创建快照,在快照文件中保存指定时间点的需要被克隆的系统中的相关数据;从快照中读取数据进行克隆;如果能锁卷,则直接使用磁盘读写的方式进行克隆;
步骤4.判断是否按扇区克隆,若不是按扇区克隆,则按文件系统的使用情况进行克隆,即只克隆该卷已经使用的扇区;若是按扇区克隆,则使用磁盘读写的方式进行克隆;
步骤5.判断是否属于同类型的磁盘间克隆,若属于同类型的磁盘间克隆,则System分区与源系统分区按相同文件系统克隆;若不属于同类型的磁盘间克隆,则System分区需要格式化为对应的格式;
步骤6.克隆源系统其余分区;
步骤7.克隆完成后,判断是否属于同类型的磁盘间克隆;
步骤8.若属于同类型的磁盘间克隆,则进行同类型间的克隆引导修复;
步骤9.若不属于同类型的磁盘间克隆,则进行不同类型间的克隆引导修复;至此,克隆完成,克隆引导修复完成,系统正常启动。
在创建快照文件之前,需要先配置需要被克隆的系统的存储模式,配置服务器与需要克隆的系统的存储设备之间的映射关系;将系统的磁盘文件设为只读状态。然后,确定需要被克隆的系统的类型,确定需要被克隆的系统的状态;当该系统的状态为停止运行状态时,根据系统的类型以及系统的状态,创建需要被克隆的系统在某个时间点的快照文件;
创建第二快照文件,在第二快照文件中保存所述时间点之后的需要被克隆的系统中发生变化的相关数据;
根据创建完成的快照文件以及第二快照文件在目标服务器中生成对应的子系统。
创建快照包括:
确定需要被克隆的系统的类型,确定需要被克隆系统的状态;
当系统的状态为停止运行状态时,根据系统的类型以及系统的状态,创建系统在指定时间点的快照文件。
在目标位置中生成对应的子系统具体实现过程为:首先,将快照文件中的数据先写入到目标位置中生成对应的子系统;在目标位置对应的存储设备中保存先写入的数据。然后,在已经生成的目标位置的子系统中,将第二快照文件中的相关数据同步到该子系统中。
以上所述实施例是用以说明本发明,并非用以限制本发明,所以举例数值的变更或等效元件的置换仍应隶属本发明的范畴。
由以上详细说明,可使本领域普通技术人员明了本发明的确可达成前述目的,实已符合专利法的规定。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,应当指出的是,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种系统克隆方法,其特征在于,包括如下步骤:
步骤S1.初始化所有磁盘和卷;
步骤S2.选择合适的目标位置并构造克隆参数;
步骤S3.开始对源系统分区进行克隆,克隆之前尝试对源系统分区进行锁卷;如果不能锁卷,则需要为该卷创建快照,从快照中读取该卷的数据进行克隆;如果能锁卷,则直接使用磁盘读写的方式进行克隆;
步骤S4.判断是否按扇区克隆,若不是按扇区克隆,则按文件系统的使用情况进行克隆,即只克隆该卷已经使用的扇区;若是按扇区克隆,则使用磁盘读写的方式进行克隆;
步骤S5.判断是否属于同类型的磁盘间克隆,若属于同类型的磁盘间克隆,则System分区与源系统分区按相同文件系统克隆;若不属于同类型的磁盘间克隆,则System分区需要格式化为对应的格式;
步骤S6.克隆源系统其余分区;
步骤S7.克隆完成后,判断是否属于同类型的磁盘间克隆;
步骤S8.若属于同类型的磁盘间克隆,则进行同类型间的克隆引导修复;
步骤S9.若不属于同类型的磁盘间克隆,则进行不同类型间的克隆引导修复;至此,克隆完成,克隆引导修复完成,系统正常启动。
2.如权利要求1所述的一种系统克隆方法,其特征在于,步骤S1中,初始化所有磁盘和卷为初始化当前计算机的所有磁盘、分区和卷,并找出当前系统的System分区、Boot分区和Recovery分区。
3.如权利要求2所述的一种系统克隆方法,其特征在于,步骤S2中,选择合适的目标位置为判断目标磁盘是否具备克隆条件,如果目标磁盘的总容量小于系统分区的已使用空间容量之和,则目标磁盘不具备克隆条件,即目标位置不合适;如果目标磁盘的总容量大于或等于系统分区的已使用空间之和,则目标磁盘具备克隆条件,即目标位置合适。
4.如权利要求3所述的一种系统克隆方法,其特征在于,步骤S2中,如果磁盘类型不同,但满足空间大小的条件,也是具备克隆条件的。
5.如权利要求4所述的一种系统克隆方法,其特征在于,步骤S2中,构造克隆参数为根据选择的目标位置构造出系统克隆到目标位置后的虚拟形态。
6.如权利要求5所述的一种系统克隆方法,其特征在于,步骤S2中,构造克隆参数过程中,如果目标位置小于系统分区的总大小,则在构建目标位置的分区形态的时候需要缩小Boot分区,将Boot分区缩小到可以在目标位置容纳下系统的System分区、Boot分区和Recovery分区这三个分区为止。
7.如权利要求6所述的一种系统克隆方法,其特征在于,步骤S2中,构造克隆参数过程中,如果缩小Boot分区到达极限值还是不能满足条件,则检查System分区和Recovery分区是否还能缩小,如果可以缩小,则优先缩小Recovery分区,再缩小System分区。
8.如权利要求7所述的一种系统克隆方法,其特征在于,步骤S2中,构造克隆参数过程中,如果缩小System分区和Recovery分区后还是不能满足条件,则不能继续克隆。
9.如权利要求8所述的一种系统克隆方法,其特征在于,步骤S2中,构造克隆参数过程中,如果目标位置大于系统的总大小,则扩大目标磁盘上的系统分区,将Boot分区扩大到目标磁盘的容量减去System分区的容量和Recovery分区的容量之后的容量大小。
10.如权利要求9所述的一种系统克隆方法,其特征在于,步骤S2中,构造克隆参数过程中,如果目标位置与系统大小一致,则让目标磁盘与系统大小保持一致,或者改变System分区、Boot分区和Recovery分区的相对大小,但需满足目标磁盘的分区容量大于或等于系统的对应的分区已使用空间容量,即目标磁盘的分区能够容纳下系统的对应的分区。
CN202011425414.0A 2020-12-09 2020-12-09 一种系统克隆方法 Active CN112416657B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011425414.0A CN112416657B (zh) 2020-12-09 2020-12-09 一种系统克隆方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011425414.0A CN112416657B (zh) 2020-12-09 2020-12-09 一种系统克隆方法

Publications (2)

Publication Number Publication Date
CN112416657A true CN112416657A (zh) 2021-02-26
CN112416657B CN112416657B (zh) 2023-05-09

Family

ID=74775307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011425414.0A Active CN112416657B (zh) 2020-12-09 2020-12-09 一种系统克隆方法

Country Status (1)

Country Link
CN (1) CN112416657B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117112304A (zh) * 2023-08-31 2023-11-24 成都傲梅科技有限公司 一种磁盘克隆方法与系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545657A (zh) * 2001-08-31 2004-11-10 () 计算机硬盘数据备份及恢复方法
KR20090006928A (ko) * 2007-07-13 2009-01-16 주식회사 가자아이 컴퓨터 시스템의 백업 및 복원 방법
CN102567136A (zh) * 2010-12-15 2012-07-11 研祥智能科技股份有限公司 一种计算机系统的备份、还原方法、装置及计算机系统
CN105138431A (zh) * 2015-08-27 2015-12-09 厦门市美亚柏科信息股份有限公司 一种Linux系统的备份和还原方法
CN106326039A (zh) * 2016-08-24 2017-01-11 浪潮(北京)电子信息产业有限公司 一种磁盘中逻辑卷克隆的方法、装置及磁盘
CN106648957A (zh) * 2015-11-03 2017-05-10 中国移动通信集团安徽有限公司 一种操作系统备份和恢复方法及系统
CN108241550A (zh) * 2016-12-23 2018-07-03 研祥智能科技股份有限公司 一种操作系统备份还原方法
CN108829351A (zh) * 2018-06-04 2018-11-16 成都傲梅科技有限公司 一种mbr磁盘转gpt磁盘的方法及其系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545657A (zh) * 2001-08-31 2004-11-10 () 计算机硬盘数据备份及恢复方法
KR20090006928A (ko) * 2007-07-13 2009-01-16 주식회사 가자아이 컴퓨터 시스템의 백업 및 복원 방법
CN102567136A (zh) * 2010-12-15 2012-07-11 研祥智能科技股份有限公司 一种计算机系统的备份、还原方法、装置及计算机系统
CN105138431A (zh) * 2015-08-27 2015-12-09 厦门市美亚柏科信息股份有限公司 一种Linux系统的备份和还原方法
CN106648957A (zh) * 2015-11-03 2017-05-10 中国移动通信集团安徽有限公司 一种操作系统备份和恢复方法及系统
CN106326039A (zh) * 2016-08-24 2017-01-11 浪潮(北京)电子信息产业有限公司 一种磁盘中逻辑卷克隆的方法、装置及磁盘
CN108241550A (zh) * 2016-12-23 2018-07-03 研祥智能科技股份有限公司 一种操作系统备份还原方法
CN108829351A (zh) * 2018-06-04 2018-11-16 成都傲梅科技有限公司 一种mbr磁盘转gpt磁盘的方法及其系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
R GIOVANINI 等: "A primary and backup cooperative protection system based on wide area agents" *
高志鹏 等: "基于文件系统数据结构互补的NTFS引导扇区智能修复系统" *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117112304A (zh) * 2023-08-31 2023-11-24 成都傲梅科技有限公司 一种磁盘克隆方法与系统
CN117112304B (zh) * 2023-08-31 2024-02-20 成都傲梅科技有限公司 一种磁盘克隆方法与系统

Also Published As

Publication number Publication date
CN112416657B (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
CN110531940B (zh) 视频文件处理方法及装置
EP1739535B1 (en) File system storing transaction records in flash-like media
US7363540B2 (en) Transaction-safe FAT file system improvements
US20120084272A1 (en) File system support for inert files
JP2007012056A (ja) データ保全の先送りされた認証を有するファイルシステム
US8825653B1 (en) Characterizing and modeling virtual synthetic backup workloads
JP2007012054A (ja) ファイルシステム保全の最適化されたスタートアップ認証
US9921765B2 (en) Partial snapshots in virtualized environments
US8655847B2 (en) Mirroring data changes in a database system
EP2738688A1 (en) Method and apparatus for file system cleaning and storage medium thereof
EP3336702B1 (en) Metadata recovery method and device
KR20170125698A (ko) 일반화된 기록 동작 검증 방법
US9298733B1 (en) Storing files in a parallel computing system based on user or application specification
US9858287B2 (en) Storage system
CN111007990B (zh) 一种对快照系统中数据块引用进行快速定位的定位方法
CN106709014B (zh) 一种文件系统转换方法及装置
CN112800007B (zh) 适用于fat32文件系统的目录项扩展方法和系统
CN110795386B (zh) 一种数据写入方法和服务端
CN117112304B (zh) 一种磁盘克隆方法与系统
CN112416657A (zh) 一种系统克隆方法
KR20100011137A (ko) 고속 파일 복구가 가능한 fat 파일시스템을 사용한데이터 처리장치 및 데이터 처리방법
KR20100066735A (ko) 이동저장장치를 이용한 자동백업 시스템 및 그 방법
JP2008129967A (ja) ボリューム移行プログラム及び方法
CN111143110A (zh) 一种逻辑卷管理中基于元数据的raid数据恢复方法
CN114816542A (zh) 一种系统启动方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant