如何利用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下做修改。