分类: WINDOWS
2006-11-13 23:06:53
我的硬盘挂掉一个了5555555,更可怜的是我用RAID0搭建的Linux没有备份,我辛辛苦苦装好的 BLFS 啊。真的是天有不测之风云,想我第一次装完BLFS后,老老实实的备份了,怎想第二次偷了点懒就........
无奈只好回windows XP 了,用着用着,发现我的 “运行方式” 用不了了。看看 管理工具->服务 Secondary Logon竟然不见鸟??我用的是精简版的XP,没想到的是它把Secondary
Logon也给精简了,晕。唠叨了点,下面开始重装。
首先从完整的XP中拷贝sclgntfy.dll 、seclogon.dll到 %SystemRoot%\System32\ 。将以下内容另存为 seclogon.reg 导入注册表:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\seclogon]
"Description"="启用替换凭据下的启用进程。如果此服务被终止,此类型登录访问将不可用。如果此服务被禁用,任何依赖它的服务将无法启动。"
"DisplayName"="Secondary Logon"
"ErrorControl"=dword:00000000
"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,
74,00,25,00,
00,76,00,63,00,68,00,
6b,00,20,00,6e,00,65,00,74,00,73,00,76,00,63,00,73,00,00,00
"Objectname"="LocalSystem"
"Start"=dword:00000002
"Type"=dword:00000120
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\seclogon\Parameters]
"ServiceDll"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,
00,74,00,25,00,
73,00,65,00,63,00,
00
"ServiceMain"="SvcEntry_Seclogon"
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\seclogon\Security]
"Security"=hex:01,00,14,80,90,00,00,00,
00,
00,00,02,00,60,00,04,00,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,\
05,0b,00,00,00,00,00,18,00,9d,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,\
23,02,00,00,00,00,18,00,ff,01,
02,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,05,12,00,00,00,01,01,\
00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\seclogon\Enum]
"0"="Root\\LEGACY_SECLOGON\\0000"
"Count"=dword:00000001
"NextInstance"=dword:00000001
再到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\
SvcHost 。看看右侧的键值netsvcs ,其数值数据里有没有Seclogon,没有就添加上。
这是为什么呢?在 Windows XP SP2中最多可以启动七个svchost进程实例(实际上启动六个进程实例),分别负责启动一组服务。每个svchost实例所负责启动的服务由以下注册表项决定:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost
其下共有七个键值:DcomLaunch、HTTPFilter、imgsvc、LocalService、netsvcs、
NetworkService、rpcss和termsvcs。每个键值都定义了一个或者多个服务,也就是对应每个svchost进程实例所能启动的一组服务。在这里“seclogon”服务的可执行程序参数是“svchost.exe -k netsvcs”( 上面文件的ImagePath段),对应的svchost进程在启动该服务之前,会先到 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost 下的netsvcs键值里查找是否有该服务的定义,如果没有,就会出现“错误1083:配置成在该可执行程序中运行的这个服务不能执行该服务”故障。
最后修改HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root中Root的权限为Everyoney允许 完全控制,以下内容另存为 Root.reg 导入注册表:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_SECLOGON]
"NextInstance"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_SECLOGON\0000]
"Service"="seclogon"
"Legacy"=dword:00000001
"ConfigFlags"=dword:00000020
"Class"="LegacyDriver"
"ClassGUID"="{8ECC055D
"DeviceDesc"="Secondary Logon"
注意请将Root的权限改回来。
哈哈, Secondary Logon 启动啦!!!