理解Windows注册表
注意
- 完之前先备份reg
前言
- 在Windows 3.x之前, Windows都是使用.ini文件来保存配置信息的, 但是.ini文件的大小最大只能为64KB, 为了突破这个限制, 在Windows 3.x中使用了注册表, 在注册表中所有的配置都是二进制的, 大大节约了空间, 同时使用注册表没有大小上的限制, 但是为了兼容以前的版本, 在Windows XP中保存了Boot.ini, Win.ini, System.ini, Boot.ini类似于Linux中的grub
- .ini文件中的信息与注册表中的信息有一部分是重复的, 这样设计的原因是为了访问方便
- 注册表存放的位置在C:WindowsSystem32config中, 里面的文件都是二进制文件, 当前没有扩展名的文件就是当前系统正在使用的配置, 使用Copy-Item -Path -Destination -Recurse进行备份
注册表上的五个根键
-
HKEY_CURRENT_USER
- 保存着当前用户的信息
-
HKEY_USERS
- 包含了HKEY_CURRENT_USER键
- 下面的.DEFAULT中的保存的就是当前用户信息
-
HKEY_CURRENT_CONFIG
-
HKEY_LOCAL_MACHINE
- 保存着系统和计算机的信息
- 常用路径
-
HKEY_LOCAL_MACHINESOFTWARECompanyName -> Company是软件开发公司的名称, 最重要的就是Microsoft
-
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion
-
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl
-
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesExplorer
-
-
HKEY_CLASSES_ROOT
- 关于文件类型与应用程序的联系
- 常用路径
- HKEY_CLASSES_ROOT.cShellNewFileName
- .c表示已.c为扩展名的文件, ShellNew是一个键, 如果没有就创建一个, 在里面添加一个FileName值(或者NullFile, 这样就不需要填写值了), 类型为REG_SZ, 里面写让模板文件路径, 注销计算机, 在右键New中就会发现多出了新建这种类型文件的选项, 实现此功能重要的就是ShellNew -> ShellNew,鼠标右键菜单的订制技巧,加装了应用软件之后,鼠标器右键点桌面取“新建”时其弹出菜单有时会增加该软件的快速启动选项
- HKEY_CLASSES_ROOT.cShellNewFileName
配置
- 对Windows的配置一般通过控制面板就可以, 但是如果有配置的范围更大, 需要使用右键管理计算机
- 在这里可以设置任务计划
- 用户
关于账户
- Windows中所有的代码都是在一个特定的用户下执行的, 账户就是一个代码执行的上下文, 那些不需要用户登录的service也是在一个名为SYSTEM账户的上下文中运行的
- 在Windows中最大的权限是Administrator和SYSTEM, 其中SYSTEM其实要比Administrator更大, 但是Administrator可以通过一些方式借助SYSTEM的身份执行代码