WK綜合論壇, WK综合论坛

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

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

在阅读本文的时候,请严格按照故障现象进行比对排错!
3 W' X* O3 c+ Y* k1 p, b! J: B
) V9 J! }7 h1 [- b$ ^& z如果涉及到注册表操作,请务必事先备份相关注册表项,并新建还原点。
4 U2 I9 v# f' H! P+ Q+ s& x) X' Q, I5 |/ K8 R& V' f: Z9 H: t, I, ?  R
如果系统无法顺利启动,请按Reset键重新开机,然后按F8,在Windows高级启动菜单上选择“恢复到最近一次的正确配置”菜单项,这样就可以先前的HKLM\SYSTEM\ControlSet00n覆盖错误配置的CurrentControlSet(ControlSet00n中的n由HKLM\SYSTEM\Select的LastKnownGood键值指定)。
* b6 r6 U: i/ ]' u5 p- V$ z# g* i) Y$ E0 C  p9 {2 p/ s# |
错误2:系统找不到指定的文件) l4 ?2 z( q6 d2 x1 e% N  X

* e+ o& E, b) p/ Q- h* g1.故障现象/ N9 d# z7 j( e; N" }6 K' ?

& J$ N# c& M9 \* g尝试在“服务”管理单元窗口手动启动服务是,系统提示“错误2:系统找不到指定的文件”(Error 2: The system cannot find the file specified.),如图1所示。
' R- R/ \: n4 ~6 o. x6 s! ~# W' R: _4 g. y' j: R1 X4 Y4 X2 R! P6 V( L
/ ^+ Y4 p- ?6 ], r4 G
$ W/ K: l  a! u! G# |
2.原因分析
/ ~. F% R. W% g# _, i  |
+ v9 l1 o/ P/ B% C, ~两种可能:! z: C6 N. C5 w' e
% w1 k% u& u# o7 O4 W# i" [; f! f
(1) 服务的可执行文件丢失或者被破坏。
- f, m2 Z) I  a# M( n4 h* e) \4 H3 M6 l, T4 n
(2) 服务相关注册表键值ImagePath的数值数据被篡改,导致SCM无法加载服务的可执行文件。) Y' J/ X/ t! N3 w! m& |
/ U5 p% O4 F( |) O
在“服务”管理单元窗口里可以看到每个服务的可执行文件路径,请仔细检查如图2所示的可执行文件所在路径,如果和参照系统的正确配置不符合,说明注册表键值ImagePath的数值数据有误。如果此处的配置没有问题,则说明可执行文件丢失或者被破坏。
7 A: U$ c8 n7 x; Y* X9 z1 b$ h; U7 o* s! H+ }& S- y
; n3 |0 z+ L  w
3.解决办法
& ]) C3 s# ^0 B4 e6 b! g
9 D, A$ s+ K3 @, A以“Task Scheduler”服务为例。$ d  t: J4 q# ]/ `

4 V+ P1 n: D7 m; m如果注册表键值ImagePath的数值数据被篡改,可以定位以下注册表项:; o+ J9 O# m8 r+ m7 A) ^

0 h' x  `+ ?" G$ q2 \" x7 AHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Schedule& ?; ^. x1 j5 R, v! l
" t6 n4 k6 t. L* T8 Q. v
在右侧定位到ImagePath键值,将其数值数据修改为正确的值,并重启系统。
- L' D. ~0 Z& r. Z: ~) b  X6 O7 |+ p, P& R4 Q
或者借助sc命令:
' h1 j+ V8 ^1 ]9 {9 X. k4 V' n/ l& V  V9 @3 ^/ G) V! _
sc config Schedule binpath= "%SystemRoot%\System32\svchost.exe -k netsvcs"" w6 }( Z) H5 {) ]
! h6 P# [7 B3 j" e: Z
如果是可执行文件丢失或者破坏,请用正确的副本进行替换,并重启系统。对于本例来说,可执行文件是svchost,如果该文件被破坏,系统将无法正常运行。: P7 u* [6 |- V+ F* R. ]1 a  ?, C4 Q4 I

) P9 m) t5 R7 O: D! N错误1053:服务没有及时相应启动或控制请求
4 K$ I) w; V; ^
. W8 G8 ~# w! W' _, q, W3 g1.故障现象; b( x" f2 G8 I, ]

