Windows注册表的弊端

原创 2002年08月26日 11:28:00
Windows注册表的弊端
作者:Hookson          Email:Hookson@sohu.com
在Microsoft的Windows中,系统和应用程序的配置广泛的使用了注册表数据库,它在给系统带来很大的灵活性的同时也给一些另外的用户带来了很大的麻烦,下面来举例说明这一点。
1. 在Windows启动过程中,系统需要读取大量的注册表数据,它们都是以字符串的形式来寻值的,我们知道,注册表的子键层次很深,每次从根开始都有很大的时间开销。加上那些长度不算小的字符串比较操作,大大影响了系统的性能。最明显的一个影响就是系统启动速度减慢,WindowsXP的启动速度比Windows9x慢有一个重要的原因就是读取得注册表数据增多了。在配置稍落后的机器上,简直难以忍受。在启动方面我对Microsoft有一个建议,就是每次启动系统的时候不用每次都去初始化什么东西和判断运行环境什么东西,这在大部分情况下是多此一举的,其实我们的系统处于稳定的时候我们的硬件和软件都是不会有什么变化的,在这种情况下启动系统的时候我们只要把上一次离开系统的状态也就是内存中(包括虚拟内存)中的数据dump到硬盘上,下次启动的时候只要把dump的文件反过来dump到内存中,那就可以了嘛,也不必每次离开系统的时候都dump一下,只要有一次好的dump结果就行了,这样一来,那系统启动的速度一定会大大加快。当我们需要对系统配置作一些变动的时候我们再告诉系统,让它按古典的启动方式(暂且让我把现在的启动方式这样称呼吧)。时间是很宝贵的,如果我们世界上每个人每天都能节省一分钟,那每天就有一万多人年的工作机会,由此可见!
2. 一些恶意的程序可以任意的修改注册表,导致系统被做了非自愿的修改甚至导致系统崩溃,给用户带来不愉快甚至很大的损失,大部分的木马程序就是依靠在注册里修改特定的键值来繁衍生息的。如在
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/
RunServices
里加上自动启动;在HKEY_CLASSES_ROOT/<文件类型>里加上恶意的打开放式;限制用户的操作等等。
3. 系统所有的配置信息都放在一个数据库里面导致了不安全性,部分数据发生问题都会有可能导致整体的崩溃。如果一个磁盘扇区错误导致根键的发生问题,那么这个键下所有的子键都不可用了,虽然这种情况很少发生,但可能性是完全存在的,一旦发生结果非常严重。
4. 注册表的好处对普通用户体现不出来。由于注册表数据庞杂,普通用户对Windows系统的特性了解肤浅,普遍对注册表感觉有一点神秘,不敢擅自去编辑,同时系统提供给用户用来配置的应用程序也没有充分发挥注册表的威力,所以导致技术的存在而没有实用性,从而在浪费系统开销的同时并不能给用户带来好处。
5. 给程序移动和拷贝带来不必要的麻烦。通常的程序都会在注册表里注册自己的配置,离开这些配置,会导致程序无法正常运行。所以程序所在的文件夹路径一旦改变就会导致程序出错。把程序从一台机器拷贝到另一台机器时会发生更加严重的问题。在很多时候我们需要这样做,但是注册表的这个自身生来的弱点阻止了我们,所以我们不得不重新安装,浪费了宝贵的时间和精力。有时候又苦于没有安装程序,真是叫天不灵。要是手工来修改注册表项,那一是你不太清除到底应该修改那些,二是很多程序的注册表项极多,根本不可能修改的过来。
          (相应对策)待续…
2001年7月23日星期一

Windows注册表操作

注册表是Windows操作系统中一个重要的数据库,其中保存着操作系统和各种软件的重要信息。注册表是如此的重要,所以也是病毒和反病毒软件的兵家必争之地。 注册表是Windows系统管理和维护的配置较为...
  • wzxq123
  • wzxq123
  • 2016年07月09日 11:42
  • 2210

Windows注册表的那些事儿

引言    用了多年的Windows系统,其实并没有对Windows系统进行过深入的了解,也正是由于Windows系统不用深入了解就可以简单上手所以才有这么多人去使用。笔者是做软件开发的,使用的...
  • ful1021
  • ful1021
  • 2014年06月08日 01:34
  • 1018

Windows注册表究竟是什么?

1.定义 注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着windows的启动、硬件驱动程序的装载以及一些windows应用程序的运行,从而在整个系统中起着核...
  • a369414641
  • a369414641
  • 2015年04月22日 11:10
  • 451

使用Java操作Windows注册表

Cons: 使用这种方法只能对HKCUSoftwareJavasoftPrefs(调用Preferences.userRoot())或者HKLMSoftwareJavasoftPrefs(调用Pre...
  • luke_wang
  • luke_wang
  • 2015年01月21日 22:33
  • 793

从注册表中关闭windowns自动更新

移步至个人小站:www.very321.com http://wenwen.soso.com/z/q119928739.htm 可通过组策略关闭这一功能。只须双击“系统”节点下的“Window...
  • wjh168
  • wjh168
  • 2012年03月20日 21:49
  • 3272

如何查看Windows注册表

如何查看注册表     开始-运行-输入regedit回车即可      ==============================什么是注册表?   注册表因为它复杂的结构和...
  • yinjiabin
  • yinjiabin
  • 2011年09月09日 17:52
  • 9357

Windows注册表内容详解

第一课  注册表基础 一、什么是注册表     注册表是windows操作系统、硬件设备以及客户应用程序得以正常运行和保存设置的核心“数据库”,也可以说是一个非常巨大的树状分层结构的数据库系统。 ...
  • luoxiaojuan2
  • luoxiaojuan2
  • 2016年01月18日 14:27
  • 849

Windows 注册表处理函数

GetSystemRegistryQuota 检索注册表的当前大小以及注册表允许在系统上获得的最大大小。 RegCloseKey 关闭指定注册表项的句柄。 R...
  • u011471873
  • u011471873
  • 2017年05月28日 15:11
  • 334

WSUS(Windows Server Update Services)注册表配置

 配置客户端。其实,这仍旧是通过修改客户端注册表来,让客户端知道要使用wsus,以及告诉客户端去哪里找wsus服务器的。修改的注册表键值如下:使用 WSUS 服务,dword:00000000 为禁止...
  • windone0109
  • windone0109
  • 2009年07月08日 15:03
  • 4600

windows注册表终级指南!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

windows注册表修改指南 1 提高子菜单速度 位 置:HKEY_CURRENT_USERControl PanelDesktop 键值名:Menushowdelay   双击键值Menushowd...
  • yu555666
  • yu555666
  • 2007年05月25日 08:44
  • 1000
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Windows注册表的弊端
举报原因:
原因补充:

(最多只允许输入30个字)