天天阁下 发表于 2020-10-31 22:49

联想一键恢复

联想一键恢复研究包含了OKR7.0      OKR8.1   OKR9.0基础理论OKR7.0OKR8.1OKR9.0基础理论:自定义BOOTMGR快捷键和添加硬件恢复按钮以启动Windows REBIOS(MBR)格式的就是BOOTMGR快捷键借鉴无忧作者(nttwqz): nttwqz的帖子,他是添加了第一第二按钮,如果我们是在带有硬件按钮的机器上,我们就不能使用第一个占位了,我们需要从第二个按钮开始添加,例子:bcdedit /store {%BCD%} /set{bootmgr} customactions 0x10000400000010x54000002 0x1000041000001 0x54000003 bcdedit /store {%BCD%} /set{bootmgr} custom:54000002    {7619dcc9-fafe-11d9-b411-000476eba25f}bcdedit /store {%BCD%} /set{bootmgr} custom:54000003    {7619dcc9-fafe-11d9-b411-000476eba25f}(这里我添加了F6和F7作为示例)

按照nttwqz说支持的按键如下F1 F2 F3 F4 F5F6 F7 F8 F9 F10
方向键:↑↓←→
Home End PgUp PgDn Delete Insert
我们只需要剔除机器的特定快捷键,例如Lenovo和DELL都是F2和F12进入BIOS和菜单,F8 F10已经被系统占用
如果是老机器需要安装硬件模块,新机器应该不需要如何分辨新老机器,老机器按下还原按钮直接进入恢复,新机器按下后需要选择system recovery
硬件按钮介绍完了,下面介绍一下winre在mbr时期,也有winre只不过联想没有加入tools,其他品牌都加入了,通过自定义硬件按钮也可以进入winre.而联想只有novo按键.
到了win10后期引入了微软的还原方法和一部分的novo一键还原所以说MBR和GPT都同样支持winre和硬件还原但是!!!!之前不是说了可以通过自定义按键来进入恢复环境吗,但是!!!GPT+UEFI(特别是UEFI的硬件还原都集成到了bios(system recovery))原因:MBRà BOOTMGR(可自定义按键winload.exe)->达到用户自定义按键来进入恢复环境GPT->UEFI(不可自定义winload.efi)->所以很多品牌都有代替方案(winre)(dell 华硕等)下图是dell的winre菜单界面
                              总结:MBR格式支持自定义按键进入恢复环境,GPT格式用winre代替方案进入恢复环境接下来OKR7外,OKR8,9都支持MBR和GPT所以OKR8,9,我会讲解两种部署方案效果:MBR:联想电脑可通过NOVO按键或者 自定义按键 或者Winre菜单(MBR格式我没有加入winre,想要加的可以参考OKR9UEFI的教程添加winre)进入一键恢复       非联想电脑只能通过自定义按键进入一键恢复GPT:联想电脑可通过NOVO按键或者Winre菜单进入一键恢复       非联想电脑只能通过Winre菜单进入一键恢复OKR7.0@echo offset workdir=%~dp0diskpart /s %workdir%\OKR701.ini
