WK綜合論壇, WK综合论坛

查看:1026 回復:0 發表於 2014-9-13 23:22:36
累計簽到:278 天
連續簽到:1 天
跳轉到指定樓層
楼主
發表於 2014-9-13 23:22:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
VIP精品區,資源無限好賺金任務區,輕松賺金幣
加入VIP,享受高級特權宣傳賺金又升級,超級棒

[技術討論] 打印机经典攻略 [複製鏈接]

在阅读本文的时候,请严格按照故障现象进行比对排错!, A6 a# o. N! \  |+ c5 [( P9 j" a+ c
  z: z* ~8 K: A! V. F' Z: }
如果涉及到注册表操作,请务必事先备份相关注册表项,并新建还原点。
& }; w2 Q3 e' e3 S" d9 R0 Q5 m- p/ k, J( K7 a) z  M
如果系统无法顺利启动,请按Reset键重新开机,然后按F8,在Windows高级启动菜单上选择“恢复到最近一次的正确配置”菜单项,这样就可以先前的HKLM\SYSTEM\ControlSet00n覆盖错误配置的CurrentControlSet(ControlSet00n中的n由HKLM\SYSTEM\Select的LastKnownGood键值指定)。! U; m# z4 M1 s7 a$ H
: n5 n$ X2 D$ g4 K; U
错误2:系统找不到指定的文件% o$ |1 |1 _2 B! N8 J$ U0 w
3 f# w6 R3 H, n
1.故障现象$ W3 G8 \: }6 ^" c3 S5 X9 q3 h

6 A# M1 S0 b! P9 X7 u5 p3 O/ p4 @尝试在“服务”管理单元窗口手动启动服务是,系统提示“错误2:系统找不到指定的文件”(Error 2: The system cannot find the file specified.),如图1所示。; v7 {& G/ ^. V) O

  @, g3 i% o/ E( `- `+ ^) L% @  z3 ]$ E5 g* g0 r+ s6 d/ k  r

+ D% u8 j* A; J5 e$ S  ?' C4 m1 m/ |2.原因分析0 S; j" b& A! l2 m' |, d; ~

, d* K0 j9 I! N5 I1 \3 V7 [两种可能:' @! v- d: F" h, }) G6 \
1 W/ c7 a8 y( b
(1) 服务的可执行文件丢失或者被破坏。9 l; ]$ j# v5 b" G6 s
; p/ j2 c9 \7 B% k5 O
(2) 服务相关注册表键值ImagePath的数值数据被篡改,导致SCM无法加载服务的可执行文件。5 }8 ^5 h6 z% {
+ L8 q. F4 `1 o  M
在“服务”管理单元窗口里可以看到每个服务的可执行文件路径,请仔细检查如图2所示的可执行文件所在路径,如果和参照系统的正确配置不符合,说明注册表键值ImagePath的数值数据有误。如果此处的配置没有问题,则说明可执行文件丢失或者被破坏。
; k" z' p8 n/ g; X9 W) F
4 W4 j( J4 M4 o2 r% `3 G
0 I  Q' f  S+ |, p. Z, g3.解决办法8 j4 c3 k# c' |* v+ K5 W& y3 q. q

. T0 t; f! w# I! V& G以“Task Scheduler”服务为例。6 u5 N& S* W# H6 @. a
' x( A8 X  V' y1 l! h
如果注册表键值ImagePath的数值数据被篡改,可以定位以下注册表项:
/ ?2 r* x; X: j4 z! K+ b( Z' R1 L
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Schedule& D9 p: c* I  E

9 l0 \0 C' l; Q8 a" w在右侧定位到ImagePath键值,将其数值数据修改为正确的值,并重启系统。
9 p# V# N" L. n& n3 E) z! E0 x  I
或者借助sc命令:
8 |$ c: E5 _! k2 v/ A: u* \# Q) T5 j( R4 D7 C
sc config Schedule binpath= "%SystemRoot%\System32\svchost.exe -k netsvcs"* r% M* C+ \0 l# \) k
9 V$ F% O# m: a* p
如果是可执行文件丢失或者破坏,请用正确的副本进行替换,并重启系统。对于本例来说,可执行文件是svchost,如果该文件被破坏,系统将无法正常运行。* d8 s+ U: V$ }- S3 @2 h* J- U

9 A, a1 L0 V5 u( i# i错误1053:服务没有及时相应启动或控制请求
7 ]5 k! D9 T7 \9 l) S) L
; D3 \* x; P6 ^$ }" @. f1.故障现象0 ?2 C2 ^- E9 `& j! ]/ C; o

