电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

windows-赤手空拳备份注册表


发布日期:2023/7/7
 

本文以Windows XP为例(其他Windows版本可参考操作)介绍使用Windows记事本程序查找修改注册表数据以及使用简单的批处理脚本备份注册表的方法

两个重要的分支

用户个人数据[HKEY_CURRENT_USER]

该分支中存放的是当前登录用户的个人喜好设置所用的软件的设置等个人数据无论来宾受限用户高级用户还是管理员都可以修改属于自己个人的注册表数据用户个人的注册表数据就是注册表编辑器左侧窗格[HKEY_CURRENT_USER]所包含的项子项和值项

系统的核心数据[HKEY_LOCAL_MACHINE]

只有管理员权限的用户可以访问系统注册表数据其中存放了系统中各项重要的核心设置数据系统的注册表数据就是注册表编辑器左侧窗格显示的[HKEY_LOCAL_MACHINE]所包含的项子项和值项

与备份注册表过招

任务:备份注册表分支并编辑部分设置

第一步:点击开始→运行(或命令行提示符)输入以下命令导出两个注册表分支(驱动器路径及文件可自定义)导出后的myregreg大小约为MB~MB而sysregreg大小约为MB~MB视个人情况略有不同

reg export hkcu c:\myregreg

reg export hklm c:\sysregreg

第二步:分别右击myregreg和sysregreg选择编辑发送到→记事本(创建右键菜单发送到→记事本可将开始菜单中的记事本快捷方式复制到C:\Documents and Settings\username\SendTo文件夹)记事本程序打开myregreg文件

第三步:点击菜单命令编辑→查找输入要查找内容的关键字单击查找下一个查找到一个数据可执行删除修改操作然后按F键可继续查找下一个数据查找修改所有数据选择菜单文件→保存保存注册表文件

任务:恢复用户设置

()图形界面恢复方式:在发生问题需要恢复时右击myregreg选择合并即可

()命令行模式恢复方式:在命令行模式下输入reg import c:\myregreg(不包括外引号)命令就能将其导入注册表

任务:自制Net Transport的线程补丁

第一步:点击开始→运行输入Regeditexe(不含引号)回车打开注册表编辑器转至[HKEY_CURRENT_USER\Software\Xi\NetTransport \Download]

第二步:在右侧的编辑框里新建一个DWORD值命名为Max Threads双击这个值数值中输入基数中选择十六进制

第三步:选择菜单文件→导出保存类型设为Winx/NT注册文件(在Windows /XP中使用默认的保存类型导出的注册表文件无法在Windows x下导入)保存为threadsreg(见图)

第四步:复制一份threadsreg并将新文件命名为uninstallreg记事本打开该文件将[HKEY_CURRENT_USER\Software\Xi\NetTransport \Download]子项下的Max Threads=dword:修改为Max Threads=(不包括外侧中文引号)在注册表文件中将键值设为即代表删除该键值(见图)只需双击导入threadsreg即可打上线程补丁而双击导入uninstallreg则将恢复未安装补丁前的状态

小提示

★当要清除一个值项的键值而保留键名可将键值设为(如Max Threads=)无论该键值原来是什么类型清除后都将变成字符串值类型所以字符串值类型以外的其他类型的键值一般直接删除键值当要修改一个值项的键值可用键名=类型:键值的形式(例:Max Threads=dword:)如为字符串值则可省略类型但须在键值两侧加上英文双引号(例:Title=Hello)

★当要删除一个子项或项如要删除[HKEY_CURRENT_USER\Software\Xi\NetTransport \Download]则只需将语句设置为[HKEY_CURRENT_USER\Software\Microsoft\Windows \CurrentVersion\Run\MyRunningProgram](不含中文引号在项或子项名称的左侧添加一个减号)

任务:自动备份注册表

[HKEY_CURRENT_USER]和[HKEY_LOCAL_MACHINE]这两个分支是黑客程序后门病毒及恶意网站最常攻击的目标一旦这两个分支下的数据被病毒修改要一一排查被修改的数据是件非常困难的事而手动地输入命令备份相当麻烦如何快速备份和恢复被劫持的系统呢?

第一步:打开记事本输入下列内容并保存为myregbakbat:

@echo off

set mypath=c:\myfolder\?te%

if exist %mypath% rd /s /q %mypath%

md %mypath%

cd %mypath%

reg export hkcu myregreg

reg export hklm sysregreg

这段脚本的大意是:首先定义一个变量并将其设置为C:\myfolder下以当天的日期命名的一个目录如果该目录不存在就根据变量值创建此目录然后将当前目录转到这个目录中如果已经存在用户个人的注册表备份文件myregreg则删除重新导出用户个人的注册表数据到文件如果已经存在系统的注册表备份文件sysregreg则删除重新导出系统的注册表数据到文件

小提示

如果不是管理员权限的用户不需要备份系统的注册表数据(不要输入第行即可)以上提供的批处理角本在Windows XP下测试通过驱动器路径及文件名可自定义

第二步:在桌面任务栏开始菜单处创建myregbakbat批处理文件的快捷方式随时手工备份

第三步:单击控制面板→任务计划→添加任务计划在向导中选择myregbakbat批处理文件创建备份注册表任务右击备份注册表任务图标选择属性单击计划选项卡选择一种每日定时或定期备份的方式以便让计算机能够自动备份注册表

任务:每天首次登录/启动时备份注册表

适当修改myregbakbat批处理文件单击开始→运行输入gpeditmsc打开组策略双击打开用户配置→Windows设置→脚本→登录计算机配置→Windows设置→脚本→启动点击添加按钮并选择myregbakbat即可实现每天首次登录/启动计算机时备份一次注册表修改后的批处理文件如下:

@echo off

set mypath=c:\myfolder\?te%

if exist %mypath% goto :end

md %mypath%

cd %mypath%

reg export hkcu myregreg

reg export hklm sysregreg

:end

注意:本文提供的批处理脚本的保存位置应与mypath的位置在同一盘符下

小提示

过期的注册表备份文件推荐不定期手工删除以免占用过多硬盘空间如果感兴趣的读者可以尝试编写一个脚本文件并利用任务计划实现自动删除

上一篇:Windows操作系统中被遗忘的操作技巧

下一篇:配置Windows Server 2003群集服务