1.常听到的windows里的注册表在什么文件里呢?

2.电脑的注册表在哪?注册表到底是个什么东西?

常听到的windows里的注册表在什么文件里呢?

电脑系统中注册表位置-电脑的注册表文件在哪

注册表的内部组织结构及相互关系

计算机配置和缺省用户设置的注册表数据在Windows NT中被保存在下面这五个文件中:DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。而 Windows9x/Me/2000将所有注册表文件存入2个文件中:System.dat和User.dat。它们是二进制文件,不能用文本编辑器查看。它们存在于Windows目录下,具有隐含、系统、只读属性。 System.dat包含了计算机特定的配置数据,User.dat包含了用户特定的数据。User.dat文件的位置在以某个用户名登录时,其位于C:\Windows\profiles\用户名目录下,系统同时在C:\Windows目录下保留了一个缺省的User.dat文件,以备新用户使用。内部组织结构是一个类似于目录管理的树状分层的结构。

WINDOWS的注册表有六大根键,相当于一个硬盘被分成了六个分区。

在“运行”对话框中输入RegEdit,然后单击“确定”按钮,则可以运行注册表编辑器。

左窗格显示的是注册表的根键,这样的根键共六个。这些根键都是大写的,并以HKEY_为前缀,这种命令约定是以Win32 API的Registry函数的关键字的符号变量为基础的。

虽然在注册表中,六个根键看上去处于一种并列的地位,彼此毫无关系。但事实上,HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG中存放的信息都是HKEY_LOCAL_MACHINE中存放的信息的一部分,而HKEY_CURRENT_USER中存放的信息只是HKEY_USERS存放的信息的一部分。HKEY_LOCAL_MACHINE包括HKEY_CLASSES_ROOT和HKEY_CURRENT_USER中所有的信息。在每次系统启动后,系统就映射出HKEY_CURRENT_USER中的信息,使得用户可以查看和编辑其中的信息。

实际上,HKEY_LOCAL_MACHINE\SOFTWARE\Classes就是HKEY_CLASSES_ROOT,为了用户便于查看和编辑,系统专门把它作为一个根键。同理,HKEY_CURRENT_CONFIG\SY-STEM\Current Control就是HKEY_LOCAL_MACHINE\SYSTEM\Current Control。

HKEY_USERS中保存了默认用户和当前登录用户的用户信息。HKEY_CURRENT_USER中保存了当前登录用户的用户信息。

HKEY_DYN_DATA保存了系统运行时的动态数据,它反映出系统的当前状态,在每次运行时都是不一样的,即便是在同一台机器上。

根据上面的分析,注册表中的信息可以分为HKEY_LOCAL_MACHINE和HKEY_USERS两大类,这两大类的详细内容请看后面的介绍。

六大根键的作用

注册表采用“关键字”及其“键值”来描述登录项及其数据。所有的关键字都是以“HKEY”作为前缀开头。打个比喻来说,关键字更象Windows9X下的浏览器里的目录下的文件,每个文件都会有自己特有的内容和属性。我们可以在注册表编辑器下很方便地添加、修改、查询和删除注册表的每一个关键字。关键字可以分为两类:一类是由系统定义,一般叫做“预定义关键字”;另一类是由应用程序定义的,根据应用软件的不同,登录项也就不同。在注册表中,所有的数据都是通过一种树状结构以键和子键的方式组织起来,十分类似于目录结构。每个键都包含了一组特定的信息,每个键的键名都是 和它所包含的信息相关的。如果这个键包含子键,则在注册表编辑器窗口中代表这个键的文件夹的左边将有“+”符号,以表示在这个文件夹中有更多的内容。如果这个文件夹被用户打开了,那么这个“+”就会变成“-”。 下面我们对系统预定义的六大根键简单地介绍一下。

1.HKEY_USERS

该根键保存了存放在本地计算机口令列表中的用户标识和密码列表,即用户设置。每个用户的预配置信息都存储在HKEY_USERS根键中。HKEY_USERS是远程计算机中访问的根键之一。其内容取决于计算机是否激活了用户配置文件,若未激活用户配置文件,则可以看到称为.DEFAULT的单一子键,该子键包括和所有用户相关的各种设置,并且和\Windows下的USER.DAT文件相配合。若激活了用户配置文件并且正确地执行了登录,则还有一个“用户名”的子键,该用户名为用户登录的名称。

2.HKEY_CURRENT_USER

该根键包含本地工作站中存放的当前登录的用户信息,包括用户登录用户名和暂存的密码(注:此密码在输入时是隐藏的)。用户登录Windows 98时,其信息从HKEY_USERS中相应的项拷贝到HKEY_CURRENT_USER中。HKEY_CURRENT_USER下面有7个子关键字。其中除RemoteAccess”外,其余6个都为系统预定义。