/ C$ x/ F) E* J& T: s! f0 g尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误1053:服务没有及时相应启动或控制请求”,如图3所示。- V8 V: N$ J' [2 c$ q. W9 e% M# o8 v
+ d2 q+ N" E8 A: M. ~) O
7 q2 S4 m  b6 e1 R, n
# M6 D3 v  E! m# H: ]
2.原因分析
, @  T9 Y: A4 u2 J0 N& E" \
8 n5 q! V  M+ |: [. ?: W) L0 {+ a3 N如图2所示,可执行文件的附加命令参数配置有误,会导致问题。, U$ J  Q" T$ \# J
' Y; z& {$ r7 O5 B! |
3.解决办法
1 O$ P+ d* r* K2 c+ ]' v! i) V
. g2 O! c& d5 U3 }8 ]- l参照上述的方法,用sc命令或者注册表编辑器,对附加的命令参数进行排错。
/ f$ Q3 e4 e8 f& p: d7 I$ ]. A/ b+ G" j# d3 e7 Q; w
错误1083:配置成在该可执行程序中运行的这个服务不能执行该服务. I+ Z: a. x* b: ^
) E% z3 V8 ?, |' P0 B
1.故障现象- ^5 B& j( G! ]  w
# K7 T- j6 D9 l( c# [
尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误1083:配置成在该可执行程序中运行的这个服务不能执行该服务”,如图4所示。% s! v# w. f9 p7 b, S7 t
. r) k0 a) f2 {) S6 P
5 T! I3 w- B" z- c. i8 A# {! X

) u! L& L# i- h+ ]/ y1 W2.原因分析
# L( k2 S# b- ^/ O; P0 s5 j) f2 }- E, |% B3 [
该故障通常在由svchost服务宿主进程所启动的服务上发生。大家知道Windows XP SP2最多可以启动七个svchost进程实例(实际上启动六个进程实例),分别负责启动一组服务。每个svchost实例所负责启动的服务由以下注册表项决定:8 h9 U0 I( C5 r' E& A

9 Y1 S5 J7 W, C1 B9 @9 s7 cHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost, D' v5 ~7 N. Y) {

1 J% W: R% ^: e) f其下共有七个键值:DcomLaunch、HTTPFilter、imgsvc、LocalService、netsvcs、NetworkService、rpcss和termsvcs。每个键值都定义了一个或者多个服务,也就是对应每个svchost进程实例所能启动的一组服务。% U5 Y- H% {. q, F* v; m
% A0 `; q! Y$ E( U% w
本例中“Task Scheduler”服务的可执行程序参数是“svchost.exe -k netsvcs”,对应的svchost进程在启动该服务之前,会先到HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost下的netsvcs键值里查找是否有该服务的定义,如果没有,就会出现该故障现象。9 I+ B7 Z% D5 Y( E: O
6 [9 O( E$ w) E( j# T* a7 P9 @
3.解决办法
' s) P6 z. D( w3 N
; T' _4 q& l' g4 Y/ `很简单,首先打开该服务的属性对话框,查看其可执行程序的命令参数(本例是netsvcs),如图2所示。
9 {% [  F$ o# Q) O6 A1 ^+ g, s( {/ W' g, H4 l
然后进入以下注册表项:
$ p7 m/ p+ X! L2 o: U9 Q# r5 d/ B2 `1 h7 O
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost
# g; D0 G. m5 W+ k: {; R
+ \$ @6 L+ \9 t8 _在右侧定位到对应的键值,本例是netsvcs,在其数值数据里添加该服务名即可,本例是Schedule,如图5所示,并重启系统。
) q: T* Q$ S8 l& S. \
" h! ~( q' w8 A$ _* t0 t
0 |+ w3 K5 I% f, u0 m( ^" \7 M, q$ i5 C# w3 Z2 C, B. i
; \1 z( s+ d3 Y, n; W! D/ W9 v
提示 为什么通常只会启动六个svchost进程实例?都是TermService服务惹的祸!TermService(Terminal Services)这个服务非常另类,不仅仅出现在DcomLaunch组里,同时还独立出现在termsvcs组里,然而在“服务”管理单元窗口里,该服务的命令行为“svchost.exe -k DcomLaunch”,也就是说实际上并没有一个svchost进程实例负责启动termsvcs服务组!
* H/ C- U; F1 Y/ C/ H. g8 `0 C5 O1 e. \0 A) v' Z; d! a
) S+ i. W2 J9 g  r/ b0 g4 c
错误126:找不到指定的模块
7 h$ b8 j+ }6 Q+ a
, l: R$ f; ?8 X: n# l7 x1.故障现象
. z& \0 q  K6 I4 a! l: @; J# z' t+ e6 M0 s* `( u
尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误126:找不到指定的模块”(Error 126: The specified module could not be found.),如图6所示。
5 B- ]9 F" |* W+ t1 @+ I
7 ]1 X/ }& ~- H& ^. e: k( _: Q. p" m; q- J- b: Q
2.原因分析2 q! k& D) ]. d* q4 A

. m0 c" A4 j. y+ X该故障通常在由svchost服务宿主进程所启动的服务上发生。这一类的Windows服务,其实是以dll模块的形式插入某个svchost进程。如果该dll文件被破坏,或者注册表的相关键值被篡改,都可能导致问题。. D* ~% T& Y, q3 ]
  r/ G; d# J. Q  k
这类服务所对应的Dll文件,是由HKLM\SYSTEM\CurrentControlSet\Services\ServiceName\Parameters注册表项下的ServiceDll键值所定义的(此处的ServiceName是指服务名),如果该注册表键值出错,或者对应的Dll文件被破坏,就会导致这个问题。5 N* J2 Y5 W2 L
7 l; O0 L! ?1 I( ~2 g1 Q
在微软新闻组里有不少网友抱怨无法打开“磁盘管理”窗口,寻根溯源发现是“Logical Disk Manager”服务无法启动所导致。其中有一个case是系统被木马PCShare所感染,木马修改了“Logical Disk Manager”服务的注册表键值,把HKLM\SYSTEM\CurrentControlSet\Services\dmserver\Parameters注册表项下的键值ServiceDll的数值数据指向木马的文件“%SystemRoot%\System32\drivers\Ybfbqufe.sys”,尽管后来利用杀毒软件杀除木马,但是杀毒软件未能处理被木马篡改注册表键值,导致无法打开“磁盘管理”。% u8 z. T  F3 Z! z# h& P3 o, Z

! a% M+ U! Q9 s+ g- B3 }9 E- T注意 不要将该故障和“错误2:系统找不到指定的文件”相混淆!! K1 E2 u2 a) }2 a