; p5 f0 q5 k: N% o4 [尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误1053:服务没有及时相应启动或控制请求”,如图3所示。+ u# T4 G6 o& w5 S9 r  f- y

( R0 G* A% E4 ^) o; N9 R8 R6 r6 |$ W) a/ U9 b/ A! z& J/ T" l% l
9 ]) ~; ~! q; Z" \4 t* R
2.原因分析
" w5 I; x$ U0 O4 t2 O# e* _; Q4 P
, L7 z  k2 P' B, R2 D0 b如图2所示,可执行文件的附加命令参数配置有误,会导致问题。' f* h: |/ \: }; I# ^9 E7 E

9 y7 C& U9 i8 f# h% u. `. x3.解决办法% X" A. j4 n- f
! H2 Z2 e4 G$ H' C: E7 S: J
参照上述的方法,用sc命令或者注册表编辑器,对附加的命令参数进行排错。
% l$ b- l$ Q! N# g3 o  b
- L% b! d0 C" ~) ^错误1083:配置成在该可执行程序中运行的这个服务不能执行该服务
$ U$ G! k" f4 `3 P; {8 b; V. G9 k, W
1.故障现象; ]9 M0 v/ |& K! v

3 [: E- b3 }3 D, v, A' Y$ M  _& {尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误1083:配置成在该可执行程序中运行的这个服务不能执行该服务”,如图4所示。
4 v: s% x, {, M# c( C0 _: }, y9 Y& c0 b- v8 Z( P

1 p7 a& y2 J4 g2 Y. K+ A. d- _+ c+ Y! @6 k& \
2.原因分析0 s' q+ N/ I2 I/ H6 D7 y6 {
# p. j( y' I" j/ J$ B; W
该故障通常在由svchost服务宿主进程所启动的服务上发生。大家知道Windows XP SP2最多可以启动七个svchost进程实例(实际上启动六个进程实例),分别负责启动一组服务。每个svchost实例所负责启动的服务由以下注册表项决定:
1 Q+ q8 \9 F+ r+ T6 w: _+ R3 b! }+ i
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost$ g' P" H$ C( Y* Y3 q9 Q- c( o/ }
8 \: ^3 O! B; e4 P
其下共有七个键值:DcomLaunch、HTTPFilter、imgsvc、LocalService、netsvcs、NetworkService、rpcss和termsvcs。每个键值都定义了一个或者多个服务,也就是对应每个svchost进程实例所能启动的一组服务。
& i* l% ?% v8 X! ~  H& E  F) W* d& P3 P! e5 ~) I; j
本例中“Task Scheduler”服务的可执行程序参数是“svchost.exe -k netsvcs”,对应的svchost进程在启动该服务之前,会先到HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost下的netsvcs键值里查找是否有该服务的定义,如果没有,就会出现该故障现象。
; p3 ~9 f) b# c& u+ E, r( w' t2 K8 U! T& D
3.解决办法9 T6 k; U# ]" m1 p% b
. ?8 ~& l4 ^1 ]0 a/ S# }1 t7 {$ `
很简单,首先打开该服务的属性对话框,查看其可执行程序的命令参数(本例是netsvcs),如图2所示。
' y3 m. u! g/ H" C+ ~3 a; U4 X2 I. Z% a6 c6 T* Y1 O( F, H" Q& H4 @
然后进入以下注册表项:( R/ Y& L6 J( H" A, v6 D

% L$ x6 R+ B$ r5 U! SHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost! O$ P& ?' D. Q+ ^

0 B. ~: E9 H8 }4 y在右侧定位到对应的键值,本例是netsvcs,在其数值数据里添加该服务名即可,本例是Schedule,如图5所示,并重启系统。
  k" z2 e1 T" J1 v' j0 L! r1 B
* @2 |1 W2 p- z& s" F" B; V* x# d/ E8 j& M7 y/ H

3 `, }. A' N8 b  e+ n% ^+ I( i6 S
( F  k- V9 w" m* X/ R6 e  L9 b提示 为什么通常只会启动六个svchost进程实例?都是TermService服务惹的祸!TermService(Terminal Services)这个服务非常另类,不仅仅出现在DcomLaunch组里,同时还独立出现在termsvcs组里,然而在“服务”管理单元窗口里,该服务的命令行为“svchost.exe -k DcomLaunch”,也就是说实际上并没有一个svchost进程实例负责启动termsvcs服务组!  |8 ~. L* q, t: h

$ x4 s5 H+ t0 N# A5 ^5 P  v7 b* D! N
错误126:找不到指定的模块
8 R# w' d- \0 d' i+ ^" L3 f9 ~& c5 t2 `+ p% H
1.故障现象
$ d0 e- ?. d% r# v1 v# T
- [$ U0 f/ a0 O+ d尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误126:找不到指定的模块”(Error 126: The specified module could not be found.),如图6所示。8 I4 ]* k, Y8 e2 Q0 f0 F9 M

/ h! U4 p, ]* t2 [  a# m: o( w- f4 M: g4 I- v  y. Q
2.原因分析, U+ u+ U4 R3 U3 e5 u9 [" n* @
  N6 p6 g6 q+ H4 |( {
该故障通常在由svchost服务宿主进程所启动的服务上发生。这一类的Windows服务,其实是以dll模块的形式插入某个svchost进程。如果该dll文件被破坏,或者注册表的相关键值被篡改,都可能导致问题。5 y# a3 e# w! {( d2 V0 R/ Y
3 ^! I' O! Z) b$ _. f, B
这类服务所对应的Dll文件,是由HKLM\SYSTEM\CurrentControlSet\Services\ServiceName\Parameters注册表项下的ServiceDll键值所定义的(此处的ServiceName是指服务名),如果该注册表键值出错,或者对应的Dll文件被破坏,就会导致这个问题。- G3 V' t  Z6 P0 S

) b8 P+ x7 T4 F1 g$ K! u9 I6 r在微软新闻组里有不少网友抱怨无法打开“磁盘管理”窗口,寻根溯源发现是“Logical Disk Manager”服务无法启动所导致。其中有一个case是系统被木马PCShare所感染,木马修改了“Logical Disk Manager”服务的注册表键值,把HKLM\SYSTEM\CurrentControlSet\Services\dmserver\Parameters注册表项下的键值ServiceDll的数值数据指向木马的文件“%SystemRoot%\System32\drivers\Ybfbqufe.sys”,尽管后来利用杀毒软件杀除木马,但是杀毒软件未能处理被木马篡改注册表键值,导致无法打开“磁盘管理”。
% z7 n- q% L( I: \: H  s/ Q5 G% ^! @" |2 R, ~4 S' p
注意 不要将该故障和“错误2:系统找不到指定的文件”相混淆!
/ z3 x0 Y- }- y! y
* C7 c/ k4 D" F' f: W3.解决办法5 Q9 h# ]9 V' b1 S" Q

2 \2 O: J' ?- {8 {$ V) A对于“Logical Disk Manager”服务的问题,在以下的注册表项:  `/ q; j: f6 T6 i# {# G
' c, J7 ^& P+ \, X$ K* o
HKLM\SYSTEM\CurrentControlSet\Services\dmserver\Parameters& y% S* E; ?4 E. }) U& l* E5 F/ G2 w

* N# d1 n' n9 d1 g; t确保将其下ServiceDll键值的数值数据修改为“%SystemRoot%\System32\dmserver.dll”。2 ^5 Z7 t& Q( K" _

0 O7 V6 C0 ]- F; H4 j2 w如果注册表键值没有问题,请确保用正确的文件副本替换原来的dll文件,并重启系统。% U  K8 i( Z& @; i# V1 E6 v

1 q- @! l' Y+ A) o% [% B3 ?) \错误1079:此服务的帐户不同于运行于同一进程上的其他服务的帐户4 Z$ z# _& T+ @: O6 C$ t

) o% M9 y- J0 h5 R2 L, c1.故障现象) C5 k0 W/ p% k, n
( U) |# ?+ N. v# s
尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误1079:此服务的帐户不同于运行于同一进程上的其他服务的帐户”,如图7所示。
! V: @; q; M& [9 R, ]7 H; u. ?9 o9 {, A& h5 [& g( Z0 O5 H9 n

  R8 ]. P; ]* a" m0 U6 X, j9 `
$ I6 i7 v5 P5 R( P+ W. z2.原因分析
/ c  {5 |: G* A! m% D" v+ m- z) a' w/ s. G# G
该故障通常在由svchost服务宿主进程所启动的服务上发生。前面说过Windows XP SP2最多可以启动七个svchost进程实例,分别负责启动一组服务。一组服务中的每个服务必须和对应的svchost进程实例运行在同一个启动帐户下。
8 x9 @; B8 t/ x% ]1 P9 ]/ h( O) K$ m+ G/ q) Q9 V/ i$ a
例如Alert服务属于LocalService组的服务,其对应的svchost进程实例运行在Local Service帐户下,如果错误地将Alert服务的启动帐户修改为别的帐户,例如Local System帐户,就会报错。$ u' r) D3 [) q( j! n  e* t# y