//安装模块(不太清楚,应该是OKR中的模块分区(杀毒.硬件按钮.(老机器需要安装)) %workdir%\HDTOOL.EXE /CLR%workdir%\HDTOOL.EXE /0201 20m /0606 20m%workdir%\hsetup.exe /main %workdir%\dm.rom%workdir%\hsetup.exe /0606%workdir%\jet2vm.rom
//分区diskpart /s %workdir%\OKR702.ini
//安装恢复分区dism /Apply-Image /ImageFile:%workdir%\LENOVO_PART.okr/Index:1 /ApplyDir:Q:\
//安装系统(要在当前目录放一个系统wim文件~)dism /Apply-Image/ImageFile:%workdir%\install.wim /Index:1 /ApplyDir:T:\
//创建引导bcdboot T:\Windows /s S:
//硬件按钮bcdedit /store S:\Boot\BCD /create{7619dcc8-fafe-11d9-b411-000476eba25f} /d "Device Options" /devicebcdedit /store S:\Boot\BCD /set{7619dcc8-fafe-11d9-b411-000476eba25f} ramdisksdidevice partition=Q:bcdedit /store S:\Boot\BCD /set{7619dcc8-fafe-11d9-b411-000476eba25f} ramdisksdipath \boot\boot.sdibcdedit /store S:\Boot\BCD /create{7619dcc9-fafe-11d9-b411-000476eba25f} /d "Windows Setup"/application osloaderbcdedit /store S:\Boot\BCD /set{7619dcc9-fafe-11d9-b411-000476eba25f} deviceramdisk=\OneKey\PE\lrs.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}bcdedit /store S:\Boot\BCD /set{7619dcc9-fafe-11d9-b411-000476eba25f} path \windows\system32\boot\winload.exebcdedit /store S:\Boot\BCD /set{7619dcc9-fafe-11d9-b411-000476eba25f} locale en-USbcdedit /store S:\Boot\BCD /set{7619dcc9-fafe-11d9-b411-000476eba25f} osdeviceramdisk=\OneKey\PE\lrs.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}bcdedit /store S:\Boot\BCD /set{7619dcc9-fafe-11d9-b411-000476eba25f} systemroot \windowsbcdedit /store S:\Boot\BCD /set{7619dcc9-fafe-11d9-b411-000476eba25f} detecthalYesbcdedit /store S:\Boot\BCD /set{7619dcc9-fafe-11d9-b411-000476eba25f} winpeYesbcdedit /store S:\Boot\BCD /set{7619dcc9-fafe-11d9-b411-000476eba25f} vgaNobcdedit /store S:\Boot\BCD /set{7619dcc9-fafe-11d9-b411-000476eba25f} quietboot   Yesbcdedit /store S:\Boot\BCD /set{7619dcc9-fafe-11d9-b411-000476eba25f} emsYes

//这里按照自己的实际按键来修改,我这里是F6和F7(不止可以添加两个哦)bcdedit /store S:\Boot\BCD /set{bootmgr} displaybootmenu Nobcdedit /store S:\Boot\BCD /set{bootmgr} customactions 0x1000040000001 0x54000002 0x1000041000001 0x54000003 bcdedit /store S:\Boot\BCD /set{bootmgr} custom:54000002 {7619dcc9-fafe-11d9-b411-000476eba25f}bcdedit /store S:\Boot\BCD /set{bootmgr} custom:54000003 {7619dcc9-fafe-11d9-b411-000476eba25f}
//winre 开启修复copy %workdir%\fix.cmd T:\Windows\System32reg load hklm\backupT:\Windows\System32\config\softwarereg addHKLM\backup\Microsoft\Windows\CurrentVersion\RunOnce /v fix /t reg_sz /d"c:\windows\system32\fix.cmd" /freg unload hklm\backup
//备份系统Dism /Capture-Image /CaptureDir:T:\/ImageFile:Q:\OKRBackup\Factory\OS.okr /Name:"Windows7_OS PBR Image"Dism /Capture-Image /CaptureDir:S:\/ImageFile:Q:\OKRBackup\Factory\Boot.okr /Name:" "
//设置隐藏分区diskpart /s%workdir%\tools\ini\SYDT70_Attrib.ini
echo 完成pause
我用了一个批处理来执行全部操作