AppEvents 这个子键里登记已注册的各种应用事件。

ControlPanel 它里面涉及到控制面板设置有关的内容。

InstallLocationsMRU windows安装路径的有关信息。

Keyboardlayout 关于键盘设置的信息。

Network 有关网络设置的信息。

RemoteAccess 安装IE 时建立的子关键字,包含该应用程序的有关信息。

Software 软件的有关信息。

3.HKEY_CURRENT_CONFIG

该根键存放着定义当前用户桌面配置(如显示器等)的数据,最后使用的文档列表(MRU)和其他有关当前用户的Windows 98中文版的安装的信息。

4.HKEY_CLASSES_ROOT

该键由多个子键组成,具体可分为两种:一种是已经注册的各类文件的扩展名,另一种是各种文件类型的有关信息。左栏中的子键就是各种已经注册的文件扩展名。 注册表内己经登记的文件扩展名中,有系统默认和应用程序自定义的扩展名。应用程序只有把自定义的扩展名在注册表中登记,系统才能识别和关联使用有关的文档,但只有经过注册的扩展名,系统才能自动关联。根据在Windows 98中文版中安装的应用程序的扩展名,该根键指明其文件类型的名称。

在第一次安装Windows 98中文版时,RTF(Rich Text Format)文件与写字板(WordPad)联系起来,但在以后安装了中文Word 6.0后,双击一个RTF文件时,将自动激活Word。存放在SYSTEM.DAT中的HKEY_CLASSES_ROOT,将替代WIN.INI文件中的[Extensions]小节中的设置项,它把应用程序与文件扩展名联系起来,它也替代了Windows 3.x中的Reg.dat文件中的相似的设置项。

5.HKEY_LOCAL_MACHINE

注册表的核心,计算机的各种硬件和软件的配置均存在于此。它包括以下八个部分:Config配置、Driver驱动程序、Enum即插即用、Hardware硬件、Network网络、Security安全、Software软件、System系统。每部分中又包括许多子键。该根键存放本地计算机硬件数据,此根键下的子关键字包括在SYSTEM.DAT中,用来提供HKEY_LOCAL_MACHINE所需的信息,或者在远程计算机中可访问的一组键中。该根键中的许多子键与System.ini文件中设置项类似。

6.HKEY_DYN_DATA

该根键存放了系统在运行时动态数据,此数据在每次显示时都是变化的,因此,此根键下的信息没有放在注册表中。

如何恢复注册表?

注册表中存放着计算机软硬件的配置信息,病毒、网页恶意代码往往要修改注册表,平时安装、操作软件也会使注册表内容发生变化。当计算机工作不正常时,往往可以通过恢复注册表来修复。所以,平时我们应经常备份注册表(运行regedit,导出注册表文件)。这样,需要时就可以导入过去某个备份,使电脑恢复正常。

如果平时没有导出注册表,则只好通过运行 scanreg /restore来恢复注册表,或运行scanreg

/fix来修复注册表。不过该命令应该在DOS下执行。对于win98系统,开机时按F8,选择Command Prompt

Only进入DOS;对于WinMe系统,则可以运行Command进入DOS。当然,也可以用软盘引导系统,进入C:\windows\command子目录,然后执行上述修复注册表的命令。

目前网页恶意代码最可恶的破坏行为之一是在注册表中禁止了程序运行。此时因IE无法运行,不能使用在线自动修复;且“微机数据维护”等修复软件也不能运行;同样也不能导入注册表文件来修复注册表。此时唯一的办法就是在DOS下运行C:\windows

scanreg /restore来修复注册表。

电脑的注册表在哪?注册表到底是个什么东西?

★什么是注册表?

从Windows 95开始,Microsoft在Windows中引入了注册表(英文为REGISTRY)的概念(实际上原来在Windows NT中已有此概念)。注册表是Windows 95及Windows 98的核心数据库,表中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序运行的正常与否,如果该注册表由于鞭种原因受到了破坏,轻者使Windows的启动过程出现异常,重者可能会导致整个Windows系统的完全瘫痪。因此正确地认识、修改、及时地备份以及有问题时恢复注册表,对Windows用户来说就显得非常重要了。

★如何打开注册表?(在修复注册表前请备份)

点“开始”→运行→输入“regedit”→确定

★一、注册表的结构划分及相互关系

WINDOWS的注册表有六大根键,相当于一个硬盘被分成了六个分区。

在“运行”对话框中输入RegEdit,然后单击“确定”按钮,则可以运行注册表编辑器。

