WK綜合論壇, WK综合论坛

查看:1024 回復:0 發表於 2014-9-13 23:22:36
累計簽到:278 天
連續簽到:1 天
跳轉到指定樓層
楼主
發表於 2014-9-13 23:22:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

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

在阅读本文的时候,请严格按照故障现象进行比对排错!
+ m; Z" w0 W1 y% w. i4 S) W8 X# I0 i& l* o: W
如果涉及到注册表操作,请务必事先备份相关注册表项,并新建还原点。. A( o7 {# B, x) ^

  U) s" d; N' `6 `$ a) Z8 b如果系统无法顺利启动,请按Reset键重新开机,然后按F8,在Windows高级启动菜单上选择“恢复到最近一次的正确配置”菜单项,这样就可以先前的HKLM\SYSTEM\ControlSet00n覆盖错误配置的CurrentControlSet(ControlSet00n中的n由HKLM\SYSTEM\Select的LastKnownGood键值指定)。: Y# R; c% F. e) }# D
% r6 E: y# b( o0 z; O+ w6 z  V
错误2:系统找不到指定的文件4 O: k# |" M4 R! j
2 i: \0 _9 o) H
1.故障现象
5 a  K* |9 U6 [9 E# Z/ X/ p  @! U' O) H7 [0 t( x
尝试在“服务”管理单元窗口手动启动服务是,系统提示“错误2:系统找不到指定的文件”(Error 2: The system cannot find the file specified.),如图1所示。: D4 r7 a0 J% c* b$ r4 s0 G

' N2 i; _" s2 O$ F+ T3 K& ]& {+ p1 [, {3 M4 [1 l7 S1 b% A
; X5 ~2 ~* [0 d  `9 G* }1 m
2.原因分析
) W7 U8 I) I/ v, ^2 m' b& Y  Q8 B4 e, h/ h8 Q
两种可能:
4 m1 {# `1 D, i- i
! x) M+ L1 j$ N(1) 服务的可执行文件丢失或者被破坏。9 a, |+ J0 ~2 A
# j; ^5 K: T: S8 O$ q6 g
(2) 服务相关注册表键值ImagePath的数值数据被篡改,导致SCM无法加载服务的可执行文件。
& [, L2 t9 U1 B8 Z# o$ u9 k# ~; P3 ^: B! z
在“服务”管理单元窗口里可以看到每个服务的可执行文件路径,请仔细检查如图2所示的可执行文件所在路径,如果和参照系统的正确配置不符合,说明注册表键值ImagePath的数值数据有误。如果此处的配置没有问题,则说明可执行文件丢失或者被破坏。 2 g+ j" A( [% E% ]' J; T! {
6 H, E" x4 E. O9 q+ _- b
6 P  H7 @8 G6 Y( @# \4 @( X
3.解决办法. w+ s& m" ]- v( A+ k9 B
/ d+ I- r1 H7 b$ N
以“Task Scheduler”服务为例。& `, \. q' S2 [5 f3 |

. ^! b5 S9 ]3 Z+ N9 `如果注册表键值ImagePath的数值数据被篡改,可以定位以下注册表项:  G, D/ T9 g3 `* A% i/ A. |- E0 }

# u- ?+ ?' w) V# o5 J) u6 gHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Schedule
; P3 c1 V2 N, f$ N  l
4 o1 p) N1 z6 X3 z在右侧定位到ImagePath键值,将其数值数据修改为正确的值,并重启系统。
$ w0 u/ r" }& F6 \, i1 k+ z/ V( c  L! e2 j& m$ @/ O) i
或者借助sc命令:
2 D0 F6 ]( H7 u9 v1 ^% A- e# ]5 U6 a/ Z- Z9 f' u
sc config Schedule binpath= "%SystemRoot%\System32\svchost.exe -k netsvcs"1 ^% Y6 d( w+ k) ]1 h: a. r5 S

3 `2 Y( J1 J3 d; Z; W. j: i& c, X如果是可执行文件丢失或者破坏,请用正确的副本进行替换,并重启系统。对于本例来说,可执行文件是svchost,如果该文件被破坏,系统将无法正常运行。% A/ ^: ~& G8 F$ B! V: R( p
; Y$ |! P7 f# \, Y6 O; y( g
错误1053:服务没有及时相应启动或控制请求$ @3 F, |$ v5 |

& O2 N( a# r  @) R) ~9 @1.故障现象
# L7 \" Y- |4 M/ }" M7 p0 W
- P$ [6 o- M- |! [4 ^: q' e尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误1053:服务没有及时相应启动或控制请求”,如图3所示。
: k# A- H" D4 L, S$ ^( R3 {; W0 q. F/ W; O( w
- R# p+ H% {( d$ F7 f" n

4 \, d7 {, C% k" _1 ]0 H) g+ y2.原因分析
2 F# I4 h$ o, V! {+ G' k+ y& u2 u2 \
如图2所示,可执行文件的附加命令参数配置有误,会导致问题。! i, p, c& i. d/ m

" n! p7 v5 a" A* a- C1 j4 m  z3.解决办法
, S" J) o3 k8 O) a) W- F9 I; l9 n; N& A* h  S
参照上述的方法,用sc命令或者注册表编辑器,对附加的命令参数进行排错。1 e/ a) I' k4 M* h8 x
4 X( D+ N4 n* e/ ]8 l4 X# C
错误1083:配置成在该可执行程序中运行的这个服务不能执行该服务& r0 H# B( J- K8 Q5 R+ x
8 v5 @1 n& ]2 S9 ^5 O+ U
1.故障现象) ^( X) K0 g7 _
/ K3 x0 ?7 H, j+ f/ `
尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误1083:配置成在该可执行程序中运行的这个服务不能执行该服务”,如图4所示。
2 J" p. ?- Q/ ?% z
4 l8 y$ D. O- i. U# L- l: _" @( p8 Z- `9 Z4 Q1 g: a( a1 y

. `+ A/ f" ]$ g' z* H5 G2.原因分析  k8 u, e/ q8 L- l0 s
# b, S$ Z8 ?8 a8 Q# Z5 F7 J
该故障通常在由svchost服务宿主进程所启动的服务上发生。大家知道Windows XP SP2最多可以启动七个svchost进程实例(实际上启动六个进程实例),分别负责启动一组服务。每个svchost实例所负责启动的服务由以下注册表项决定:3 g- p& j9 C( ^) a7 @. V

* d! Z1 k) J5 o# ]8 z; pHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost' P) D1 O! s% |" r

  Q% s' v8 K$ G+ |0 g( Z其下共有七个键值:DcomLaunch、HTTPFilter、imgsvc、LocalService、netsvcs、NetworkService、rpcss和termsvcs。每个键值都定义了一个或者多个服务,也就是对应每个svchost进程实例所能启动的一组服务。
- l$ G  b  s5 W: C& F8 B0 D" o  J4 v. q5 v5 q. b
本例中“Task Scheduler”服务的可执行程序参数是“svchost.exe -k netsvcs”,对应的svchost进程在启动该服务之前,会先到HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost下的netsvcs键值里查找是否有该服务的定义,如果没有,就会出现该故障现象。1 @, w0 U  L8 o1 a! @
# F  H" \( ?* ^* Y
3.解决办法
. v! B0 c* n/ r, e1 `5 r! ^( q/ Q' K; g* D6 I
很简单,首先打开该服务的属性对话框,查看其可执行程序的命令参数(本例是netsvcs),如图2所示。9 r  Q% [) Z( |1 n' F% d
# \' p% q, G% i2 o5 X* _
然后进入以下注册表项:1 X7 R% J. L0 }0 S3 N' q' b+ R! A

& {/ m$ B& T7 P" n. FHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost( I! y. N9 s7 ~+ I$ E. h4 o- M
. {9 j9 m8 k  o4 t9 K
在右侧定位到对应的键值,本例是netsvcs,在其数值数据里添加该服务名即可,本例是Schedule,如图5所示,并重启系统。; u* r; B" f0 ?

- e7 {7 r' F# \; e: `6 u9 g
% E6 H, g6 y! V. g) y* w" u; U: B0 T1 ^6 j3 ^

! o, f2 C, r% I" r! z4 V提示 为什么通常只会启动六个svchost进程实例?都是TermService服务惹的祸!TermService(Terminal Services)这个服务非常另类,不仅仅出现在DcomLaunch组里,同时还独立出现在termsvcs组里,然而在“服务”管理单元窗口里,该服务的命令行为“svchost.exe -k DcomLaunch”,也就是说实际上并没有一个svchost进程实例负责启动termsvcs服务组!
' J7 u" ]8 \, t8 A2 ~' F: a# I
4 @! V. x* G/ @0 q3 p3 o' p) ^8 r; G: m- Z. G  M7 c2 s
错误126:找不到指定的模块
4 o- a1 G8 |5 y) D) O; X9 H2 {5 y; K  w
1.故障现象1 D. m8 y* H  T: `0 O, Q

; M( P2 D2 A( X' X4 X尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误126:找不到指定的模块”(Error 126: The specified module could not be found.),如图6所示。1 M- B5 ^+ I) n( Y/ W6 t2 o6 q
# P1 o* ~6 k9 S8 Q- b

4 T' R( R; V& U9 d* ?2.原因分析0 l+ q( W7 h6 A
9 `: Q& J( ]' T' g) _
该故障通常在由svchost服务宿主进程所启动的服务上发生。这一类的Windows服务,其实是以dll模块的形式插入某个svchost进程。如果该dll文件被破坏,或者注册表的相关键值被篡改,都可能导致问题。; x3 r1 T" I& V% b

/ g/ f* |) ]" ^! z  h3 T这类服务所对应的Dll文件,是由HKLM\SYSTEM\CurrentControlSet\Services\ServiceName\Parameters注册表项下的ServiceDll键值所定义的(此处的ServiceName是指服务名),如果该注册表键值出错,或者对应的Dll文件被破坏,就会导致这个问题。* z6 b; y6 l9 L5 q- X7 t  P

! z4 C5 J* X, c在微软新闻组里有不少网友抱怨无法打开“磁盘管理”窗口,寻根溯源发现是“Logical Disk Manager”服务无法启动所导致。其中有一个case是系统被木马PCShare所感染,木马修改了“Logical Disk Manager”服务的注册表键值,把HKLM\SYSTEM\CurrentControlSet\Services\dmserver\Parameters注册表项下的键值ServiceDll的数值数据指向木马的文件“%SystemRoot%\System32\drivers\Ybfbqufe.sys”,尽管后来利用杀毒软件杀除木马,但是杀毒软件未能处理被木马篡改注册表键值,导致无法打开“磁盘管理”。$ W( J  Q0 A  H$ F6 U8 i. p
2 c7 J& A0 x7 S. \
注意 不要将该故障和“错误2:系统找不到指定的文件”相混淆!
9 O6 T+ J" }9 s( p6 g4 p% K% A' t4 V# l# x: r5 p" `& p
3.解决办法  S; c- X+ ~$ u' p
6 g# k( ^; X4 Y
对于“Logical Disk Manager”服务的问题,在以下的注册表项:
/ J" @, w* V2 Y' e- I- M9 M( L. ~. i# c; H' }7 a
HKLM\SYSTEM\CurrentControlSet\Services\dmserver\Parameters
6 E, M1 d& w! O7 |* D8 B) v' h  c& }. R3 a9 I% F; J# n, s
确保将其下ServiceDll键值的数值数据修改为“%SystemRoot%\System32\dmserver.dll”。' O4 S& n! }9 c! ^/ e8 }; a/ |

" M3 k/ Q. E' n# k4 d如果注册表键值没有问题,请确保用正确的文件副本替换原来的dll文件,并重启系统。1 m$ ~; y! p3 X9 V, Y

9 a! X9 E9 D9 Q! C& F/ ]% W错误1079:此服务的帐户不同于运行于同一进程上的其他服务的帐户# b* \6 m0 P3 R3 o0 d. G0 Z

- `) Q. y4 A! _$ ^1.故障现象) }! G- D' u( K* M; ^' S

8 ?$ c/ A3 E# s) D9 N1 `% Z( O尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误1079:此服务的帐户不同于运行于同一进程上的其他服务的帐户”,如图7所示。
1 Q( s, s* s4 l) [; e# d" k" }* W  Z& d# T: r
: N: b# @7 Q& o( V2 h# x

) ^- B" p( G) u; K2.原因分析
% M* w) u, V0 n+ _6 e- f8 M
1 y. l' l- A! V该故障通常在由svchost服务宿主进程所启动的服务上发生。前面说过Windows XP SP2最多可以启动七个svchost进程实例,分别负责启动一组服务。一组服务中的每个服务必须和对应的svchost进程实例运行在同一个启动帐户下。
3 p/ K) B8 w4 y* L. Q
3 F+ s+ M. n5 t: j; n- q5 \例如Alert服务属于LocalService组的服务,其对应的svchost进程实例运行在Local Service帐户下,如果错误地将Alert服务的启动帐户修改为别的帐户,例如Local System帐户,就会报错。$ A3 ?  ]; r: R8 `7 n# m
7 \7 W( e9 Z* W' u
3.解决办法
6 q2 L( z1 t: ]; @$ O$ r: ?3 ~9 P% G" |2 ]$ F+ ]- u
首先根据该服务的可执行文件路径属性找到其所属的服务组,例如Alert服务属于LocalService的服务组,然后确定同一组的其他服务的启动帐户,将其修改为相同的启动帐户即可。% J: i' J. `; B/ I
0 X! m2 H% ~6 t. \8 e

+ j- T3 w5 Y5 ?8 R1 D; f2 B5 w: y9 S, y* Z6 _) _
错误1068:依存服务或组无法启动' o% V3 N. v7 S% l

