一种使用当前系统恢复环境制作WindowsPE的方法技术方案

技术编号:37334202 阅读:11 留言:0更新日期:2023-04-21 23:12
本发明专利技术公开了一种使用当前系统恢复环境制作WindowsPE的方法,包括以下步骤:步骤S1,定位到当前系统的恢复环境所在位置;步骤S2,在所有分区中寻找WIM文件,步骤S3,自定义文件的添加;步骤S4,安装相应的驱动;步骤S5,开始文件拷贝;步骤S6,将挂载的winre.wim保存并卸载;步骤S7,ISO镜像的制作。通过本发明专利技术中的方法,可以在经过微软授权的操作系统的恢复环境中制作PE,同时,也可以在恢复系统的同时,将当前系统中的驱动恢复到PE中,从而解决了在PE中不能识别驱动设备的问题。同时使用当前操作系统的恢复环境制作的Windows PE又可以确保最良好的兼容性。良好的兼容性。良好的兼容性。

【技术实现步骤摘要】
一种使用当前系统恢复环境制作WindowsPE的方法


[0001]本专利技术属于计算机信息安全
,具体为一种使用当前系统恢复环境制作WindowsPE的方法。

技术介绍

[0002]因为操作系统有时会因有意或者无意的原因遭到破坏,从而导致操作系统无法启动或者工作异常,这时候IT人员需要一种Windows PE系统,从Windows PE系统去修复被破坏的Windows操作系统。
[0003]但是,这样制作的WindowsPE会存在缺少相应的设计驱动,导致在制作的WindowsPE下无法使用键盘、鼠标等设备,或存在无法识别磁盘分区这样的问题,所以本专利技术提供一种能够提取当前操作系统的相关设备驱动制作到WindowsPE中,以解决WindowsPE下无法识别鼠标、键盘、磁盘等问题。

技术实现思路

[0004]本专利技术的目的在于提供一种使用当前系统恢复环境制作WindowsPE的方法,以解决
技术介绍
中提出的从Windows PE系统去修复被破坏的Windows操作系统时存在WindowsPE会存在缺少相应的设计驱动,导致在制作的WindowsPE下无法使用键盘、鼠标等设备的问题。
[0005]为解决上述技术问题,本专利技术所采用的技术方案是:
[0006]一种使用当前系统恢复环境制作WindowsPE的方法,包括以下步骤:
[0007]步骤S1,首先,定位到当前系统的恢复环境所在位置;
[0008]步骤S2,在所有分区中寻找WIM文件,如果在分区中找到WIM文件,则在当前系统中找到未使用空间最大的分区并创建一个临时目录,将该WIM文件拷贝到该临时目录,并将WIM文件挂载到临时目录;如果在分区中没有找到WIM文件,则需要通过服务器下载WIM文件;
[0009]步骤S3,提取驱动;提取系统中所支持的驱动;
[0010]步骤S4,将提取到的驱动复制到临时目录中;
[0011]步骤S5,以上步骤完成后,需要将挂载的winre.wim保存并卸载;具体为:调用wimgapi库的WIMUnmountImage函数保存WIM镜像,若出错则调用DISM.exe/Unmount