Windows 98中文版的注册表Registry(System.dat、User.dat、Config.pol)的数据组织结构。

注册表的根键共六个。这些根键都是大写的,并以HKEY_为前缀;这种命令约定是以Win32 API的Registry函数的关键字的符号变量为基础的。

虽然在注册表中,六个根键看上去处于一种并列的地位,彼此毫无关系。但事实上,HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG中存放的信息都是HKEY_LOCAL_MACHINE中存放的信息的一部分,而HKEY_CURRENT_USER中存放的信息只是HKEY_USERS存放的信息的一部分。

HKEY_LOCAL_MACHINE包括HKEY_CLASSES_ROOT和HKEY_CURRENT_USER中所有的信息。在每次系统启动后,系统就映射出HKEY_CURRENT_USER中的信息,使得用户可以查看和编辑其中的信息。

实际上,HKEY_LOCAL_MACHINE\SOFTWARE\Classes就是HKEY_CLASSES_ROOT,为了用户便于查看和编辑,系统专门把它作为一个根键。同理,HKEY_CURRENT_CONFIG\SY-STEM\Current Control就是HKEY_LOCAL_MACHINE\SYSTEM\Current Control。

HKEY_USERS中保存了默认用户和当前登录用户的用户信息。HKEY_CURRENT_USER中保存了当前登录用户的用户信息。

HKEY_DYN_DATA保存了系统运行时的动态数据,它反映出系统的当前状态,在每次运行时都是不一样的,即便是在同一台机器上。

根据上面的分析,注册表中的信息可以分为HKEY_LOCAL_MACHINE和HKEY_USERS两大类,这两大类的详细内容请看后面的介绍。

★二、六大根键的作用

在注册表中,所有的数据都是通过一种树状结构以键和子键的方式组织起来,十分类似于目录结构。每个键都包含了一组特定的信息,每个键的键名都是 和它所包含的信息相关的。如果这个键包含子键,则在注册表编辑器窗口中代表这个键的文件夹的左边将有“+”符号,以表示在这个文件夹中有更多的内容。如果这个文件夹被用户打开了,那么这个“+”就会变成“-”。

1.HKEY_USERS

该根键保存了存放在本地计算机口令列表中的用户标识和密码列表。每个用户的预配置信息都存储在HKEY_USERS根键中。HKEY_USERS是远程计算机中访问的根键之一。

2.HKEY_CURRENT_USER

该根键包含本地工作站中存放的当前登录的用户信息,包括用户登录用户名和暂存的密码(注:此密码在输入时是隐藏的)。用户登录Windows 98时,其信息从HKEY_USERS中相应的项拷贝到HKEY_CURRENT_USER中。

3.HKEY_CURRENT_CONFIG

该根键存放着定义当前用户桌面配置(如显示器等)的数据,最后使用的文档列表(MRU)和其他有关当前用户的Windows 98中文版的安装的信息。图5为HKEY_CURRENT_CONFIG子关键字之间的连接情况。

4.HKEY_CLASSES_ROOT

根据在Windows 98中文版中安装的应用程序的扩展名,该根键指明其文件类型的名称。

在第一次安装Windows 98中文版时,RTF(Rich Text format)文件与写字板(WordPad)&127;联系起来,但在以后安装了中文Word 6.0后,双击一个RTF文件时,将自动激活Word。存放在SYSTEM.DAT中的HKEY_CLASSES_ROOT,将替代WIN.INI文件中的[Extensions]&127;小节中的设置项,它把应用程序与文件扩展名联系起来,它也替代了Windows 3.x中的Reg.dat文件中的相似的设置项。

5.HKEY_LOCAL_MACHINE

该根键存放本地计算机硬件数据,此根键下的子关键字包括在SYSTEM.DAT中,用来提供HKEY_LOCAL_MACHINE所需的信息,或者在远程计算机中可访问的一组键中。

该根键中的许多子键与System.ini文件中设置项类似。图7显示了HKEY_LOCAL_MACHINE根键下的各个子键之间的情况。

6.HKEY_DYN_DATA

该根键存放了系统在运行时动态数据,此数据在每次显示时都是变化的,因此,此根键下的信息没有放在注册表中。图8显示了HKEY_DYN_DATA根键下的各个子键的情况。

★三、注册表部分重要内容

注册表是一个大型数据库Registry。要详细地分析该数据库,不是一两页就能介绍完。我曾经用了半年多时间分析此数据库结构。下面只介绍部分重要内容。

(一)HKEY_CLASS_ROOT

