|
thinkpa的F11键或蓝键恢复系统
thinkpa的F11键或蓝键按下后启动的是隐藏分区的tvtos\winpe.wim,它要配合隐藏分区的的其它文件才能进行恢复,如果选择完全恢复,那么将自动重启后启动隐藏分区的Recovry\WindowsRE\winRE.wim进入完全恢复的界面,由此有两个问题产生:
1、为什么重启后会自动启动启动隐藏分区的Recovry\WindowsRE\winRE.wim,而不是启动windows系统
2、为什么能进入完全恢复的界面,而不是修复界面,因为winRE.wim实际就是win7的修复计算机的文件,也就是按F8启动的文件,运行的\sources\recovery\RecEnv.exe,能进入完全恢复的界面说明它里面有thinkpad的恢复工具,在\sources\recovery确实里面有tool文件夹,那是怎样判断什么情况下启动\sources\recovery\RecEnv.exe和什么情况下启动\sources\recovery\tool下的还原工具呢,查看了一下\Windows\System32\winpeshl.ini,内容为:
[LaunchApp]
AppPath=x:\windows\system32\lrecenv.exe
而一般情况下是
[LaunchApp]
AppPath=x:\sources\recovery\RecEnv.exe
说明lrecenv.exe可以启动修复和恢复,它能进行判断,具体是怎么判断的呢
第1个问题
可以根据bcd文件中有一项/bootsequence 为启动管理器设置一次性启动序列。(也就是在下次启动时启动被设置的启动项,启动完成后,下次再重启时就按原来的启动了,也就是说只有一次优先启动),来判断在winpe中选择完全恢复时就向隐藏分区的boot\下的bcd写入了/bootsequence,事实如此,在winpe中选择完全恢复时插入一个启动u盘,设置u盘启动,启动后查看隐藏分区的boot\下的bcd,确实写入了/bootsequence 后面的内容指向winre的标识。
第2个问题
\sdrivebackup.wim解压\preboot\Recovery\下面有recover.cmd和OVRWINRE
OVRWINRE可用winhex.exe查看或者把OVRWINRE改名为OVRWINRE.txt查看内容为X:\sources\recovery\tools\recov7.exe,说明有可能是winre启动后读取了这个文件,同样进行第1个问题判断bcd内容的方式在winpe中选择完全恢复时插入一个启动u盘,设置u盘启动,启动后查看隐藏分区根目录下确实有一个OVRWINRE,但是不是没选择完全恢复它就存在里面了的呢,那就取下u盘,重启,进入完全恢复后界面,选择取消重启插入一个启动u盘,设置u盘启动,启动后查看隐藏分区根目录下已经没有了,说明选择取消或是进行恢复都会删除OVRWINRE,也就是说隐藏分区根目录平时不会存在OVRWINRE。
如果OVRWINRE确实是起到判断的条件,那么我们可以拷贝OVRWINRE到隐藏分区根目录下,按下F8键,本来应该启动到修复界面,但实际进入完全恢复界面,事实如此,你可以试一下,太让人惊喜了。
那又是怎么想到会去查看OVRWINRE文件呢,因为找第2个问题的原因只能分析在隐藏分区根目录下的文件,\preboot\Recovery\下面有recover.cmd的文件名和恢复有关,在winpe中选择完全恢复时可能就启动了这个文件,先看下里面的内容其中有
for /F "usebackq tokens=1,*" %%I IN (`bcdedit /enum osloader ^| find /I "recoverysequence"`) DO bcdedit /bootsequence %%J
这句验证了对第1个问题的判断,向隐藏分区的boot\下的bcd写入了/bootsequence
copy /Y %tvtdrive%\preboot\recovery\OVRWINRE %tvtdrive%\OVRWINRE
把OVRWINRE拷贝到了隐藏分区的根目录,这句可以说验证了对第2个问题的判断
以下是lrecenv.exe文件中的内容说明了lrecenv.exe可以启动recenv.exe和recov7.exe
x:\sources\recovery\recenv.exe \ runas %c:\ Could not get volume label of volume %s.
Opened %s.
Got exe file path from ovrwinre file: %s.
意思是从ovrwinre中获取要启动的程序路径,ovrwinre中的内容是X:\sources\recovery\tools\recov7.exe
ovrwinre在恢复界面中用户选择取消或是进行恢复都会被删除,以下内容是recov7.exe中的,可以说明是被recov7.exe删除的
if exist %s:\OVRWINRE del %s:\OVRWINRE |
评分
-
查看全部评分
|