使用Windows SFC和DISM工具来解决服务器OS问题
TechTarget中国原创】
随着使用时间的越来越多,Windows服务器安装的系统文件可能会被损坏或损毁。管理员一般可以通过系统自带的System File Checker (SFC) 或者更健壮和强大的Deployment Image Servicing and Management (DISM)命令修复操作系统,而期间服务器不需要停机。
Windows System File Checker (SFC)和Deployment Image Servicing and Management (DISM)是能改变系统文件的管理员工具,因此它们必须在管理员命令窗口中执行。
首先是System File Checker
Windows SFC工具集可以对Windows桌面和服务器系统内所有被保护的系统文件进行扫描和验证其版本信息、文件签字和校验和。如果命令发现任何被保护的文件曾 经被串改过或者覆盖过,它会尝试从%systemroot%\system32\dllcache文件夹恢复该文件初始版本。所有SFC命令执行的动作都 会被记录在%Windir%\CBS\CBS.log文件里面。如果发现任何不可修复的错误,那么你需要调查所涉及的文件。你可以通过搜索关键词 “corrupt”来查看出现最多的问题。
Windows SFC command语法
C:\Windows\System32> sfc /scannow
/scannow指令表明了这个命令需要马上被执行。在服务器上大部分数据都正常的情况下,需要15分钟来完成这项任务——通常执行的过程中还需要消耗单颗CPU 60%-80%的资源。对于一个拥有多余4核CPU的服务器来说,这个命令对服务器性能的影响比较小。
有的时候,SFC不能成功将一些已经被更改的文件进行替换,这并不代表着出现了问题。举个例子,最近的Windows版本包含了显卡驱动的数据,这些数据会被认为是损坏的,但是出现问题的应该是Window文件系统而不是文件本身,所以并不需要修复什么。
如果SFC不能修复问题,试下Windows DISM
Windows DISM命令比SFC更加强大。它还能检查不同的文件资源库——%windir%\WinSXS文件夹,也被称为"component store"——并且可以从不同的潜在资源获得可替换的文件。命令行能够让你在诊断或者修复镜像问题之前,先使用一种更快的方式来检查镜像。
CheckHealth命令语法
C:\Windows\System32> dism /Online /Cleanup-Image /CheckHealth
即使在拥有很大容量系统盘的服务器上,这个命令通常也只需要花费少于30秒的时间并且不会消耗系统资源。除非发现了一些问题,否则命令会返回“No component store corruption detected.”的报告。如果命令发现了问题,这个版本的DISM报告只会告诉你它检查到了有损坏文件,但不会提供详细的信息。
如果发现了损坏文件?下一步可以试一下ScanHealth
C:\Windows\System32> dism /Online /Cleanup-Image /ScanHealth
在这个更详细版本的DISM镜像检查中,系统会报告损坏的组件存储,并且会表明是否能对其进行修复。如果发现了损坏文件并且可以修复,那么可以使用/RestoreHealth命令来操作,这个命令也同样作用于/online镜像或者不同的/source目标
RestoreHealth会替换损坏的组件存储条目
C:\Windows\System32> dism /Online /Cleanup-Image /RestoreHealth
C:\Windows\System32> dism /source:<spec> /Cleanup-Image /RestoreHealth
你可以使用之前的命令对正在运行的在线镜像轻松地进行文件替换。不过经常发生的是本地拷贝文件不可用,或者文件并不会比本地组件存储本身的内容更加正确。 在这种情况下,可以使用/source命令来指向一个Windows镜像文件——一个.wim文件或者一个.esd文件——或者一个拥有相同配置的已知、 完好工作的Winsxs文件夹,也可以是一个已知完好的同样机器的备份文件。默认的情况下,DISM命令会尝试从Microsoft下载页面去下载相应的 组件,你也可以通过/LimitAccess命令来关掉这个行为。如果需要知道关于/source命令的语法,可以到TechNet网站查看 “Repair a Windows Image”相关文章。
DISM是一款很强大的工具,它的功能远远超过了基本的镜像修复。笔者曾经试过将它和“瑞士军刀”做过对比来维护Windows镜像。Windows系统管理员会发现DISM非常复杂,有的时候充满挑战,但是总体来说还是值得一试的。
使用Windows SFC和DISM工具来解决服务器OS问题的更多相关文章
- Windows下mysql忘记密码的解决方法
Windows下mysql忘记密码的解决方法 mysql5.0 http://www.jb51.net/article/21984.htm方法一: 1.在DOS窗口下输入 net stop mysql ...
- windows下使用远程工具登录虚拟机上的Linux、访问虚拟机上的服务 、端口转发、win7 telnet登陆虚拟机
首先要清楚virtual box如何设置端口转发: 一篇文章: 如何使用VirtualBox进行端口转发 由于默认的方式是用NAT来做虚拟机网络的,因此如果从外网想访问虚拟机的应用会比较麻烦.以前一直 ...
- windows端口占用处理工具
一.描述 笔者在最近使用tomcat时,老是会遇到这种端口占用的问题,便写了这个小的exe,用于解决windows下的端口占用问题. 好吧,其实是我实在记不住CMD下的那几行命令.这玩意的实现比较简单 ...
- Windows系统内存分析工具的介绍
Windows系统内存分析工具的介绍(进程管理器,资源管理器,性能监视器, VMMap, RamMap,PoolMon) 微软官方提供多种工具来分析Windows 的内存使用情况,除了系统自带的任 ...
- Windows 上面优秀的工具软件推荐
Windows 上面优秀的工具软件推荐 一.下载软件 1.速盘 - 度盘神器 简介: 使百度网盘保持全速下载免受限速困扰! 下载: speedpan 2.http下载工具 百度网盘破解下载器:prox ...
- 使用Windows下的git工具往github上传代码 踩坑记录
使用Windows下的git工具往github上传代码 踩坑记录 背景 由于以前接触的项目都是通过svn进行版本控制,现在公司项目使用git,加上自己平时有一个练手小项目,趁着周末试着把项目上传到自己 ...
- Windows 的这款工具,有时让我觉得 Mac 不是很香
上次写了个 cheat.sh 在手,天下我有,小伙伴们热情高涨,觉得这是一个没有杂质的好工具:也有小伙伴抱怨说对 Windows 用户不是特别友好 (其实用 curl API 是没啥问题的).为了「雨 ...
- 转:windows下命令行工具
转自: http://www.cnblogs.com/haochuang/p/5593411.html Windows下CMD不好用,远没有Linux,或者一些SSH工具用起来方便.其实Windows ...
- Windows系统自带工具的 cmd 命令
目标 与计算机高手无关,只是为了减少鼠标点击的次数,提高效率. 适用范围 Windows XP,Windows 7,Window 8 (在Windows 7 下验证通过.) 使用方法 在 “运行“ 对 ...
随机推荐
- kubernetes组件helm
1.安装helm Helm由客户端helm命令行工具和服务端tiller组成,Helm的安装十分简单. 下载helm命令行工具到master节点node1的/usr/local/bin下(只需要在其中 ...
- 【转】run方法与start方法的区别
在java线程中 start与run的不同start与run方法的主要区别在于当程序调用start方法一个新线程将会被创建,并且在run方法中的代码将会在新线程上运行,然而在你直接调用run方法的时候 ...
- MVC:控制器名与被调用模型名称发生冲突的解决方案
控制器名与被调用的模型名发生了冲突: 有两种解决方案: (1)将被调用的模型类名进行修改 例如: (2)对被调用的模型进行起一个别名 以上 加油ヾ(◍°∇°◍)ノ゙
- GitLab 的安装及汉化
系统环境:CentOS7 切记:安装GitLab 时会自动安装GitLab自带的Nginx,为了避免冲突,部署环境时先不要安装Nginx. 官网安装及汉化安装 官网安装最新版GitLab:https: ...
- IOS 搜索条制作(UITextField 封装)
封装到 HMSearchBar.h / .m #import <UIKit/UIKit.h> @interface HMSearchBar : UITextField + (instanc ...
- SpringMVC接受JSON参数详解
转:https://blog.csdn.net/LostSh/article/details/68923874 SpringMVC接受JSON参数详解及常见错误总结 最近一段时间不想使用Session ...
- IOC、注入
转:https://blog.csdn.net/lutianfeiml/article/details/51731219 实际开发中使用XML还是注解 XML: bean管理 注解: 注入属性的时候比 ...
- sz 命令
sz命令 下载文件命令 sz 文件名
- 缓冲区溢出实战教程系列(二):dev c++编译汇编代码
小伙伴们对我上一篇文章的反应完全出乎了我的意料,感谢大家对我的支持和认可.接下来我会精心的把这一系列课程设计好,尽量详细的展示给大家.上篇文章我列举了一个缓冲区溢出的小例子,并提到了dev c++.o ...
- 简单使用mybatis(idea中使用)
首先创建一个maven项目 第一步:在pom.xml中添加依赖 <dependencies> <!--mybatis--> <dependency> <gro ...