Windows注册表的基本知识及应用

一、注册表的重要性

  在DOS年代,对计算机的内存管理及系统配置主要通过AUTOEXECBAT和CONFIGSYS来完成。从WINDOWS3.x开始,对系统的管理增加了大量的*.ini文件来登录软件及硬件的各种初始化信息。这为系统管理带来了灵活性,也带来了不便之处。因为每个应用程序都有自己的ini文件,并在Win.ini中增加了自己的配置项,这使ini文件众多,且Win.ini日益庞大。

  从Windows95开始,原来保存在初始化文件中的有关信息,都被移到了系统的注册表中,注册表(Registry)实质上是一个庞大的分层数据库,它存储着下面这些内容:

  软、硬件的有关配置和状态信息,应用程序和资源管理器外壳的初始条件、首选项和卸载数据;

  电脑整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件的描述、状态和属性;

电脑性能记录和底层的系统状态信息,以及各类其他数据。

 

   由上可见,注册表是WINDOWS的命根子,注册表文件的损坏、设置错误,将会导致应用程序无法运行、系统出错,直至系统崩溃或无法启动。

  

、注册表的结构

    Windows98的注册表是由二进制数据组成,以一个树形结构分布。注册表主要由以下两个文件组成:

System.dat(存储与用户无关的系统配置信息,包括硬件配置、软件的安装等)

User.dat(存储与用户有关的信息以及特定于某个用户的应用程序安装信息 ),

    这两个文件一般保存在Windows所在的文件夹中,另外还有这些文件的备份*.da0( Windows系统在每次系统的配置改变时都会自动进行备份,生成System.da0和User.da0文件)。

Windows为我们提供了一个注册表编辑器(Regedit.exe)的工具,它可以用来查看和维护注册表。单击“开始”菜单,选择“运行”项,在“打开”栏中输入“regedit”,确定,即可打开注册表。

注册表编辑器与资源管理器的界面相似。左边窗格中,从“我的电脑”开始,以下是六个分支,其含义简述如下:

u       HKEY_CLASSES_ROOT:此处存储的信息可以确保当使用Windows资源管理器打开文件时,将使用正确的应用程序打开对应的文件类型。

u       HKEY_CURRENT_USER:存放当前登录用户的有关信息。用户文件夹、屏幕颜色和“控制面板”设置存储在此处。该信息被称为用户配置文件。

u       HKEY_LOCAL_MACHINE:包含针对该计算机(对于任何用户)的配置信息。

u       HKEY_USERS:存放计算机上所有用户的配置文件。

u       HKEY_CURRENT_CONFIG:包含本地计算机在系统启动时所用的硬件配置文件信息。

u       HKEY_DYN_DATA:记录系统运行时刻的状态。

注册表按层次结构来组织,六个分支名都以HKEY开头,称为主键(KEY),这和资源管理器中的文件夹相似,表示主键的图标与文件夹的图标一样。每个主键图标的左边有一个“+”号图标,单击可将这一分支展开,展开后可以看到主键还包含次级主键(SubKEY)。当单击某一主键或次主键时,右边窗格中显示的是所选主键内包含的一个或多个键值(Value)。

  键值由键值名称(ValueName)和数据(ValueData)组成,这就是右窗口中的两个列表(名称、数据)所表示的。主键中可以包含多级的次级主键,注册表中的信息就是按照多级的层次结构组织的。每个分支中保存电脑软件或硬件之中某一方面的信息与数据。

  

三、注册表中的键值项数据

  注册表通过键和子键来管理各种信息。但是注册表中的所有信息都是以各种形式的键值项数据保存的。在注册表编辑器右窗格中显示的都是键值项数据。这些键值项数据可以分为三种类型:

  1.字符串值

  在注册表中,字符串值一般用来表示文件的描述和硬件的标识。通常由字母和数字组成,也可以是汉字,最大长度不能超过255个字符。

  2.二进制值

  在注册表中二进制值是没有长度限制的,可以是任意字节长。在注册表编辑器中,二进制以十六进制的方式表示。

  3.DWORD值

  DWORD值是一个32位(4个字节)的数值。在注册表编辑器中也是以十六进制的方式表示。

  

四、注册表应用

  (一)注册表的备份和恢复

     由于注册表文件对计算机有着至关重要的作用,因此应当定期进行备份。备份注册表的方法为:打开注册表,在注册表菜单中选择“导出注册表文件”命令,在“导出注册表文件”对话框中,选择保存位置并取一文件名,在导出范围中选择全部(即对整个注册表进行备份)或者再选择的分支中输入要备份的分支,最后点击“保存”按钮即可。

    恢复注册表的方法很简单:打开注册表,注册表菜单中选择“引入注册表文件”命令,选择所要引人的以前备份的注册表文件,单击“打开” 按钮即可。

 

  (二)注册表的DOS恢复法

     有时由于注册表的损坏原因,Windows无法启动或工作出错,这时你可在DOS方式下恢复Windows系统自动备份的某一个注册表,就可恢复Windows系统正常,方法如下:

1. 用系统软盘启动进入(如Windows还能启动,则并切换到)MSDOS方式。

2. 进入Windows/Command目录,输入SCANREGRESTORE后回车。

3. 进入界面后,可在5个注册表备份中选取所要恢复的,重新启动后即可。

 

(三)清除多余的DLL文件

Windows系统的System子目录下存有大量的DLL文件,这些文件可能被系统或应用程序共享。但是由于经常安装和卸载软件,就会在System目录下留下一些DLL垃圾文件。它们不但占用了硬盘空间,而且还降低系统的运行速度。

