Windows の標準機能でディスクの健康状態を確認する方法です。
ディスクの健康状態
ディスクにはシステムやデータが保存されており、ディスクに問題が生じると、システムが動作不良になったり、データを失ったりする可能性が生じます。
ディスクは常に健康な状態であり、整合性を保っていなければ、信頼してシステムやデータを任せることができません。
しかし、いつ問題が生じるのかはわかりませんし、表面化する以前の小さな問題が水面下で生じている可能性もあります。
どのようにして問題があることを把握するすることができるでしょうか。判断に必要な情報は、一般に S.M.A.R.T. 情報を参考にしたり解析したりして健康状態を判断します。
S.M.A.R.T. 情報 (Self-Monitoring, Analysis and Reporting Technology; すまーと) とは、ディスクに関する様々な情報の記録です。
例えば、不良セクタが生じたとしても、不良セクタを回避することでディスクは問題なく仕様を継続できます。
しかし、不良クタの単純な数が多数である場合や時系列での増加傾向、その他の情報等を総合的に判断すると、そのディスクは交換すべきであると判断できるかもしれません。
システム管理者の設計により異なりますが、一般的にはひとつ以上の信頼性の高いシステムに監視を任せます。
監視には専用のソフトウェアをインストールして常駐させますが、Windows 標準機能でも状態を知ることができます。
WMIC でディスク状態を確認する方法
ここではコマンドを使用して状態を確認します。
コマンド:
wmic diskdrive get status
実行例:
PS C:\Users\Owner> wmic diskdrive get status
Status
OK
OK
OK
結果 (OK) のみ表示されるのでわかりにくいですが、システムに接続されているディスクを同じ数の OK が表示されれば問題がない状態です。
したがって、この例の場合、 3 つのディスクが接続されており、いずれも問題がないことがわかります。
ディスクの数をビジュアルに確認したいときは「ディスクの管理」を使用する方法があります。コマンドで確認するには、Status を無くして実行するか、以下「参考」の項を参照して必要な情報を得ることもできます。
(参考) メリットとデメリット
このコマンドは、かんたんに状態を確認できるため、定期的にディスクの健康状態を確認して管理者に報告するバッチ処理などの仕組みを作ることが考えられます。
一方、問題があることが明らかになっているディスクを接続して試験したところ、コマンドの実行結果は「OK」でした。この際、外部ツールでは「異常」として報告されました。
ただ、逆に、外部ツールが「異常」を検知しながら「正常」と表示するケースも経験していますので、これをもってコマンドの実行結果を疑問視することもできません。
総合的な評価をして最適な設計や判断をなさってください。
参考
wmic diskdrive get <プロパティ>
プロパティには、以下を設定可能です:
- Availability
- BytesPerSector
- Capabilities
- CapabilityDescriptions
- CompressionMethod
- ConfigManagerErrorCode
- ConfigManagerUserConfig
- DefaultBlockSize
- Description
- DeviceID
- ErrorCleared
- ErrorDescription
- ErrorMethodology
- Index
- InstallDate
- InterfaceType
- LastErrorCode
- Manufacturer
- MaxBlockSize
- MaxMediaSize
- MediaLoaded
- MediaType
- MinBlockSize
- Model
- Name
- NeedsCleaning
- NumberOfMediaSupported
- PNPDeviceID
- Partitions
- PowerManagementCapabilities
- PowerManagementSupported
- SCSIBus
- SCSILogicalUnit
- SCSIPort
- SCSITargetId
- SectorsPerTrack
- Signature
- Size
- Status
- StatusInfo
- SystemName
- TotalCylinders
- TotalHeads
- TotalSectors
- TotalTracks
- TracksPerCylinder
エラー例
‘wmic’ は、コマンドレット~として認識されません
PS C:\Users\Owner> wmic diskdrive get status
wmic : 用語 'wmic' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識
されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してか
ら、再試行してください。
発生場所 行:1 文字:1
+ wmic diskdrive get status
+ ~~~~
+ CategoryInfo : ObjectNotFound: (wmic:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
wmic コマンドが使用できない状態の可能性がありますので、ページ内「wmic コマンドが使用できない」の項をご参照ください。
‘wmic’ は、内部コマンド~として認識されていません
C:\Users\Owner>wmic diskdrive get status
'wmic' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
wmic コマンドが使用できない状態の可能性がありますので、ページ内「wmic コマンドが使用できない」の項をご参照ください。
wmic コマンドが使用できない
wmic コマンドが使用できない場合は、WMICを有効にする方法についてのサポート記事をご参照ください:
参考文献等
- Self-Monitoring, Analysis and Reporting Technology – Wikipedia
https://ja.wikipedia.org/wiki/Self-Monitoring,_Analysis_and_Reporting_Technology - wmic | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/wmic
関連
Windows 標準機能でディスクのチェックをする方法については、次のサポート記事をご参照ください:
Windows 標準機能でディスクがダーティか確認する方法については、次のサポート記事をご参照ください:
注意
- 本操作は Windows 11 のものです
スポンサードリンク