+ ~9 d* A. u: b( d3 }3 \1.故障现象2 T; k) F( U, _4 G6 e. V. r  ^# _
/ ~8 M/ j/ k. b( B' F
尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误1068:依存服务或组无法启动”,如图8所示。
- N# C; ~) J  L, O9 Y& g8 U( X  |$ b: l* Z% G% a
  c; {/ n/ z0 m! G4 z  T
* U: C: U; L" Q8 ~3 j$ J5 \
2.原因分析
' q7 C7 A; @& C4 G% T1 c; V7 J) p9 K% ]
某些服务依赖于其他服务或者驱动,只有这些依赖的服务或者驱动都启动成功,该服务才能顺利启动,否则就会报1068的错误。- t! J: J$ M, A
$ e$ n7 [7 z/ I7 C
3.解决办法% A; E* m% s$ K9 G

/ T/ A: ]& i9 ^1 @* e  n首先我们要对这些不能启动的依赖服务或驱动进行排错,通常来说,可能有以下的一些原因:
, _9 }2 P/ `, D& [+ g  a
4 w, X+ I, W. x- @* N- y(1) 由第三方应用程序向系统服务添加额外的依赖服务,一旦这些额外的依赖服务出错、或者被删除,而注册表中的相关键值并没有做相应的改动,则会导致问题。& v) b. b6 ?8 W' Z$ g# P7 Y- e/ r
# k) |: m+ m5 x0 C, a1 P+ B
(2) 这些依赖的服务或者驱动被标志为禁用。0 V+ N( s; W+ v% V" n! w( m
% B0 n/ P: m$ K+ [4 Y4 G
对于第(1)种情况,这里有一个实例(来自于微软中文新闻组):7 ]: {% r. B# L: }6 J. x
( T  z- v0 \1 \6 V) \
问题:打印机是Legend LX1+1 1201i-2401i,现在无法正常使用,在事件查看器里的错误日志如下:
2 `7 e& m7 O: X1 s9 a) a9 C2 z9 P+ G2 r  N% X# Q
事件来源: Service Control Manager8 x) b* P( ]: k- b3 H