你要识别、删除那些没有被系统或应用程序所共享的DLL文件,可运行“regedit”,打开注册表编辑器,找到HKEY_LOCAL_MACHINE/Software/Microsoft/Windows

/CurrentVersion/SharedDLLs分支,在SharedDLLs子键中,记录的就是有关程序共享的DLL信息,每个DLL文件的键值说明它已被几个应用程序共享。如果是二进制键值为“00 00 00 00”,则表明不被任何程序共享,可以将其删除,退出注册表编辑器,并在System目录中删除对应的文件。(你要较全面自动清除注册表中垃圾文件,可用“超级兔子”软件进行注册表优化,有关“超级兔子”软件情况,你可进入www.superrsoft.com 网站)。

 

(四)启动计算机时必须登录

    Windows98在启动时有一个登录对话框,要求用户选择用户名及输入密码,但这并没有多大的作用,任何用户都可以单击“取消”键而启动计算机。通过修改注册表,就可以使Windows在启动时,用户必需输入密码才能登录,从而防止非法用户使用计算机,具体修改方法如下:

   在注册表中找到HKEY_LOCAL_MACHINE/Network/Logon 键,在右边窗口中单击鼠标右键,新建一DWORD值,并命名为MustBevalidated,将其值改为ll1lllll,这样,在启动计算机时必需输入密码,否则就不能登录。

 

(五)启动时自动运行某一程序

    通过将某一程序其添加到开始菜单里的“启动”菜单项上,计算机在启动时会自动运行这个程序,这种做法很容易被其它用户改变,因为只需将其移出即可达到删除这一启动命令的目的。

    通过将很有必要在启动时运行的程序放入注册表,就可以做到使别人难以进行修改。

具体方法为,在注册表中找到 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows/

CurrentVersion\Run键,在右边妁窗口中就可以看到Windows启动时所要执行的命令,我们可以将希望Windows在启动时执行的命令加入到其中即可。同样也可删除不希望Windows在启动时运行的命令。

 

(六)扩充鼠标右键的功能

启动计算机后,当我们在资源管理器中用右键单击某一驱动器、文件夹或文件时一般都会弹出一份快捷菜单,其中包含几个常用的命令选项。我们可以通过修改注册表,来增加或删除这些命令。例如,要为驱动器增加一杀毒命令,其具体操作方法为,在注册表中找到HKEY_LOCAL_MACHINE/Software/CLASSES/Drive键,用鼠标右键单击其下的shell子键,新建一主键,将其命名为“杀毒”,然后用鼠标右键单击刚刚建立的“杀毒”键,为其新建一主键,命名为command,再在右边窗口中修改其键值,即输入要执行的命令,例如:“D∶\RXSD\RAV\rav.exe"%1"”,这样,当在资源管理器中用右键单击驱动器时,弹出的快捷菜单中就包含了“杀毒”这一选项。同样,对文件夹进行操作时,只需找到HKEY_LOCAL_MACHINE/Software/CLASSES/Folder键,而对于文件,则要找到HKEY_LOCAL_MACHINE\Software/CLASSES\file键,后面的操作方法同上。

 

最后,我向大家提供一个小工具—— 一个VBScript脚本文件,当你有一天要修改注册表,运行“regedit”命令,试图打开注册表时,突然跳出一个警告:“注册表被管理员禁止!”,不让你打开注册表!(这下你可惨了,命根子竟然给人家封住了!这多数是你上网时有幸“中毒”了。),这时你只要运行一下这个VBScript脚本文件就可解开注册表。你可在Windows的记事本中输入以下文本:

 

DIM WSH

SET   WSH=WSCRIPT.CREATEOBJECT("WSCRIPT.SHELL")

WSH.POPUP  ("将为您解开注册表!")

WSH.REGWRITE "HKCU/SOfTWARE/MICROSOFT/WINDOWS/CURRENTVERSION/POLICIES/SYSTEM/DISABLEREGISTRYTOOLS",0,"REG_DWORD"

WSH.POPUP  ("SUCCESSFULLY!")

 

输入完后,保存时取一文件名,文件扩展名为VBS即可。

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 从引用内容中可以看出,与Linux运维相比,Windows系统运维在技能要求上有所不同。在Windows系统运维中,不一定需要掌握BAT和PowerShell脚本的编写,而在Linux运维中,掌握Shell语言是必不可少的。因此,对于Windows系统运维知识,可以重点关注以下几个方面: 1. 熟悉Windows操作系统的基本原理和架构,包括文件系统、进程管理、网络配置等方面的知识。 2. 掌握Windows系统的常见故障排除和故障恢复方法,了解常见的错误代码和解决方案。 3. 熟悉Windows系统的安全性配置,包括用户权限管理、防火墙设置、病毒防护等方面的知识。 4. 熟悉Windows系统的常用工具和命令,如任务管理器、注册表编辑器、命令提示符等,能够熟练使用这些工具进行系统管理和故障排除。 5. 对于Windows系统中常见的服务和应用程序,如Active Directory、Exchange Server、IIS等,了解其基本原理和配置方法。 总之,掌握Windows系统运维知识需要对Windows操作系统有深入的了解,并具备故障排除和系统管理的能力。 #### 引用[.reference_title] - *1* *2* *3* [Windows系统运维转linux系统运维的经历](https://blog.csdn.net/qq_41704259/article/details/80788882)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值