Wim(DISM.exe/Unmount

Wim/MountDir:C:
est\offline(挂载的目录)/commit)保存并卸载winre.wim文件;
[0012]步骤S6,ISO镜像的制作,具体为:
[0013]步骤S601,从当前系统Windows\Boot目录中获取winre.wim文件,并接着构建目录树:
[0014]步骤S602,使用Windows SDK中IFileSystemImage2接口把目录结构打包成ISO镜像文件。
[0015]根据上述技术方案,步骤S2中,在分区中找到WIM文件具体为:
[0016]步骤S101,找到当前系统的系统分区,打开当前系统的BCD文件并枚举其键值且定位到子键12000004,;
[0017]步骤S102,如果子键的Element值为:Windows Recovery Environment或Windows Recovery,则读取父键的GUID值;
[0018]步骤S103,把GUID与系统盘符构建如下形式的路径:系统所在盘符:\Recovery\GUID值\winre.wim;
[0019]步骤S104,并检查此路径文件是否存在,如果不存在,则开始查看:系统分区:\Recovery\GUID值\winre.wim”;
[0020]步骤S105,判断系统所在盘是否找到WIM;如果系统所在盘未查找到WIM,则打开注册表System\Setup键,读取SystemPartition值的数据,确定系统分区的设备路径;
[0021]步骤S106,使用系统提供的接口为其分配一个符号链接,通过构建路径:系统分区的符号链接\Recovery\GUID值\winre.wim,再访问此路径是否存在文件;若存在文件,则保存此路径供后续流程使用,若不存在则进入下一步查找;
[0022]步骤S107,打开路径:C:\Windows\System32\Recovery\ReAgent.xml中的文件读取WinreBCD字段的值,若无此文件或此字段无值,则打开路径:C:\Recovery\Logs\Reload.xml并读取WinreBCD字段的值,如果不存在此文件或此字段无值,则进入下一步查找;如果存在相应的GUID值,则将此GUID值拼装成:系统分区的符号链接\Recovery\GUID值\winre.wim;以备后续使用。
[0023]根据上述技术方案,如果通过步骤S101至步骤S107无法找到WIM文件,则需要通过以下步骤进行补充查找:
[0024]步骤S111,枚举引导分区路径:\Recovery下的所有文件和子文件,查找名为:Winre.wim的文件,如果没有找到则进入第下一步;
[0025]步骤S112,判断引导分区路径:\Windows\System32\Recovery\winre.wim中winre.wim文件是否存在;如果没有找到则进入第下一步;
[0026]步骤S113,为SystemPartition分区创建符号链接,构建路径:符号链接\Recovery\WindowsRE\winre.wim;如果此路径下依旧没有找到winre.wim文件,则通过服务器下载WIM文件,首先在当前系统中寻找到一个未使用空间最大的分区,然后在这个分区中创建一个临时文件夹,并将服务器上的WIM文件下载这个临时文件夹中;
[0027]如果找到WIM文件,则在当前系统中找到未使用空间最大的分区并创建一个临时目录,并将该WIM文件拷贝到该临时目录。
[0028]根据上述技术方案,为系统分区创建符号链接具体为:
[0029]步骤S201,首先打开注册表路径:计算机\HKEY_LOCAL_MACHINE\SYSTEM\Setup\SystemPartition;并读取出SystemPartition的键值;
[0030]步骤S202,通过调用Windows的SDK DefineDosDevice函数分配访问的符号链接,当Windows PE制作完成后需要调用DeleteVolumeMountPoint函数删除为其分配的符号链接。
[0031]根据上述技术方案,步骤S4中,将驱动复制到临时目录中具体为:
[0032]步骤S401,调用Windows ADK的WIM函数来挂载拷贝到临时目录的winre.wim文件,
若调用Windows ADK挂载失败,则使用Dism.exe,将拷贝到临时目录中的winre.wim文件挂载到一个临时目录,临时目录即为PE根目录;
[0033]步骤S402,挂载后,通过读取PE根目录下的路径:Windows\System32\ntdll.dll文件的P本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种使用当前系统恢复环境制作WindowsPE的方法,其特征在于:包括以下步骤:步骤S1,首先,定位到当前系统的恢复环境所在位置;步骤S2,在所有分区中寻找WIM文件,如果在分区中找到WIM文件,则在当前系统中找到未使用空间最大的分区并创建一个临时目录,将该WIM文件拷贝到该临时目录,并将WIM文件挂载到临时目录;如果在分区中没有找到WIM文件,则需要通过服务器下载WIM文件;步骤S3,提取驱动;提取系统中所支持的驱动;步骤S4,将提取到的驱动复制到临时目录中;步骤S5,以上步骤完成后,需要将挂载的winre.wim保存并卸载;具体为:调用wimgapi库的WIMUnmountImage函数保存WIM镜像,若出错则调用DISM.exe/Unmount

Wim(DISM.exe/Unmount

Wim/MountDir:C:\test\offlin e(挂载的目录)/commit)保存并卸载winre.wim文件;步骤S6,ISO镜像的制作,具体为:步骤S601,从当前系统Windows\Boot目录中获取winre.wim文件,并接着构建目录树:步骤S602,使用Windows SDK中IFileSystemImage2接口把目录结构打包成ISO镜像文件。2.根据权利要求1所述的一种使用当前系统恢复环境制作WindowsPE的方法,其特征在于:步骤S2中,在分区中找到WIM文件具体为:步骤S101,找到当前系统的系统分区,打开当前系统的BCD文件并枚举其键值且定位到子键12000004,;步骤S102,如果子键的Element值为:Windows Recovery Environment或Windows Recovery,则读取父键的GUID值;步骤S103,把GUID与系统盘符构建如下形式的路径:系统所在盘符:\Rec overy\GUID值\winre.wim;步骤S104,并检查此路径文件是否存在,如果不存在,则开始查看:系统分区:\Recovery\GUID值\winre.wim”;步骤S105,判断系统所在盘是否找到WIM;如果系统所在盘未查找到WIM,则打开注册表System\Setup键,读取SystemPartition值的数据,确定系统分区的设备路径;步骤S106,使用系统提供的接口为其分配一个符号链接,通过构建路径:系统分区的符号链接\Recovery\GUID值\winre.wim,再访问此路径是否存在文件;若存在文件,则保存此路径供后续流程使用,若不存在则进入下一步查找;步骤S107,打开路径:C:\Windows\System32\Recovery\ReAgent.xml中的文件读取WinreBCD字段的值,若无此文件或此字段无值,则打开路径:C:\Recovery\Logs\Reload.xml并读取WinreBCD字段的值,如果不存在此文件或此字段无值,则进入下一步查找;如果存在相应的GUID值,则将此GUID值拼装成:系统分区的符号链接\Recovery\GUID值\winre.wim;以备后续使用。3.根据权利要求2所述的一种使用当前系统恢复环境制作WindowsPE的方法,其特征在于:如果通过步骤S101至步骤S107无法找到WIM文件,则需要通过以下步骤进行补充查找:步骤S111,枚举引导分区路径:\Recovery下的所有文件和子文件,查找名为:Winre.wim的文件,如果没有找到则进入第下一步;
步骤S112,判断引导分区路径:\Windows\System32\Recovery\winre.wim中winre.wim文件是否存在;如果没有找到则进入第下一步;步骤S113,为SystemPartition分区创建符号链接,构建路径:符号链接\Recovery\WindowsRE\win...

【专利技术属性】
技术研发人员:龚永军
申请(专利权)人:成都傲梅科技有限公司
类型:发明
国别省市:

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

1