System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于计算机系统备份,具体为一种将当前系统迁移到vhd/vhdx的方法。
技术介绍
1、由于当代计算机的虚拟化越来越流行,更多的用户希望将自己的操作系统变为更稳定可靠的虚拟机或将自己的操作系统以及环境能够附身携带,但是传的系统迁移方法需要将整个windows系统迁移到usb设备上,导致usb设备的可使用空间变的非常的凌乱,针对用户的此种需求,本专利技术提供一种将windows系统迁移到vhd/vhdx的方法,这样避免用户的usb设备中的文件非常凌乱的问题,让用户更好的利用usb设备的空间,是一种化繁为整的系统迁移方法。
技术实现思路
1、本专利技术的目的在于提供一种将当前系统迁移到vhd/vhdx的方法,以解决
技术介绍
中提出的现有技术中,将整个windows系统迁移到usb设备上,导致usb设备的可使用空间变的非常的凌乱的问题。
2、为解决上述技术问题,本专利技术所采用的技术方案是:
3、一种将当前系统迁移到vhd/vhdx的方法,包括以下步骤:
4、步骤s1,检查当前系统的已使用空间和外部usb设备的大小,如果当前系统的已使用空间大于外部usb设备的总大小,则不支持将当前系统迁移到外部usb设备内,如果当前系统的已使用空间小于usb设备的空间则进入到下一步;
5、步骤s2,检查当前系统是否支持volume shadow copy服务,如果不支持volumeshadow copy服务,则进入步骤s3,通过windows pe迁
6、步骤s3中,检查当前系统环境是否满足制作windows pe的环境,如果不满足则直接结束,如果满足,则将当前系统的恢复环境中的wim文件拷贝到临时目录,通过windowsaik/adk的sdk挂载从恢复环境中拷贝出来的wim文件,完成windows pe的创建;
7、步骤s4,将当前系统迁移到vhd/vhdx的执行参数保存为配置文件;
8、步骤s5,在当前系统中创建一次性引导进windows pe的引导项;
9、步骤s6,通过调用windows系统重启的api,重启当前系统;当系统重启后会自动进入步骤s5中创建的引导项,随后计算机启动并进入步骤s3中制作的windows pe,进入windows pe后自动启动系统迁移程序;
10、步骤s7,当迁移程序启动之后会读取步骤s4中保存的配置文件,通过解析配置文件中的参数,获取到当前系统中操作系统所在的分区和usb设备,迁移程序根据配置文件中的用户设置将usb设备初始化;usb设备初始化后,在usb设备上创建fat32文件系统分区,该分区为system分区;
11、步骤s8,迁移程序获取到当前系统中操作系统的已经使用空间以及操作系统所在分区的总大小,根据用户的配置在usb设备上创建vhd/vhdx虚拟磁盘;
12、步骤s9,调用windows的fsctl_lock_volume控制码执行锁卷操作,锁定当前系统的系统分区;
13、步骤s10,从当前系统中解析已使用的扇区,拷贝到挂载的vhd/vhdx虚拟磁盘中,具体为:
14、步骤s1001,从当前系统中拷贝pcat文件夹中所有的文件到system分区中;
15、步骤s1002,拷贝当前系统的bootmgr文件到system分区的根目录,并重命名为ntldr;
16、步骤s1003,拷贝\windows\boot\pcat\bcd文件到system分区的boot目录中,拷贝\windows\boot\pcat\bootmgr到system分区的根目录;
17、步骤s11,加载system分区中的\boot\bcd文件并为其创建vhd引导项,完成后挂载system文件;
18、步骤12,拷贝\windows\boot\pcat\bcd文件到system分区的boot目录中,拷贝\windows\boot\pcat\bootmgr到system分区的根目录,修复引导项;
19、步骤s12,当引导项修改完成后,通过调用aik/adk中的提交保存接口,将之前对vhd/vhdx的修改保存,随后从windows磁盘管理器中卸载vhd/vhdx虚拟磁盘;
20、步骤s13,结束。
21、根据上述技术方案,步骤s3中,将当前系统迁移的执行程序拷贝到wim文件中,并将wim文件中的迁移执行程序设置开机启动,通过windowsaik/adk的保存接口将挂载出来的wim重新保存,并将wim拷贝到windows所在分区的根目录中。
22、根据上述技术方案,步骤s7中,usb设备初始化具体为:将usb设备初始化为mbr磁盘或gpt磁盘;
23、如果将usb设备初始化为mbr磁盘,则需要将fat32文件系统分区设置为活动分区;
24、如果将usb设备初始化为gpt磁盘,则需要将fat32文件系统分区设置有efi分区。
25、根据上述技术方案,步骤s9中,调用windows的fsctl_lock_volume控制码执行锁卷操作锁定源的系统分区具体为:
26、步骤s901,通过调用aik/adk将虚拟磁盘挂载到windows的磁盘管理器中;
27、步骤s902,迁移程序再调用windows的fsctl_lock_volume控制码执行锁卷操作,将windows的系统所在分区执行锁卷;
28、步骤s903,迁移程序通过解析系统分区的文件系统,将系统分区中已经使用的扇区拷贝到挂载windows磁盘管理器的虚拟磁盘中,直至将所有已经使用的扇区都拷贝到挂载到windows磁盘管理器的vhd/vhdx虚拟磁盘中。
29、根据上述技术方案,步骤s2中,如果当前系统支持volume shadow copy服务,则通过以下步骤,完成系统迁移;
30、步骤b1,对windows的系统分区创建快照,如果快照创建成功,则进入步骤b2;如果创建快照失败,则进入步骤s2;
31、步骤b2,将usb设备初始化,并在usb设备上创建fat32文件系统分区,该分区为system分区;
32、步骤b3,获取操作系统已经使用空间以及操作系统所在分区的总大小;
33、步骤b4,创建vhd/vhdx虚拟磁盘,并调用aik/adk将虚拟磁盘挂载到windows的磁盘管理器中,再通过读取vss快照并解析系统分区的文件系统;
34、步骤b5,将系统分区已经使用的扇区拷贝到挂载到windows磁盘管理器的vhd/vhdx虚拟磁盘中,直至将所有已经使用的扇区都拷贝到挂载到windows磁盘管理器的vhd/vhdx虚拟磁盘中为止;
35、步骤b6,从快照中解析已使用的扇区,拷贝到挂载的vhd/vhdx虚拟磁盘中,具体为:
36、步本文档来自技高网...
【技术保护点】
1.一种将当前系统迁移到vhd/vhdx的方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种将当前系统迁移到vhd/vhdx的方法,其特征在于:步骤S3中,将当前系统迁移的执行程序拷贝到WIM文件中,并将WIM文件中的迁移执行程序设置开机启动,通过Windows AIK/ADK的保存接口将挂载出来的WIM重新保存,并将WIM拷贝到Windows所在分区的根目录中。
3.根据权利要求1所述的一种将当前系统迁移到vhd/vhdx的方法,其特征在于:步骤S7中,USB设备初始化具体为:将USB设备初始化为MBR磁盘或GPT磁盘;
4.根据权利要求1所述的一种将当前系统迁移到vhd/vhdx的方法,其特征在于:步骤S9中,调用Windows的FSCTL_LOCK_VOLUME控制码执行锁卷操作锁定源的系统分区具体为:
5.根据权利要求1所述的一种将当前系统迁移到vhd/vhdx的方法,其特征在于:步骤S2中,如果当前系统支持Volume Shadow Copy服务,则通过以下步骤,完成系统迁移;
【技术特征摘要】
1.一种将当前系统迁移到vhd/vhdx的方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种将当前系统迁移到vhd/vhdx的方法,其特征在于:步骤s3中,将当前系统迁移的执行程序拷贝到wim文件中,并将wim文件中的迁移执行程序设置开机启动,通过windows aik/adk的保存接口将挂载出来的wim重新保存,并将wim拷贝到windows所在分区的根目录中。
3.根据权利要求1所述的一种将当前系统迁移到vhd/vhdx的方法,其特征在...
【专利技术属性】
技术研发人员:先泽强,
申请(专利权)人:成都傲梅科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。