OKR8和OKR9的部署(以OKR9为例,8和9是一样的,其中只有Winre恢复不一样,不过不影响,这里就不赘述了)这里一样老机器需要安装模块,新机器不必,这里就没有演示安装模块!!!!!
这里就分mbr和gpt的两种了//OKR9_MBR@echo offset workdir=%~dp0//分区diskpart /s %workdir%\OKR9_BIOS.ini//安装恢复分区dism /Apply-Image/ImageFile:%workdir%\LENOVO_PART.okr /Index:1 /ApplyDir:Q:\//安装系统dism /Apply-Image/ImageFile:%workdir%\install.wim /Index:1 /ApplyDir:T:\//设置引导bcdboot T:\Windows /s S://设置硬件按钮bcdedit /store S:\Boot\BCD /create{7619dcc8-fafe-11d9-b411-000476eba25f} /d "Device Options" /devicebcdedit /store S:\Boot\BCD /set{7619dcc8-fafe-11d9-b411-000476eba25f} ramdisksdidevice partition=Q:bcdedit /store S:\Boot\BCD /set{7619dcc8-fafe-11d9-b411-000476eba25f} ramdisksdipath \boot\boot.sdibcdedit /store S:\Boot\BCD /create{7619dcc9-fafe-11d9-b411-000476eba25f} /d "Windows Setup"/application osloaderbcdedit /store S:\Boot\BCD /set{7619dcc9-fafe-11d9-b411-000476eba25f} device ramdisk=\onekey\winpe\lrs.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}bcdedit /store S:\Boot\BCD /set{7619dcc9-fafe-11d9-b411-000476eba25f} path \windows\system32\boot\winload.exebcdedit /store S:\Boot\BCD /set{7619dcc9-fafe-11d9-b411-000476eba25f} locale en-USbcdedit /store S:\Boot\BCD /set{7619dcc9-fafe-11d9-b411-000476eba25f} osdeviceramdisk=\onekey\winpe\lrs.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}bcdedit /store S:\Boot\BCD /set{7619dcc9-fafe-11d9-b411-000476eba25f} systemroot \windowsbcdedit /store S:\Boot\BCD /set{7619dcc9-fafe-11d9-b411-000476eba25f} detecthalYesbcdedit /store S:\Boot\BCD /set{7619dcc9-fafe-11d9-b411-000476eba25f} winpeYesbcdedit /store S:\Boot\BCD /set{7619dcc9-fafe-11d9-b411-000476eba25f} vgaNobcdedit /store S:\Boot\BCD /set{7619dcc9-fafe-11d9-b411-000476eba25f} quietboot   Yesbcdedit /store S:\Boot\BCD /set{7619dcc9-fafe-11d9-b411-000476eba25f} emsYes
bcdedit /store S:\Boot\BCD /set{bootmgr} displaybootmenu Nobcdedit /store S:\Boot\BCD /set{bootmgr} customactions 0x1000040000001 0x54000002 0x1000041000001 0x54000003 bcdedit /store S:\Boot\BCD /set{bootmgr} custom:54000002 {7619dcc9-fafe-11d9-b411-000476eba25f}bcdedit /store S:\Boot\BCD /set{bootmgr} custom:54000003 {7619dcc9-fafe-11d9-b411-000476eba25f}
/*(注意:这里只支持OKR7和OKR8,OKR9的只能自己进入恢复环境备份了)OKR8的备份机制和OKR7差不多Dism /Capture-Image /CaptureDir:T:\/ImageFile:Q:\OKRBackup\Factory\OS.okr /Name:"*****"其中****可替换为:Windows7_OS PBR ImageWindows8_OS PBR ImageWindows10_OS PBR Image*/
//设置隐藏分区diskpart /s %workdir%\OKR9_attrib.inipause这里因为没研究OKR9的备份机制就没添加备份命令了,可以部署好后进入一键恢复进行备份
//OKR9 GPT@echo offset workdir=%~dp0diskpart /s %workdir%\OKR9.ini
//安装LRS_ESPdism /Apply-Image/ImageFile:%workdir%\OKR9_UEFI.Okr /Index:1 /ApplyDir:P:\//安装WINRE_DRVdism /Apply-Image/ImageFile:%workdir%\OKR9_UEFI.Okr /Index:2 /ApplyDir:W:\//安装LENOVO_PARTdism /Apply-Image/ImageFile:%workdir%\OKR9_UEFI.Okr /Index:3 /ApplyDir:Q:\//安装系统dism /Apply-Image/ImageFile:%workdir%\install.wim /Index:1 /ApplyDir:T:\//设置引导T:\Windows\System32\bcdboot T:\Windows /sS://关联winreT:\Windows\System32\Reagentc /Setreimage/Path W:\Recovery\WindowsRE /Target T:\Windows//添加winre菜单T:\Windows\System32\Reagentc/setbootshelllink /configfile %workdir%\BootMenu.xml/Target T:\Windows//开启winrestart /wait %workdir%\GUID.exe//设置lenovo分区diskpart /s %workdir%\OKR9UEFI_attrib.inipause







/***********************************************************************************************************************/








gwq 发表于 2020-11-2 21:09

已经习惯了GHOST,谢谢啊

sn4735 发表于 2020-11-4 18:51

难得的技术帖。感谢楼主分享
页: [1]
查看完整版本: 联想一键恢复