3 u9 {$ G  U% j5 R; D+ Z1 R3.解决办法: F- H7 `! V& A, G4 _# x
! ?8 C. J% V  j  e# S/ h
首先根据该服务的可执行文件路径属性找到其所属的服务组,例如Alert服务属于LocalService的服务组,然后确定同一组的其他服务的启动帐户,将其修改为相同的启动帐户即可。
( u0 r) w  U$ ~5 E3 m
- h5 S0 T& ?5 L& U' x
& n8 V* ?' t, R! a8 I5 o: f0 J. x7 w0 z: I% x6 |
错误1068:依存服务或组无法启动
* h% c* N( Y7 B. k/ c& `# \8 x" R5 T  G
1.故障现象9 }2 s9 }  C! w8 P

/ U: p6 H! W7 H- n- _4 `$ O尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误1068:依存服务或组无法启动”,如图8所示。
# o' v( }0 x. f  [. T$ T( t
, S0 T3 ]9 ^6 [+ C* \1 j$ g0 i
8 W1 H/ {4 M$ M9 E2 M- z) ^
0 t+ i" y3 e% S" v2.原因分析
' I$ a. J! P! g  |1 \7 Q0 s5 |' D% {2 t/ t9 u% l2 W& B
某些服务依赖于其他服务或者驱动,只有这些依赖的服务或者驱动都启动成功,该服务才能顺利启动,否则就会报1068的错误。
8 ]7 d+ b, G+ ^6 R$ S0 W' K  d2 s% A4 q! S& B+ I0 ]' o$ D' \4 K6 G
3.解决办法$ h: f4 @; M5 A. g: ^# R3 R; G
* j2 r6 `; J5 a  x, D* N; D# A7 k
首先我们要对这些不能启动的依赖服务或驱动进行排错,通常来说,可能有以下的一些原因:, P" O" y4 b: h* D1 Z' }2 i8 d
" t  x! c8 ~2 y" F8 w  R$ w
(1) 由第三方应用程序向系统服务添加额外的依赖服务,一旦这些额外的依赖服务出错、或者被删除,而注册表中的相关键值并没有做相应的改动,则会导致问题。: H  V7 G) J/ F# X" x
7 b9 m9 Q( ^0 ~9 j! d- y2 g
(2) 这些依赖的服务或者驱动被标志为禁用。
  r$ d. j# \7 ]; x6 S
/ T1 p/ d) ]! {7 s" j对于第(1)种情况,这里有一个实例(来自于微软中文新闻组):# r( n4 f$ Y3 y( l) ?+ X

6 X6 m) C2 \5 }6 G1 u' ^6 Q: J问题:打印机是Legend LX1+1 1201i-2401i,现在无法正常使用,在事件查看器里的错误日志如下:( d5 `+ k) u% m3 s$ k& I  t. R& ^4 Z9 }
* V% Z& m: c! H1 Q+ S* \; y, f
事件来源: Service Control Manager( |$ F7 M( z  R
. Y1 p# }) A; ?1 [2 i. S6 p8 v: `
事件种类: 无
$ `( Y1 O1 }5 o# |7 Y* f0 j: ~; [' u9 z& j( r$ ]% V! E+ x- \) |
事件 ID: 7003
+ p: _. L: v& t
; j3 ?; n! ?4 F0 P: l& e/ N8 ~, ?日期: 2006-3-22
" s4 d# o+ k- F% R% M
. a" Y7 C* M# \, f) X4 {事件: 17:57:452 i0 m  v- P9 X2 o
3 L  D, ^3 p3 P" O: k% L. z! f
用户: N/A
3 a0 Q3 |7 E2 o8 F" H* w- H6 {$ o2 s/ [/ F7 b
描述: Print Spooler 服务和下列不存在的服务存在相依的关系: LexBceS
) x: |* d% V% g6 y, J( J; y, Y9 B: b0 }! w/ {
回答:联想应该是OEM利盟的打印机,所以系统会安装利盟的驱动程序,该第三方的驱动程序会给系统的Print Spooler服务添加一个新的依赖服务LexBceS,由于某种原因,该依赖服务LexBceS破坏,连累Print Spooler服务启动失败。7 F9 n% E' ]6 G

( N5 [& F/ F5 Z可以在命令提示符窗口运行以下命令恢复Windows默认的依赖关系(Print Spooler服务默认依赖RPCSS服务):8 c9 o& x3 G% n, t  d2 y

5 V4 J) c/ W+ q1 w# csc config spooler depend= RPCSS
6 W  W9 g. I( L' U) ]  N5 _+ w
当然,也可以打开注册表编辑器,进入以下注册表项:
* P: K8 q1 H4 r! O$ T7 b
/ C9 b* T+ o' ^- I+ j) ~HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Spooler
+ B4 S. S; b0 Q' Q, h; Z! t; t5 B" ^- j! G* Q
在右侧的详细窗格里找到DependOnService键值,确保其数值数据为RPCSS,删除其他任何的依赖服务。
  |  Q. o3 e/ R7 U0 X* K4 q3 U
! W% v; m; w: \! S* R7 u9 [: Q/ |4 h错误1747:未知的验证服务
8 Z$ ~5 }% L, d0 m
7 B* c2 L# ]5 Y; M; ~  ^) D3 G1.故障现象
% b  @$ A5 o7 W7 e1 Z7 K0 s
2 k8 \: [  B9 i4 L尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误1747:未知的验证服务”,如图9所示。/ V$ x3 E2 J  _, ^4 Q3 c$ D

/ p: v3 Y5 x- S& L& L' O( \2 P
! V4 q! Q! ]# L  V+ L4 h
5 Z) D4 m& ~% A7 t0 x  `2.原因分析- P" w& o2 y8 F/ T
: G4 g  B6 h! ]' s8 b( u) s
未安装Microsoft网络客户端,就会导致某些服务无法启动,这些服务可能是WWW、FTP、IPSec Service等和网络有关的服务。: s* |' W$ |$ i4 k; _+ H
3 g7 _% j9 ^9 h" c
3.解决方法
( o3 [# I  r! H/ R9 i
+ @* l$ G7 y+ D8 e, I$ P: A  a安装或者重新安装Microsoft网络客户端,重新启动即可解决问题6 s# [# k5 M6 U0 o
收藏收藏 贊贊(0)
把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分︰1宣傳
桃妖视频站,海量在线视频任你播

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

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

本版積分規則

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

發表新帖 返回頂部