首页 > 课堂 > 注册表 > 正文

DOS环境下玩转Windows注册表

2020-10-31 15:50:31
字体:
来源:转载
供稿:网友

注册表编辑器不仅可以在Windows下运行使用,还可以在MS-DOS实模式下运行。有时注册表受到损坏而无法启动Windows时,我们就只有在DOS模式下修复或修改注册表了。注册表的实际物理文件为System.dat和User.dat,也就说注册表中的数据保存在这两个文件中。 

导出注册表 


此命令可以实现对注册表文件进行备份。 

命令格式:Regedit /L:system /R:user /E filename.reg Regpath 

参数含义: 

/L:system指定System.dat文件所在的路径。 

/R:user指定User.dat文件所在的路径。 

/E:此参数指定注册表编辑器要进行导出注册表操作,在此参数后面空一格,输入导出注册表的文件名。 

Regpath:用来指定要导出哪个注册表的分支,如果不指定,则将导出全部注册表分支。 

如果打算将保存在C:\Windows\System.dat和保存在C:\Windows\Profiles\User.dat中所有HKEY_CLASSER_ROOT根键下的分支导出到file.reg中,可以执行如下命令:Regedit /L:C:\Windows\ /R:C:\Windows\Profiles\ /e file1.reg HKEY_CLASSER_ROOT 

导入注册表 

命令格式:Regedit /L:system /R:user file.reg 

参数含义: 

/L:system指定System.dat文件所在的路径。 

/R:user指定User.dat文件所在的路径。 

重建注册表 

重建注册表,即重新建立System.dat和User.dat文件。 

命令格式:Regedit /L:system /R:user /C file.reg 

参数含义: 

/L:system指定System.dat文件所在的路径。 

/R:user指定User.dat文件所在的路径。 

/C:此参数将告诉注册表编辑器,用所指定的.reg文件中的内容重新建立注册表。 

如果要用file.reg文件中的内容重新建立整个注册表,并将其保存到C:\Windows\System.dat和C:\Windows\Profiles\User.dat中,可执行命令:Regedit /L:C:\Windows\ /R:C:\Windows\Profiles\ /C file1.reg 

删除注册表分支 

此命令可以将注册表中的一个子键分支删除。 

命令格式为:Regedit /L:system /R:user /D Regpath 

参数含义: 

/L:system指定System.dat文件所在的路径。 

/R:user指定User.dat文件所在的路径。 

/C:此参数告诉注册表编辑器,将Regpath所指定的注册表子键分支删除。 

恢复注册表 

Scanreg.exe可以检查、备份、恢复、修复注册表,此命令存放在“Windows\Command”目录下。 

命令格式:Scanreg [/< option >] 

参数含义: 

/backup参数是备份注册表和相关的配置文件,这些文件分别\windows目录下的System.dat、User.dat、Win.ini、System.ini四个文件,把这些文件压缩成rb――?.cab一个文件,存放在\windows\sysbckup目录下,多次使用此命令会产生多个CAB文件,一般从000开始,系统默认最大备份数为5个。可在\Windows\scanreg.ini文件中对最大备份数进行修改,通过修改“maxbackupcopies=?”的数值即可。 

/restore参数是选择一个备份进行恢复注册表,此命令不能在Windows 98环境下执行,必须关机后,重新启动进入纯DOS方式下运行。 

/fix参数是修复损坏的注册表,此命令也只能在DOS方式下运行。 

/comment="< comment >"参数是在备份注册表时增加一些详细的注释到CAB文件中。 

恢复遭到破坏的注册表文件,可以使用Scanreg命令进行修复,方法是,首先进入DOS系统操作环境,然后执行以下命令:Scanreg/Restore 

此时系统会提示注册表备份情况,包括CAB文件名及备份时间等,用户可以选择要恢复的CAB文件进行恢复。 

如果要查看所有的备份文件及同备份有关的部分,可以执行命令:Scanreg /restore /comment 

