Windows 10命令行:使用StorDiag.exe诊断磁盘和文件系统问题

StorDiag.exe 是微软在 Windows 10 周年更新中新添加的存储和文件系统诊断工具,该工具属于命令行系统工具,它主要用于收集和识别存储相关的问题,可主动识别 NTFS 文件系统损坏。最为重要的是,StorDiag.exe 可以执行 ETW Trace 以及检查 NTFS 文件系统的一致性,在排错时非常实用。

该命令的使用非常简单,主要还是看结果日志:


  1. StorDiag [-collectEtw] [-out <PATH>] 

  • -collectEtw 收集 30 秒时长的 ETW Trace
  • -checkFSConsistency 检查 NTFS 文件系统一致性
  • -out <PATH> 指定日志文件输出路径

如果你在执行 StorDiag 诊断命令时未指定任何参数,默认日志文件会打包输出到 %TEMP%\StorDiag.zip。当然,要获得最为详尽的存储和文件系统诊断日志信息,必需要指定 StorDiag 的参数,也可以像以下示例一样将日志保存位置进行更改:


  1. StorDiag.exe -collectEtw -checkFSConsistency -out d:\ 

取决于当前 Windows 10 所连接存储设备的速度和数量,整个诊断过程可能会花几分钟甚至更长时间,StorDiag.exe 会在后台自动 ChkDisk 所有分区、收集 30 秒 ETW trace 日志等操作后进行统一输出。

以下为 StorDiag 会输入的所有日志文件列表:

  • CDROM.reg
  • ChkDsk <盘符>.txt
  • DiskDrive.reg
  • FileSystem.reg
  • HDC.reg
  • LocaleMetaData 目录
  • Microsoft-Windows-DataIntegrityScan-Admin.evtx
  • Microsoft-Windows-DataIntegrityScan-CrashRecovery.evtx
  • Microsoft-Windows-DiskDiagnostic.evtx
  • Microsoft-Windows-Ntfs.evtx
  • Microsoft-Windows-Partition.evtx
  • Microsoft-Windows-Storage-ATAPort.evtx
  • Microsoft-Windows-Storage-ClassPnp.evtx
  • Microsoft-Windows-Storage-Storport.evtx
  • Microsoft-Windows-StorageManagement-Operational.evtx
  • Microsoft-Windows-StorageSpaces-Driver-Diagnostic.evtx
  • Microsoft-Windows-StorageSpaces-Driver-Operational.evtx
  • Microsoft-Windows-StorageSpaces-SpaceManager-Operational.evtx
  • Microsoft-Windows-Volume.evtx
  • Microsoft-Windows-VolumeSnapshot-Driver.evtx
  • perflog.etl
  • PSLogs.txt
  • SCSIAdapter.reg
  • System.evtx
  • VolMgr.reg
  • VolSnap.reg
  • Volume <盘符> Corruption.txt
  • Volume.reg

StorDiag.exe 对 IT Pro 来说确实是一款非常不错的命令行存储、文件系统诊断工具,用它可以更加深入地帮我们发现并了解存储状态,也可以大大加快故障的诊断过程。

本文作者:佚名

来源:51CTO

时间: 2024-10-03 23:13:22

Windows 10命令行:使用StorDiag.exe诊断磁盘和文件系统问题的相关文章

windows下命令行发送邮件blat.exe

  windows下命令行发送邮件blat.exe简介 下载最新的工具包,解压并拷贝到操作系统盘的System32 目录下.我的环境C:WindowsSystem32. 确认文件已经拷贝过去: blat.dll blat.exe blat.lib 批命令例子: ----------------- 例子开始 ----------------------------------------- @echo off :::::::::::::: 参数设置:::::::::::::: set from=x

如何设置Windows默认命令行窗口大小和缓冲区大小

  如何设置Windows默认命令行窗口大小和缓冲区大小 Windows 命令行 cmd 窗口系统默认的大小(80*40)对于现在的屏幕配置已经跟不上时代了,我们总是要把它改大些,而且缓冲区大小也想改得大大的.单纯的为当前的 Windows 命令行窗口修改显示大小和缓冲区大小就简单了,右键命令行窗口标题,属性里改屏幕缓冲区和窗口大小就是,系统会为与当前标题相同的命令行窗口记住你的设置,比如 C:Windowssystem32cmd.exe.但是经常你又会打开不同标题的命令行窗口,如 Tomat,

Windows下命令行下执行Php程序的例子

在windows的命令行下执行程序 打开 命令提示符 cmd.exe     切换到PHP安装目录,如图:E: 进入相应的目录,如图:cd \np\php 执行PHP文件:php.exe E:\www\test.php

Windows网络命令行程序参数说明_应用技巧

Windows网络命令行程序  C:\>nslookup www.jb51.net Server:  www Address:  192.168.5.8 Non-authoritative answer: Name:    www.jb51.net Address:  202.103.69.64 这部分包括:  shi 使用 ipconfig /all 查看配置  使用 ipconfig /renew 刷新配置  对于启用 DHCP 的 Windows 95 和 Windows 98 客户,请使

go语言执行windows下命令行的方法_Golang

本文实例讲述了go语言执行windows下命令行的方法.分享给大家供大家参考.具体如下: 在golang里执行windows下的命令行,例如在golang里面调用 del d:\a.txt 命令 复制代码 代码如下: package main import(     "fmt"     "os/exec" ) func main(){       c := exec.Command("cmd", "/C", "del

windows的命令行工具和DOS工具的区别

很多的系统管理员可能认为命令行是程序员编程用的,这是不对的,其实命令行是另一种用来管理计算机的接口.1 命令行窗口        Windows NT/Windows 2000以后的操作系统为用户提供了两种命令行窗口:cmd.exe和command.com,CMD.EXE是Windows 窗口命令行接口,因此它可以通过窗口右上角的X来关闭,它不是一个dos窗口,而COMMAND.COM是一个16位的DOS应用程序,它用于支持老的dos应用程序,它必须通过命令行输入exit才可以退出,它一般运行于

命令行编译器vbc.exe和csc.exe的使用

Titlevbc:MSDN相关 http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vblr7/html/valrfvbcompileroptionslistedbycategory.asp csc:MSDN相关 使用 C# 2.0 命令行编译器 将quote.vb编译成quote.dll文件,使用的命令是:vbc.exe,我用的机器上装的是win server 2003 .命令所在的路径为:C:\WINDOWS\

如何在windows 7命令行使用ssh通过秘钥登录linux

1.下载: openssh for winodws: http://pan.baidu.com/s/1rDAOg 2.安装: 下一步>>>...完成.. 3.windows环境变量: 右键计算机-->属性-->高级系统设置-->环境变量-->系统变量:编辑Path,在行尾追加 ;C:\Program Files (x86)\OpenSSH for Windows\bin -->各种确定即可 4.复制公钥和私钥到windows安装路径的.ssh目录下 5.打开

哪位大神帮帮我,vb.net如何创建带命令行参数的exe程序

问题描述 现在我在用VB.NET写一个计数器小程序,是在DOS命令行下运行的控制台程序,要求在批处理中调用这个计数程序,后面加的参数为计数的次数.列如COUNTER2000020000为计数的次数,每次执行COUNTER.EXE的时候,就会在程序目录下的一个COUNTER.log文件中增加1次,程序会去确认log中的次数是否有达到参数设定的次数20000次,若没有达到会返回一个errorlevel值,则批处理继续循环做测试,若达到20000次,则返回另一个errorlevel值,则批处理判断到这