离线方式读写WINDOWS注册表

简介:
 本文仅在WINDOWS XP及WINDOWS 2003上测试通过,其他平台未知。
  我在2007年曾经草拟了一篇文章《 成功修复一例WINDOWS系统反复登陆,无法启动》,当时的想法是觉得这个过程很有意义,想把解决过程记录下来,结果是日复一日的忙碌,最终不了了之。其实在解决问题的过程中,体会最深的便是在系统无法启动的情况下,同时又没有注册表备份,如何修改它的错误的注册表键值。
  一个简单的方法是利用注册表编辑器的加载配置单元。
  WINDOWS XP和WINDOWS 2003的注册表文件通常在%SystemRoot%\system32\config 文件夹下:SAM、SECURITY、SOFTWARE、SYSTEM,当操作系统无法启动时,可以把这块无法启动的硬盘挂载在另外的WINDOWS上,或者通过PE进入系统,然后加载原先系统错误的注册表文件,再对相应键值进行修改。
   
 具体流程为:
  1. 打开“注册表编辑器”。
  2. 在注册表树(左侧)中,单击 HKEY_USERS 或者 HKEY_LOCAL_MACHINE 项。
  3. 在“文件”菜单上,单击“加载配置单元”。
  4. 在“查找范围”中,单击包含要加载的配置单元的驱动器、文件夹、网络计算机和文件夹。
  5. 单击“打开”。
  6. 在“项名称”中,键入要指派给配置单元的名称(随意起个名称就行了,作为子键名称),然后单击“确定”。

注意事项:
1、“加载配置单元”和“卸载配置单元”只影响 HKEY_USERS 和 HKEY_LOCAL_MACHINE 项,并且只有选中这些预定义项时它们才是活动的。在将配置单元加载到注册表中时,配置单元成为其中一个项的子项。
2、修改完成后,别忘记卸载配置单元(在regedit中选择先前加载到系统中的配置单元,再打开文件菜单,选择“卸载配置单元”)









本文转自 张宇 51CTO博客,原文链接:http://blog.51cto.com/zhangyu/143483,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
Windows
Windows常见可读写目录的探测
Windows常见可读写目录的探测
100 0
Windows常见可读写目录的探测
|
7月前
|
Windows
Windows注册表维护与优化
Windows注册表维护与优化
46 0
|
7月前
|
Windows
Windows注册表基础
Windows注册表基础
34 0
|
4月前
|
监控 安全 API
6.8 Windows驱动开发:内核枚举Registry注册表回调
在笔者上一篇文章`《内核枚举LoadImage映像回调》`中`LyShark`教大家实现了枚举系统回调中的`LoadImage`通知消息,本章将实现对`Registry`注册表通知消息的枚举,与`LoadImage`消息不同`Registry`消息不需要解密只要找到`CallbackListHead`消息回调链表头并解析为`_CM_NOTIFY_ENTRY`结构即可实现枚举。
50 1
6.8 Windows驱动开发:内核枚举Registry注册表回调
|
4月前
|
监控 安全 API
7.5 Windows驱动开发:监控Register注册表回调
在笔者前一篇文章`《内核枚举Registry注册表回调》`中实现了对注册表的枚举,本章将实现对注册表的监控,不同于32位系统在64位系统中,微软为我们提供了两个针对注册表的专用内核监控函数,通过这两个函数可以在不劫持内核API的前提下实现对注册表增加,删除,创建等事件的有效监控,注册表监视通常会通过`CmRegisterCallback`创建监控事件并传入自己的回调函数,与该创建对应的是`CmUnRegisterCallback`当注册表监控结束后可用于注销回调。
45 0
7.5 Windows驱动开发:监控Register注册表回调
|
4月前
|
存储 安全 数据安全/隐私保护
3.2 Windows驱动开发:内核CR3切换读写内存
CR3是一种控制寄存器,它是CPU中的一个专用寄存器,用于存储当前进程的页目录表的物理地址。在x86体系结构中,虚拟地址的翻译过程需要借助页表来完成。页表是由页目录表和页表组成的,页目录表存储了页表的物理地址,而页表存储了实际的物理页框地址。因此,页目录表的物理地址是虚拟地址翻译的关键之一。在操作系统中,每个进程都有自己的地址空间,地址空间中包含了进程的代码、数据和堆栈等信息。为了实现进程间的隔离和保护,操作系统会为每个进程分配独立的地址空间。在这个过程中,操作系统会将每个进程的页目录表的物理地址存储在它自己的CR3寄存器中。当进程切换时,操作系统会修改CR3寄存器的值,从而让CPU使用新的页
50 0
3.2 Windows驱动开发:内核CR3切换读写内存
|
4月前
|
存储 API 数据库
C/C++ 实现Windows注册表操作
Windows注册表(Registry)是Windows操作系统中用于存储系统配置信息、用户设置和应用程序数据的一个集中式数据库。它是一个层次结构的数据库,由键(Key)和值(Value)组成,这些键和值被用于存储各种系统和应用程序的配置信息。
51 0
|
4月前
|
存储 安全 API
8.5 Windows驱动开发:内核注册表增删改查
注册表是Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息,注册表是一个巨大的树形结构,无论在应用层还是内核层操作注册表都有独立的API函数可以使用,而在内核中读写注册表则需要使用内核装用API函数,如下将依次介绍并封装一些案例,实现对注册表的创建,删除,更新,查询等操作。在Windows内核中,注册表是一种存储系统配置信息的机制,包括应用程序、硬件、驱动程序和操作系统的各种设置。内核提供了一些API函数,可以让驱动程序通过代码访问和修改注册表,以实现系统的配置和管理。下面简单介绍一下内核中的注册表增删改查操作:
34 0
8.5 Windows驱动开发:内核注册表增删改查
|
5月前
|
安全 Windows
3.3 Windows驱动开发:内核MDL读写进程内存
MDL内存读写是一种通过创建MDL结构体来实现跨进程内存读写的方式。在Windows操作系统中,每个进程都有自己独立的虚拟地址空间,不同进程之间的内存空间是隔离的。因此,要在一个进程中读取或写入另一个进程的内存数据,需要先将目标进程的物理内存映射到当前进程的虚拟地址空间中,然后才能进行内存读写操作。
41 0
3.3 Windows驱动开发:内核MDL读写进程内存
|
1月前
|
安全 数据安全/隐私保护 Windows
解锁安全之门,Windows Server 2019密码修改攻略大揭秘
解锁安全之门,Windows Server 2019密码修改攻略大揭秘