如果注册表有问题,可以使用Scanreg来修复,命令为:Scanreg /fix。

补充:
//帮助信息,使用的时候删除前面的"//"符号就可以了,最好先本机测试通过.
//regedit.exe -e reg1.txt  HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run
//regedit.exe -e reg2.dll  "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Terminal Server/WinStations/RDP-Tcp"
//上面导出注册表内容
//regedit.exe -s reg2.dll
//上面导入注册表内容,没有提示信息.reg1.dll必须是合法格式.
//____________________________________________________________________________
////Win98注册表文件头格式
//REGEDIT4
//
////win2000/xp/nt注册表文件头格式(空一行)
//_____________________________________________________________________________
//Windows Registry Editor Version 5.00 
//
//[HKEY_LOCAL_MACHINE/SOFTWARE/Test4Adam]
//"Test1"="Adam"
//"Test2"=hex:61
//"Test3"=dword:00000064
//Test1的类型是"String value"
//Test2的类型是"Binary value"
//Test3的类型是"DWORD value"

//删除一个项目名称
//[HKEY_LOCAL_MACHINE/SOFTWARE/Test4Adam]
//"Test1"=-

//删除一个子项
//[-HKEY_LOCAL_MACHINE/SOFTWARE/Test4Adam]

//reg.exe query "HKLM/SYSTEM/CurrentControlSet/Control/Terminal Server/WinStations/RDP-Tcp/PortNumber"
//reg.exe query "HKLM/SYSTEM/CurrentControlSet/Control/Terminal Server/Wds/rdpwd/Tds/tcp/PortNumber"
//由于后面参数有空格。所以必须使用双引号

//下面这个是win2000kit里面的工具
//E:/SCANREG.EXE 1.05 <[-s] string> < [-k] [-v] [-d] > [[-r] key] [-c] [-e] [-n]
//Examples:  SCANREG -s Windows -k -v -d
//           SCANREG -s Windows -kvd
//           SCANREG /s Windows /r /lm/software /kvde
//           SCANREG Windows /lm -kd -n
//           SCANREG Windows //MOON/HKEY_LOCAL_MACHINE -d
//           SCANREG Windows HKEY_CURRENT_USER/software -kvd

//――――――――――――――――――――――――――――――――――――――
//[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Winlogon] 
//"AutoAdminLogon"=dword:00000001
//"DefaultDomainName"=""
//"DefaultUserName"="administrator"
//"DefaultPassword"="password"
// 上面自动登陆
//[HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Policies/Ratings]
//"key"=-
//  上面删除IE分级审查的口令
//[HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Policies/Explorer]
//"NoRun"=dword:00000001 
//开始没有运行项目
//[HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Policies/System]
//"DisableRegistryTools"=dword:00000001 
// 0x1 禁止注册表编辑

//关于psu.exe 使用注册表内容
//pulist.exe |findstr.exe /i "WINLOGON explorer"
//得到对应的winlogon的PID,  如果你是使用终端登陆进入的话 212,788 为有效pid.
//pulist.exe |findstr.exe /i "WINLOGON explorer"
// winlogon.exe      212  NT AUTHORITY/SYSTEM
// explorer.exe      824  NETBAR-5G2JURY8/Administrator
// winlogon.exe      341  NT AUTHORITY/SYSTEM
// winlogon.exe      788  NT AUTHORITY/SYSTEM
// explorer.exe      1752 NETBAR-5G2JURY8/guest
//psu.exe -p "%windir%/regedit.exe -s admg.reg" -i PID 
//psu.exe -p "%windir%/regedit.exe -e admin.reg  HKEY_LOCAL_MACHINE/SAM/SAM/" -i PID
//psu.exe -p "%windir%/regedit.exe -s admg.reg" -i 212   (telnet状态使用)
//psu.exe -p "%windir%/regedit.exe -s admg.reg" -i 788   (终端cmd.exe下面使用)

上一篇:注册表修改攻略

下一篇:IE标题栏恢复

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表