欢迎光临亚博电竞官网-亚博电竞最佳电竞竞猜平台

疑难解答

Windows疑难解答

发布时间:2020-12-12 03:56

亚博电竞官网-亚博电竞最佳电竞竞猜平台 服务。这类服务出错的现象往往是五花八门,判断起来比较麻烦,而且有些问题还无法通过查看微软知识库文章得到解决。所以这里进行一个简单的小结,帮助初学者解决常见的服务无

  服务。这类服务出错的现象往往是五花八门,判断起来比较麻烦,而且有些问题还无法通过查看微软知识库文章得到解决。所以这里进行一个简单的小结,帮助初学者解决常见的服务无法启动的问题。

  (2)服务相关注册表键值ImagePath的数值数据被篡改,导致SCM无法加载服务的可执行文件。

  在“服务”管理单元窗口里可以看到每个服务的可执行文件路径,请仔细检查如图2所示的可执行文件所在路径,如果和参照系统的正确配置不符合,说明注册表键值ImagePath的数值数据有误。如果此处的配置没有问题,则说明可执行文件丢失或者被破坏。

  如果注册表键值ImagePath的数值数据被篡改,可以定位以下注册表项:

  在右侧定位到ImagePath键值,将其数值数据修改为正确的值,并重启系统。

  如果是可执行文件丢失或者破坏,请用正确的副本进行替换,并重启系统。对于本例来说,可执行文件是svchost,如果该文件被破坏,系统将无法正常运行。

  尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误1053:服务没有及时相应启动或控制请求”,如图3所示。

  尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误1083:配置成在该可执行程序中运行的这个服务不能执行该服务”,如图4所示。

  该故障通常在由svchost服务宿主进程所启动的服务上发生。大家知道Windows XP SP2最多可以启动七个svchost进程实例(实际上启动六个进程实例),分别负责启动一组服务。每个svchost实例所负责启动的服务由以下注册表项决定:

  很简单,首先打开该服务的属性对话框,查看其可执行程序的命令参数(本例是netsvcs),如图2所示。

  在右侧定位到对应的键值,本例是netsvcs,在其数值数据里添加该服务名即可,本例是Schedule,如图5所示,并重启系统。

  该故障通常在由svchost服务宿主进程所启动的服务上发生。这一类的Windows服务,其实是以dll模块的形式插入某个svchost进程。如果该dll文件被破坏,或者注册表的相关键值被篡改,都可能导致问题。

  如果注册表键值没有问题,请确保用正确的文件副本替换原来的dll文件,并重启系统。

  尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误1079:此服务的帐户不同于运行于同一进程上的其他服务的帐户”,如图7所示。

  该故障通常在由svchost服务宿主进程所启动的服务上发生。前面说过Windows XP SP2最多可以启动七个svchost进程实例,分别负责启动一组服务。一组服务中的每个服务必须和对应的svchost进程实例运行在同一个启动帐户下。

  例如Alert服务属于LocalService组的服务,其对应的svchost进程实例运行在Local Service帐户下,如果错误地将Alert服务的启动帐户修改为别的帐户,例如Local System帐户,就会报错。

  首先根据该服务的可执行文件路径属性找到其所属的服务组,例如Alert服务属于LocalService的服务组,然后确定同一组的其他服务的启动帐户,将其修改为相同的启动帐户即可。

  尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误1068:依存服务或组无法启动”,如图8所示。

  某些服务依赖于其他服务或者驱动,只有这些依赖的服务或者驱动都启动成功,该服务才能顺利启动,否则就会报1068的错误。

  首先我们要对这些不能启动的依赖服务或驱动进行排错,通常来说,可能有以下的一些原因:

  (1)由第三方应用程序向系统服务添加额外的依赖服务,一旦这些额外的依赖服务出错、或者被删除,而注册表中的相关键值并没有做相应的改动,则会导致问题。

  问题:打印机是Legend LX1+1 1201i-2401i,现在无法正常使用,在事件查看器里的错误日志如下:

  回答:联想应该是OEM利盟的打印机,所以系统会安装利盟的驱动程序,该第三方的驱动程序会给系统的Print Spooler服务添加一个新的依赖服务LexBceS,由于某种原因,该依赖服务LexBceS破坏,连累Print Spooler服务启动失败。

  可以在命令提示符窗口运行以下命令恢复Windows默认的依赖关系(Print Spooler服务默认依赖RPCSS服务):

  在右侧的详细窗格里找到DependOnService键值,确保其数值数据为RPCSS,删除其他任何的依赖服务。

  尝试在“服务”管理单元窗口手动启动服务时,系统提示“错误1747:未知的验证服务”,如图9所示。

  未安装Microsoft网络客户端,就会导致某些服务无法启动,这些服务可能是、FTP、IPSec Service等和网络有关的服务。

  首先我得承认用这个Title确实有点哗众取宠,不过这也是Blog的魅力所在,在ITECN上我们可以任意发表自己对微软技术的心得体会,甚至可以发某些悬而未决、半成品的东西,只要是值得和大家分享的,都可以放上来~~扯远了,打住~~

  为何取名“鉴证实录”?其实该系列的文章都取材于微软中文新闻组(所遴选的帖子大多有笔者的参与)。“鉴证实录”系列文章,将尽可能忠实地记载帖子的原文(当然会根据实际情况,加以适当的调整),同时笔者将会对其中的每个问题,尽可能地提供背景知识的解析,同时尽可能加以相应的实验论证,既保证“原汁原味”,又确保“营养丰富”……

  微软中文新闻组的web地址如下,大家有任何有关微软产品的相关问题,都可以到那里交流::

  参与这次问答的一共有三位朋友,都是领衔主演,呵呵。其中一名是提问的网友,他提出一个非常棒的技术问题;其他两位是回答者,其中一位是网友Youyang,另一位就是笔者(盆盆)。在这里,非常感谢提问网友和Youyang对笔者的启发。

  网友:在Windows XP中启动“系统信息”程序窗口,在左侧控制台树中展开软件环境→正在运行任务,无意中发现有9个任务的路径、最小(最大)工作设置、版本、大小、开始时间、文件日期等项均显示为不可用,如图1所示。这些进程包括:alg.exe、csrss.exe、wdfmgr.exe、wmiprvse.exe、system、system idle process、svchost.exe(共有5个同名进程,其中有3个进程显示“不可用”)。因不清楚是究竟是怎么回事,特此请教大家,希望能够详细说明原因,谢谢!

  Youyang:正常的,我们的系统也是相同现象,关于Svchost.exe进程,你可以看看这里:

  网友:感谢Youyang的回复,我亦感觉应该没有什么问题,并且排除了系统及病毒等方面的可能因素。不过,还想请教一下为何会这样,某些进程显示为不可用?谢谢!

  盆盆:system和system idle process并没有真正的进程映象,所以找不到是正常的。至于其他五个进程信息为什么找不到,可能涉及到“系统信息”这个组件的工作机理,推荐你到开发新闻组去提问,以了解更详细的信息。

  Youyang:呵呵,我也准备找问题的答案。我现在脑子里面的一个想法就是,Msinfo32的所使用的线程的访问令牌没有访问某些Svchost.exe背后进程信息的权限,因此会显示出来无信息。不知道大家理解没,就像注册表中的SAM数据库,我们使用的帐户如果没有对他的Read权限的时候,是看不到内容的。

  System和System Idle Process,都不是真正意义上的用户模式进程,它们并没有对应的映象文件,例如System进程并不存在一个对应的system.exe进程映象文件。所以“系统信息”程序无法找到它们的进程信息,这是正常的。

  System进程实际上是代表内核模式线程的总和,而System Idle Process只是用来统计空闲的CPU时间。

  network service和local service帐户,是Windows XP(Windows Server 2003)新引入的帐户,和LocalSystem帐户一样,它们都不是Interactive组的成员,也就是说,不能在用户登录界面使用这些帐户进行“交互”登录。由Windows自动为这些帐户分配和管理密码,有关这些帐户的详细信息,可以参考以下微软官方网页:

  本文认为,Youyang朋友在最后所提到的解释应该就是问题的真正原因。接下来笔者将用实验进行论证和扩展。为了方便讲述,这里假设测试计算机上的管理员帐户为Admin,同时假设Windows XP安装在C盘。

  首先需要理解,进程是一个很奇妙的东东,它既可以像文件夹和打印机那样,可以对进程指定访问权限(例如谁可以query进程的信息、谁可以Terminate这个进程等等),也就是说每一个进程都可以关联一个ACL(访问控制列表)。

  然而和文件夹和打印机不一样的是,进程不但可以有ACL,同时还具有一个访问令牌(Access Token),访问令牌里定义一个帐户SID的列表和该进程所具有的一组特权(Priviledge)。

  可以把进程想像成具有“双重性格”,或者高中物理所学的“光的波粒二相性”,这样就不会忘记进程的这种双重特性。

  当进程(或者线程)需要访问某个共享资源(包括其他进程)时,就需要出示它访问令牌。然后安全子系统就会根据共享资源的ACL中的帐户和组,来逐个比对进程访问令牌中的帐户和组,以确认是否允许进程访问该共享资源。

  (1)Process Explorer:可以利用该工具来查看进程的ACL和访问令牌,可以到以下站点下载该工具:

  (2)PsExec:可以利用该工具来以其他帐户身份启动某个进程,可以到以下站点下载该工具:

  由于没有官方的内部文档,我们无法知道“系统信息”进程中的“正在运行任务”这个线程,到底获得什么访问令牌。所以这里我们只能假设“正在运行任务”这个线程,继承“系统信息”进程的访问令牌。

  (1)以Admin帐户登录系统,启动“系统信息”程序窗口,然后打开Process Explorer,双击“系统信息”的对应进程HelpCtr.exe,切换到“Security”标签页,这就是“系统信息”进程所获得的访问令牌,如图2所示。我们可以假设“正在运行任务”这个线程,自动继承“系统信息”进程的访问令牌。

  (2)接下来可以查看这些“不可用”进程的访问控制列表,首先查看一下csrss.exe进程。在Process Explorer中双击该csrss.exe进程,切换到“Security”标签页,然后单击其右下角的“Permission”按钮,即可查看csrss进程的访问权限设置。可以看到该进程只允许LocalSystem帐户访问,单击打开对话框上的“高级”按钮,还可以查看LocalSystem帐户的详细权限分配,如图3所示。

  这样就可以解释为什么无法查看csrss进程信息,原来只有LocalSystem帐户才可以有权限访问csrss进程,而“系统信息”进程的访问令牌里并不包含LocalSystem帐户!

  (3)接下来查看“不可用”的svchost进程的访问控制列表,在“系统信息”窗口里记下“不可用”svchost进程的PID,然后在Process Explorer窗口里打开该进程的权限查看窗口,如图4所示。

  和csrss进程相比,除了LocalSystem帐户外,svchost进程的访问控制列表中还包含了一个未知帐户SID(本例是S-1-5-5-0-35860)。实际上这是该svchost进程的Logon SID,也就是该svchost进程所在登录会话的SID。也就是说,只要是在同一个登录会话里运行的进程,都能访问该svchost进程的信息。

  对比一下图2,发现“系统信息”进程的访问令牌中的Logon SID是S-1-5-5-0-40881,和svchost进程ACL中的Logon SID不同,这就是为什么该svchost进程的信息不可用的原因!

  用同样的方法,可以找到alg和wdfmgr.exe的进程信息不可用的原因。

  提示关于Logon SID和其他内置SID的详细信息,可以参考以下的微软官方网页:

  由于以上“不可用”进程,都允许LocalSystem帐户访问其进程信息,所以这里我们尝试用LocalSystem帐户的身份启动“系统信息”进程,然后查看是否可以正常显示进程的信息。

  (1)要以LocalSystem帐户身份启动进程,可以借助PsExec,可以在CMD窗口运行以下命令,以LocalSystem帐户的身份启动“系统信息”进程:

  (2)现在可以看到,能够访问几乎所有进程的信息(除system和system idle process之外),如图5所示。

  而如果以普通用户的身份启动“系统信息”程序(可以借助runas或者PsExec命令),则可以发现有更多进程的信息现在都变成“不可用”,如下图所示。您能说出问题的原因吗?

  我知道不少朋友已经跃跃欲试,想通过Process Explorer来修改进程的权限。但是让人沮丧的是,结果会是“拒绝访问”。不过不要紧,我们可以借助Windows Server Resource Kit Tools工具包中的SubInAcl来设置进程的访问权限。这里以alg.exe为例:

  (2)运行以下命令,查看alg.exe进程现在的权限设置,命令结果如下:

  阅读了《Windows Internals》和以下MSDN文章,可以了解到Windows进程是调用CreateProcess函数创建的,其中的lpProcessAttributes参数“貌似”可以自定义进程的访问权限,这大概可以解释为什么csrss和winlogon进程都是smss进程的子进程,却会有不同访问权限(winlogon进程直接继承父进程的ACL,而csrss进程则有不同的ACL)。然而笔者本人对开发方面的内容不了解,还望诸兄多多加以指正,非常感谢!

  (1)Process Explorer获得的是和“系统信息”进程一样的访问令牌,为什么它可以查看所有进程的详细信息?是不是其线程可以模拟(Impersonate)相关进程的访问令牌?

  (2)在即将粉墨登场的Windows Vista上,如果以提升特权运行“系统信息”窗口,这个“Bug”似乎消失了,这又是为什么?微软似乎不应该去逐个调整这些进程的ACL,因为这样既吃力不讨好、又不利于安全。

  该问题的难点在于我们可能将面对一个非常苛刻的环境,考虑这样一个近乎极端的可能性:用户在组策略里设置仅允许运行某个无关紧要的应用程序,这将会导致无法运行regedit、组策略管理单元、记事本、系统还原等几乎所有的组件,这种可能性不是没有。这样的话,留给我们的排错空间就非常小。那么如果碰到这种情况,又该如何对付?

  这种方法适用于Windows XP SP2,在SP2下只能在用户配置下启用“只运行许可的Windows程序”策略项,而删除了在计算机配置下的相应策略项。这为我们排错提供了很大便利。

  (1)我们可以在控制面板里打开“用户帐户”组件,新建一个管理员帐户,假设是Test。

  (3)注销当前用户,登录到新建的Test帐户,现在可以打开组策略管理单元了,修改回原来的配置即可。

  原来组策略的”用户配置“部分的策略项,保存在C:\WINDOWS\system32\GroupPolicy\User\Registry.pol文件里,同时“用户配置”的策略只能在用户登录后才能加载到注册表(HKEY_CURRENT_USER\SOFTWARE),重命名Registry.pol文件后,“用户配置”部分对新建用户就无效,可以在该新建用户下将组策略修改回原来值。

  该策略项并非可以阻止一切程序或者组件运行,而是只能阻挡从资源管理器中启动的进程,而不能阻止由系统启动的进程(例如任务管理器),也不能阻止从CMD命令行窗口启动的进程(如果允许运行cmd的话)。

  如果是Windows 2000计算机,则可以在“计算机配置”下启用“只运行许可的Windows程序”策略项,那么以上方法就不可以使用了。因为“计算机配置”下的策略会加载到HKEY_LOCAL_MACHINE\Software中,在其他用户登录前就已经生效。这时候我们可以借助第三方工具Offline NT Password & Registry Editor,进行注册表的离线修改。

  (2)用该软盘启动该故障计算机,在命令行下离线加载Software注册表配置单元,并删除以下的注册表项:

  根据MVP刘晖的提醒,其实只要在安全模式下登录到Administrator帐户环境下,即可绕过软件限制策略。本文只是为了提供一种解决问题的思路。

  在微软中文新闻组里有网友问这么一个问题:在组策略→用户配置→管理模板→系统的“只运行许可的Windows程序”策略项里指定当前系统能够运行的应用程序,考虑到应该允许组策略的运行,所以把“gpedit.msc”添加到该策略项中,但是结果发现无法再也打开组策略窗口。

  原来打开组策略的实质是启动MMC进程,然后加载gpedit.msc管理单元,所以在这里应该添加mmc程序,而不是gpedit.msc。如果添加了gpedit.msc,而不是mmc,导致系统无法启动mmc进程,就会导致无法打开组策略窗口。

  遇到这类问题,比较容易想到的办法就是借助局域网的计算机打开故障系统的组策略管理单元,然后将策略项修改回原来的配置。

  (2)该故障计算机上的防火墙必须经过适当的配置,以允许远程访问组策略工具。

  假设故障计算机的计算机名为NoGpedit,位于工作组环境中,其上的管理员帐户名为Admin,密码为Passwd。假设局域网的另外一台正常计算机名为Test。

  (2)在打开的对话框上切换到“高级”标签页,并单击其上的“管理密码”按钮。

  (3)在打开的“存储用户名和密码”对话框上,单击“添加”按钮,在打开的对话框上输入NoGpedit计算机名和帐户名、密码,保存即可。

  即可在Test计算机上获得NoGpedit计算机的管理员帐户Admin的凭据。

  (5)在Test计算机上打开NoGpedit计算机的组策略编辑窗口,修改相应的策略项回默认值即可。

  类似方法:如果安全策略禁止所有管理员帐户本地登录,可以在局域网计算机上借助Ntrights命令远程给管理员组帐户赋予适当的本地登录的权利。

  根据MVP刘晖的提醒,其实只要在安全模式下登录到Administrator帐户环境下,即可绕过软件限制策略。本文只是为了提供一种解决问题的思路。

  重要说明:本方法在Windows XP环境下测试通过,有兴趣的朋友可以尝试在Windows 2000下进行测试。

  原理简述:在正常计算机上加载故障计算机的SYSTEM配置单元,然后通过修改注册表将一个批处理文件安装为服务(以LocalSystem权限运行),在开机时自动运行,新建一个管理员帐户。

  如果遇到管理员密码遗忘的问题,常见解决方法是采用之前创建的密码重设盘进行恢复(仅限于Windows XP),或者借助ERD Commander维护光盘中的LockSmith,或者O&O BlueCon进行密码重设。

  这里介绍一个另类的方法,将一个添加新用户的批处理文件安装为系统服务,该服务会在系统登录之前自动运行,这样我们就可以利用新建的用户登录系统。

  如果C盘为NTFS格式,则需要加载NTFSDOS Pro,下载地址如下:

  (3)在正常的计算机上打开注册表编辑器,然后选中HKEY_LOCAL_MACHINE,并单击文件、加载配置单元,定位到先前复制出的system配置单元文件,并指定加载到HKEY_LOCAL_MACHINE\Test System。

  (4)定位到以下键值,并记下该键值的数值数据x,该键值记录故障计算机默认加载的ControlSet00x(例如是ControlSet001)。

  这样就可以新建一个AddUser服务,以LocalSystem帐户的身份启动,类型为“自动”。

  注意:尽管在事件查看器里会提示新建的AddUser服务启动失败,但是实际上该服务确实可以生效。

  SYSKEY的Mode 2是将启动密钥(Start Key)保存在软盘里,如果没有启动密钥,将无法解密SAM数据库。

  如果Windows XP启用了系统还原,那么可以借助启用SYSKEY之前的还原点进行操作,方法有以下两种:

  如果能够恢复到启用SYSKEY之前的还原点,那么这个问题就能得到解决,这里的关键是能够Offline访问系统还原功能。

  如果没有ERD Commander 2005,可以借助WIN98启动盘,如果C盘是NTFS,则需要借助NTFSDOS Pro软盘,以便能够访问NTFS分区。然后进入实模式DOS环境下,利用启用SYSKEY以前的还原点,将注册表配置单元恢复到原来的状态。

  进入实模式DOS环境后(根据实际情况,可能需要借助NTFSDOS Pro挂载启动分区),然后进入系统还原的工作目录C:\System Volume Information,当然你得先用dir命令显示其8.3短文件名。然后参考KB307545的“第二部分”恢复注册表配置单元(唯一的区别在于,您只能“屈尊”在DOS下完成)。

  在win2000下,有一个帐号emp是属于user组的,某天我把emp帐号改成了guest组。

  后来在某人的强烈要求下,我又把emp帐号改回到user组,这时候问题来了,emp帐号桌面上的文件、桌面背景都不见了,我的文档中的文件也没有了,就好像这个emp帐号是刚刚才新建并第一次登陆的样子。

  由于时间关系,我没有对其他语言版本、其他Service Pack版本进行全面测试,不过结论应该类似。

  emp用户的配置文件,包括桌面配置、我的文档、收藏夹等,是保存在C:\Documents and Settings\emp文件夹里,当将emp从guests组组改为users时,Windows 2000会自动删除该文件夹(当将emp用户从users组改为guests组时,这种情况不会发生)。

  在将用户所属组从guests更改为users组之前,需要事先对C:\Documents and Settings\emp文件夹进行备份,这里面重要的是,要实现带ACL的备份,这里推荐两种方法:

  等修改emp用户所属组以后,将复制的empbak目录重命名为emp即可。

  2. 打开系统属性对话框,切换到“用户配置文件”标签页,选中emp配置文件,单击“复制到”按钮,指定复制的路径和文件名即可。

  问题摘要:我的windows xp pro (英文版)面对了在启动 Windows时计算机停止响应并出现黑屏的问题。我有看过KB314503,寻求解决方案可是他们所提供的我都尝试了都无效。

  (1)初步分析:KB314503介绍了出现Windows Logo前的启动故障排错方法,既然该方案无效,则可能用户并非在该阶段启动出错。

  (3)用户反馈:属于阶段c,在出现Windows XP Logo时系统黑屏。(这也是KB314503无法解决该case的原因)

  用户反馈:安全模式下无法登录系统,每次到了AGP440.SYS就停止不动了。

  (4)推荐方案3:借助Windows XP安装光盘引导系统,登录到Recovery Console,然后在命令提示符下运行listsvc,确认系统里有AGP440驱动,然后运行disable AGP440禁用该服务,设置完毕,重启系统。

  补充:还可以开机按F8,在高级启动菜单里选中“Enable Boot Logging”,等系统启动失败后,利用Windows XP安装光盘引导系统,在故障恢复控制台下用more命令检查%systemroot%\ntbtlog.txt(引导日志文件),找出问题原因。


Copyright ©2015-2020 亚博电竞官网-亚博电竞最佳电竞竞猜平台 版权所有 未经同意禁止转载或建立镜像
地址:河北省衡水市人民西路电厂西行1000米联系人:刘经理 电话:0318-2378966
邮箱:hengshuinuodeer@163.com 电话:0318-2378966 传真:0318-2378966