* q" Y5 ?. I5 Z3 z# Z9 Y3.解决办法
4 H: Y5 v! e' ~1 j! u! e/ P. |7 O
; M* n- J  I7 b( _4 [! k& i对于“Logical Disk Manager”服务的问题,在以下的注册表项:" F9 I9 s  ]% ^4 Y" t: b5 ]* I
1 A0 I5 Z0 v% z0 }  x* Z
HKLM\SYSTEM\CurrentControlSet\Services\dmserver\Parameters
( N) R/ N& p/ }% n  i* ?2 p5 o' l
确保将其下ServiceDll键值的数值数据修改为“%SystemRoot%\System32\dmserver.dll”。' [7 k, K7 C; m2 c1 i

8 A5 g6 b5 ^$ |* z3 Y. g如果注册表键值没有问题,请确保用正确的文件副本替换原来的dll文件,并重启系统。
4 w, v% R" V: t; K# g: A5 T3 H. f/ M/ @* X3 S5 Z
错误1079:此服务的帐户不同于运行于同一进程上的其他服务的帐户
6 A  t5 N8 m0 D3 f, S, g4 F" o; _/ S* a: _. U: ~% y
1.故障现象
- T9 C9 a8 z8 C# E& w* D. k# i2 Z/ Y! @9 J/ t
尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误1079:此服务的帐户不同于运行于同一进程上的其他服务的帐户”,如图7所示。
7 A& |0 e" x/ j) n
' m) F7 m4 ?+ \6 x; k' W* G% I) u
% A2 s7 D! ~# G0 `/ P
$ M2 p* q2 M: C2 ?" G2.原因分析6 ?* @! V# G7 \( D: I