1.HKEY_CLASS_ROOT/Paint.Pricture/DefaultIcon双击窗口右侧的默认字符串,在打开的对话框中删除原来的“键值”,输入%1。重新启动后,在“我的电脑”中打开Windows目录,选择“大图标”,然后你看到的Bmp文件的图标再也不是千篇一律的MSPAINT图标了,而是每个Bmp文件的略图(前提是未安装ACDSee等看图软件)。

(二)HKEY_CURRENT_USER

1.HKEY_CURRENT_USER\Control Panel\Desktop 中新建串值名MenuShowDelay=0 可使“开始”菜单中子菜单的弹出速度提高。

2.在HKEY_CURRENT_USER\Control Panel\Deskt-op\WindowsMeterics中新建串值名MinAnimate,值为1启动动画效果开关窗口,值为0取消动画效果。

(三) HKEY_LOCAL_MACHINE

1.HKEY_LOCAL_MACHINE\software\microsoft\windows\currentVersion\explorer\user shell folders 保存个人文件夹、收藏夹的路径。

2.HKEY_LOCAL_MACHINE\system\currentControl-Set\control\keyboard Layouts 保存键盘使用的语言以及各种中文输入法。

3.HKEY_LOCAL_MACHINE\software\microsoft\windows\currentVersion\uninstall 保存已安装的Windows应用程序卸载信息。

4.HKEY_LOCAL_MACHINE\system\CurrentControl-Set\services\class 保存控制面板-增添硬件设备-设备类型目录。

5.HKEY_LOCAL_MACHINE\system\Current-ControlSet\control\update 设置刷新方式。值为00设置为自动刷新,01设置为手工刷新[在资源管理器中按F5]。

6.HKEY_LOCAL_MACHINE\software\microsoft\win-dows\currentVersion\run 保存由控制面板设定的计算机启动时运行程序的名称,其图标显示在任务条右边。在“启动”文件夹程序运行时图标也在任务条右边。

7.HKEY_LOCAL_MACHINE\software\microsoft\windows\currentVersion\Policies\Ratings 保存IE4.0中文版“安全”\“分级审查”中设置的口令(数据加密),若遗忘了口令,删除 Ratings 中的数据即可解决问题。

8.HKEY_LOCAL_MACHINE\software\microsoft\windows\currentVersion\explorer\desktop\nameSpace 保存桌面中特殊的图标,如回收站、收件箱、MS Network等。

(四) HKEY_USERS

1.HKEY_USERS\.Default\software\microsoft\internet explorer\typeURLs保存IE4.0浏览器地址栏中输入的URL地址列表信息。清除文档菜单时将被清空。

2.HKEY_USERS\.Default\so..\mi..\wi..\current-Version\ex..\menuOrder\startMenu保留程序菜单排序信息。

3.HKEY_USERS\.Default\so..\microsoft\windows\current-Version\explorer\RunMRU保存“开始 \ 运行...”中运行的程序列表信息。清除文档菜单时将被清空。

4.HKEY_USERS\.Default\so..\microsoft\windows\current-Version\explorer\RecentDocs 保存最近使用的十五个文档的快捷方式(删除掉可解决文档名称重复的毛病),清除文档菜单时将被清空。

5.HKEY_USERS\.default\software\microsoft\windows\currentVersion\applets 保存Windows应用程序的记录数据。

6.HKEY_USERS\.default\software\microsoft\windows\currentVersion\run保存由用户设定的计算机启动时运行程序的名称,其图标显示在任务条右侧。

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

1.字符串值

在注册表中,字符串值一般用来表示文件的描述、硬件的标识等。通常它由字母和数字组成,最大长度不能超过255个字符。在图9所示中,“D:\pwin98\trident”即为键值名“a”的键值,它是一种字符串值类型的。同样地,“ba”也为键值名“MRUList”的键值。通过键值名、键值就可以组成一种键值项数据,这就相当于Win.ini、Ssyt-em.ini文件中小节下的设置行。其实,使用注册表编辑器将这些键值项数据导出后,其形式与INI文件中的设置行完全相同。

2.二进制值

在注册表中,二进制值是没有长度限制的,可以是任意个字节长。在注册表编辑器中,二进制以十六进制的方式显示出来,如图10所示。 在图10中,键值名Wizard的键值“80 00 00 00”就是一个二进制。在如图11所示的“编辑二进制值”对话框时,在编辑框的左边输入十六进制数时,其右边将会显示相应的ASCII码。

3.DWORD值

DWORD值是一个32位(4个字节,即双字)长度的数值。在注册表编辑器中,您将发现系统会以十六进制的方式显示DWORD值,如图12所示。在编辑DWORD数值时,可以选择用十进制还是16进制的方式进行输入。