2 ?# m6 G, Q; t+ g8 z1 C/ K% I) D事件种类: 无
! i2 `5 W( _/ {! h) V6 B7 Q3 Y  L
- o. k% d$ M# _! C' k# X事件 ID: 7003
0 `/ b# I: V9 y% z: v& J7 x
9 w' g) B' I  y& i1 k# Y日期: 2006-3-22
, x4 Q% q& I' ?& d% g0 K4 q  `6 a7 F8 q7 v5 g, o3 D5 t
事件: 17:57:45' f# a# l5 m5 f) u9 H0 U

8 s' b& a) J0 ~: d用户: N/A
) d7 m+ Q1 C! `1 L  T& F+ y1 t3 i8 c
' v2 E. ?. A0 Y- b: ]1 I/ g# p# i描述: Print Spooler 服务和下列不存在的服务存在相依的关系: LexBceS; m: n& G- I0 f) C! e# _" m2 o

( B  f, d! h7 c, _  m2 G回答:联想应该是OEM利盟的打印机,所以系统会安装利盟的驱动程序,该第三方的驱动程序会给系统的Print Spooler服务添加一个新的依赖服务LexBceS,由于某种原因,该依赖服务LexBceS破坏,连累Print Spooler服务启动失败。1 F7 U% g, q6 O& u6 {# o5 i
9 a6 X* U9 m8 S
可以在命令提示符窗口运行以下命令恢复Windows默认的依赖关系(Print Spooler服务默认依赖RPCSS服务):
0 I9 Q" S$ I  i& p
1 K1 z0 V# e( u3 F* y- [6 h6 Xsc config spooler depend= RPCSS
( i6 s- i/ |+ i% Q6 S# B- s5 t* m6 J9 K) c2 K5 S% W
当然,也可以打开注册表编辑器,进入以下注册表项:
# T2 S$ F8 [6 {, C2 n7 V! J4 W, w  ?  f5 q5 h5 A- _+ b8 V
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Spooler
5 }4 p- E- x' P; d: l: g+ m3 @0 ]6 F$ u) j. x3 ^
在右侧的详细窗格里找到DependOnService键值,确保其数值数据为RPCSS,删除其他任何的依赖服务。. z2 f- i- i' [, ?, ?' F
: f( Y3 a5 q( H/ ^  R3 U
错误1747:未知的验证服务) G+ T' y* H  h6 I

/ O7 D6 S! U. P1.故障现象
: y3 e/ ~) S! ~( q& a: t, v) S% D/ c9 t  y: t) b
尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误1747:未知的验证服务”,如图9所示。
$ A9 U( L' q0 A, k6 I  B- j. |) {* v" y2 ]; n0 k. B9 ], y5 `

; R* I* i( f  U" T0 y! f6 Z! [  }8 k  ~$ y3 R
2.原因分析
9 d  \) I' U7 q6 a& w/ r' L: O  U5 P& n& _( y( d1 j
未安装Microsoft网络客户端,就会导致某些服务无法启动,这些服务可能是WWW、FTP、IPSec Service等和网络有关的服务。5 L0 F. n5 B% {0 g3 J: s
& ^. w1 ^, z' h% [# }8 L  m8 z
3.解决方法
( w" O. z0 k7 Q2 h& z
8 U+ g: C# _: J+ p3 K安装或者重新安装Microsoft网络客户端,重新启动即可解决问题) d3 T5 i+ l! b) `0 w* ~1 K& s& L) Q
收藏收藏 贊贊(0)
把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分︰1宣傳
桃妖视频站,海量在线视频任你播

回復樓主 親!! 下午好,中午養足了精神嗎?讓我們一起渡過下午茶時間,WK有您更精彩!

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

本版積分規則

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

發表新帖 返回頂部