, }$ L: u7 o' x1 ?, j! D) G该故障通常在由svchost服务宿主进程所启动的服务上发生。前面说过Windows XP SP2最多可以启动七个svchost进程实例,分别负责启动一组服务。一组服务中的每个服务必须和对应的svchost进程实例运行在同一个启动帐户下。
( V- e. N. ^$ m! W# x7 p& C) q' b3 k' u: d
例如Alert服务属于LocalService组的服务,其对应的svchost进程实例运行在Local Service帐户下,如果错误地将Alert服务的启动帐户修改为别的帐户,例如Local System帐户,就会报错。
! l! j: c: Q8 b) Z
2 t/ N  R; d; c. B: W/ _, F' s3.解决办法9 [. F. T  s  }5 m5 w+ I
2 L9 r5 b# g' j, i) v- U
首先根据该服务的可执行文件路径属性找到其所属的服务组,例如Alert服务属于LocalService的服务组,然后确定同一组的其他服务的启动帐户,将其修改为相同的启动帐户即可。& v- v- i. |& m! [. |

+ [" P# z1 l6 |6 ~( x) X6 p/ J% f' r; x: J' _$ }
# Y- x1 o8 k; f. A  j9 [
错误1068:依存服务或组无法启动
5 t; T( Q) N0 E9 C
! v( m% ^1 Q$ }, s; s3 \1.故障现象+ [3 K9 F* K8 {# z9 `5 |

% h4 n0 n. P  M; I- l) t尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误1068:依存服务或组无法启动”,如图8所示。
5 g6 b# u9 F+ p# e8 i  q+ i6 d1 v( z2 a+ B/ s8 ^6 F

: a: p  d; [1 ]" |9 N! j$ W3 G0 ]
% [$ I# |# E0 d/ ?, F0 `) v2.原因分析
- u4 V6 M6 d9 E: W! T5 ^6 G+ [/ s' v) `( h9 x# I$ ?+ W4 w8 ~
某些服务依赖于其他服务或者驱动,只有这些依赖的服务或者驱动都启动成功,该服务才能顺利启动,否则就会报1068的错误。
. B9 O: c& ]: d( |7 B5 a  Y6 y) M& k5 k7 y2 h! C' z% F" l! a
3.解决办法
( G) y0 u% S9 S# Q
9 V" s3 J: P: Z: G: m2 W+ y! K! Q/ o首先我们要对这些不能启动的依赖服务或驱动进行排错,通常来说,可能有以下的一些原因:4 H. c3 ~& y$ ~! _5 A3 p

# l' E8 p+ A1 j3 h* W5 e! y0 W- s(1) 由第三方应用程序向系统服务添加额外的依赖服务,一旦这些额外的依赖服务出错、或者被删除,而注册表中的相关键值并没有做相应的改动,则会导致问题。
. M5 g  @! o6 o8 \  F8 ?3 j/ [7 q3 P; O" S" V
(2) 这些依赖的服务或者驱动被标志为禁用。0 o  c. ?+ t/ }9 e% d9 U

/ V7 d6 \8 O3 u7 F1 M0 m# v+ p' z对于第(1)种情况,这里有一个实例(来自于微软中文新闻组):
0 L# F) B& e5 d6 G( A" o8 D2 X( O+ `6 r' k& i2 D/ Z2 X) ~
问题:打印机是Legend LX1+1 1201i-2401i,现在无法正常使用,在事件查看器里的错误日志如下:
' H8 O$ n0 B" F0 Q$ Y& ^* M
+ _/ E0 R  S' a事件来源: Service Control Manager% m8 c$ v1 V$ m, K" I4 |
. w5 O8 z- E9 j7 ~% A
事件种类: 无
, A* e7 s( v- H5 `* s) L# ^0 L
# M' e1 ]& @: \! ], q事件 ID: 7003
, y/ c7 _: R5 `. E- z# \5 I% y% J1 v; o- M0 h
日期: 2006-3-22
( h& H3 q* @% G" k# b  ]2 d& \4 P" b$ |2 a- @% m
事件: 17:57:45# q$ K% V7 U8 g5 o0 T+ r
9 V! L  a7 H  m- I' ~
用户: N/A
: V2 |9 o* V$ e4 T6 [: ?9 w$ m) Y  Z, i6 S  l5 ~% o5 k
描述: Print Spooler 服务和下列不存在的服务存在相依的关系: LexBceS
3 h. d7 b# B1 f; I5 M8 @/ h) f: p6 B0 p, A6 ~# R
回答:联想应该是OEM利盟的打印机,所以系统会安装利盟的驱动程序,该第三方的驱动程序会给系统的Print Spooler服务添加一个新的依赖服务LexBceS,由于某种原因,该依赖服务LexBceS破坏,连累Print Spooler服务启动失败。- V1 z+ M7 u/ O, \# h: [4 I% [

# T" M% O' g  o0 ^可以在命令提示符窗口运行以下命令恢复Windows默认的依赖关系(Print Spooler服务默认依赖RPCSS服务):
+ S/ t" `9 `, {  j, ]0 T8 ^+ U& ~. f' u( n
sc config spooler depend= RPCSS
8 G: X8 _3 Q5 z" |7 ], M
; w/ M; W$ G% M  e当然,也可以打开注册表编辑器,进入以下注册表项:, O9 {0 y' B" F& U

* |# ~8 S, I6 v5 W+ AHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Spooler
+ j9 d* j/ S- ^3 j1 j
8 ^# C4 E+ E8 T7 u" T在右侧的详细窗格里找到DependOnService键值,确保其数值数据为RPCSS,删除其他任何的依赖服务。
$ i# Y9 l$ ]+ ~; a9 E4 Z0 u# x) _/ L$ X8 J- `8 l
错误1747:未知的验证服务
- M5 o4 r0 l' [; n' R
6 e6 v: A* R( C& V: Q1.故障现象
( Y# c8 \. [! h3 `% {6 f- c" E; s) _7 |8 O8 v
尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误1747:未知的验证服务”,如图9所示。5 k! z( k7 l# t: Q3 o/ ~1 y
' K+ c2 a2 W$ v: c5 \

, v# Y6 n) ~9 z7 R  e! w& s7 g2 w2 K- z% J7 t( r# Q4 T
2.原因分析
+ H, P6 B; \  P6 n  w8 M3 u
1 ^2 R- o# U$ N6 |$ C3 m未安装Microsoft网络客户端,就会导致某些服务无法启动,这些服务可能是WWW、FTP、IPSec Service等和网络有关的服务。3 p1 K2 Y/ R* M3 G
' q' [# b' Q& j# v
3.解决方法. w- d2 _' p: T+ {2 ^  E% n# Y* z1 s
* H8 M+ N* E0 Q2 }1 [
安装或者重新安装Microsoft网络客户端,重新启动即可解决问题5 O6 t& U6 b1 P  P# m5 ]# A
收藏收藏 贊贊(0)
把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分︰1宣傳
桃妖视频站,海量在线视频任你播

回復樓主 親!! 早上好! 心底有WK、心情就會飛翔,心中要個希望、笑容就會清爽!

 分享同時學會感恩,一句感謝的話語,就是最大的支持!  歡迎交流討論
您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

c重要聲明:本論壇是以即時上載言論的方式運作,WK論壇對所有言論的真實性、立場及版權等,不負任何法律責任。而一切言論只代表發佈者個人意見,並非本網站之立場,讀者及用戶務必自行判斷內容之真實性。 由於本論壇受到「即時上載言論」運作方式所規限,故不能完全監察所有言論,若讀者及用戶發現有內容出現「真實性、立場及版權」等問題,請聯絡我們:[email protected]論壇有權刪除任何言論(刪除前或不會作事先警告及通知)| SiteMap[網站地圖]

發表新帖 返回頂部