如何利用WINPE制作恢复光盘/恢复分区

一、使用WINPE制作恢复光盘

1、首先在开发机上以Adminstrator用户运行Cmd,进到WES7 安装目录下的PETools文件夹,如d:\program files\windows embedded standard7\Tools\PETools,运行如下命令:

 

copype.cmd x86 c:\winpe_x86


如果目标机为64位,则将中间的参数“x86”换成“AMD64”,后面的路径可以随便指定。

2、然后,进到以上命令指定的路径,即c:\winpe_x86,输入:

Copy c:\winpe_amd64\winpe.wim c:\winpe_amd64\ISO\sources\boot.wim(这是网上的)

Dism /Mount-Wim /Wimfile:c:\winpe_x86\ISO\sources\boot.wim /index:1 /MountDir:C:\winpe_x86\mount

 

copy c:\winpe_x86\ISO\bootmgr c:\winpe_x86\mount


mkdir c:\winpe_x86\mount\boot


xcopy /cherky C:\winpe_x86\ISO\boot C:\winpe_x86\mount\boot\

   

至此,一个简单的PE环境已经构建完成,接下来可以根据需要使用dism /add-package,dism /add-driver等命令向PE中添加需要的组件或驱动,本文介绍如何让PE启动后自动运行备份/恢复系统。

 

3、在命令行下输入:

Notepad winpeshl.ini

在记事本中输入:

[LaunchApp]

AppPath = 1.bat

保存该文件至C:\winpe_x86\mount\Windows\System32下

接着在命令行下输入:

Notepad 1.bat

在记事本中输入:

@echo off

color 0a

title backup/restore system

echo 1-----backup

echo 2-----restore

echo 3-----good bye

echo.

set /p ans=

if %ans%==1 goto backup

if %ans%==2 goto restore

if %ans%==3 goto end

:backup

imagex /capture C: e:\wes7_bakup.wim "WES7 Backup Image"

goto end

:restore

imagex /apply e:\wes7_bakup.wim 1 c:

goto end

:end

echo.

Exit

保存该文件至C:\winpe_x86\mount\Windows\System32下

其中“e:\”为保存备份镜像的分区,“wes7_backup.wim”为镜像文件,可根据实际情况修改。

将WES7安装目录下的imagex.exe(位于WES7安装路径的Tools\x86或AMD64下)拷贝到C:\winpe_x86\mount\Windows\System32下,请注意32位系统与64位系统的区别。

如果要实现在Winpe下自动分区,只需将分区脚本disksp.txt拷贝到C:\winpe_x86\mount\Windows\System32下,然后在上面的批处理加一行:diskpart /s disksp.txt

 

4、下面开始制作Winpe的启动条目,在命令行下依次输入以下命令:

del c:\winpe_x86\mount\boot\BCD

bcdedit /createstore c:\winpe_x86\mount\boot\BCD

bcdedit /store c:\winpe_x86\mount\boot\BCD -create {bootmgr} /d “Boot Manager”

bcdedit /store c:\winpe_x86\mount\boot\BCD -set {bootmgr} device boot

bcdedit /store c:\winpe_x86\mount\boot\BCD -create /d “WINPE” -application osloader


5、当上面最后一条命令输入完毕后,会生成一个GUID。然后再依次输入以下命令:

bcdedit /store c:\winpe_x86\mount\boot\BCD -set <GUID> osdevice boot

bcdedit /store c:\winpe_x86\mount\boot\BCD -set <GUID> device boot

bcdedit /store c:\winpe_x86\mount\boot\BCD -set <GUID> path \windows\system32\winload.exe

bcdedit /store c:\winpe_x86\mount\boot\BCD -set <GUID> systemroot \windows

bcdedit /store c:\winpe_x86\mount\boot\BCD -set <GUID> winpe yes

bcdedit /store c:\winpe_x86\mount\boot\BCD -displayorder <GUID> -addlast

 

其中要以第4步生成的GUID替换以上所有命令中的<GUID>,一定要带{}。

 

6、最后,输入以下命令,生成ISO文件:

oscdimg -n -m -o -bc:\winpe_x86\etfsboot.com c:\winpe_x86\mount c:\winpe_x86\winpe_x86.iso

然后用这个ISO文件刻录光盘,就可以使用这张光盘作为系统恢复光盘。

 

二、将WINPE部署到硬盘

这种方法适用于不带光驱的机器,注意:以下步骤请在目标机已经部署好WES7后进行。1、按照第一部分的1、2、3步搭建好Winpe环境。

 

2、输入以下命令,将做好的Winpe环境打包:

dism /Unmount-Wim /MountDir:C:\winpe_x86\mount /Commit

   将打包好的Winpe.wim以及imagex.exe拷贝到U盘上备用。

 

3、用WES7 IBW光盘启动目标机,进入安装界面后,按下键盘的shift+F10,调出命令行,将拷有Winpe.wim的U盘接入目标机,系统会自动给U盘分配盘符(假设为F)

在目标机上输入以下命令:

f:\imagex /apply f:\Winpe.wim 1 e:

其中f为U盘盘符,e为Winpe将要部署到的分区。可根据实际情况修改。

 

4、接着输入:

bcdedit -store c:\boot\BCD -create  /d “WINPE” -application osloader

会生成一个GUID,记下这个GUID。

 

5、依次输入以下命令:

bcdedit -store c:\boot\BCD -set <GUID> osdevice partition=E:

bcdedit -store c:\boot\BCD -set <GUID> device partition=E:

bcdedit -store c:\boot\BCD -set <GUID> path \windows\system32\boot\winload.exe

bcdedit -store c:\boot\BCD -set <GUID> systemroot \windows

bcdedit -store c:\boot\BCD -set <GUID> winpe yes

bcdedit -store c:\boot\BCD -displayorder <GUID> -addlast

同样要以第4步生成的GUID替换以上所有命令中的<GUID>,一定要带{}。

其中,第一、二条命令里的“partition=E:”为Winpe所在的分区,请根据实际情况修改

 

 

注意:无论winpe安转到哪个盘符下,winpe启动后都是x盘

重启系统后,可以看到如下界面:

 

 

 

 

 

附录:

如何隐藏分区

打开注册表,定位到HKCU\software\microsoft\windows\currentversion\policies\explorer\,在右侧新建二进制值,名称为NoDrives,值根据以下说明设:

盘符

A

B

C

D

E

F

G

H

数值

01000000

02000000

04000000

08000000

10000000

20000000

40000000

80000000

盘符

I

J

K

L

M

N

O

P

数值

00010000

00020000

00040000

00080000

00100000

00200000

00400000

00800000

盘符

Q

R

S

T

U

V

W

X

数值

00000100

00000200

00000400

00000800

00001000

00002000

00004000

00008000

盘符

Y

Z

All

 

 

 

 

 

数值

00000001

00000002

FFFFFFFF

 

 

 

 

 

同时隐藏多个分区,需要将要隐藏分区的数值相加,结果以十六进制保存,如隐藏d盘和e盘,NoDrives值改为18 00 00 00(08 00 00 00+10 00 00 00),其它分区参考设置即可

这样修改是针对当前用户的,如果需要设置为所有用户隐藏,可定位到HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer下做修改。