ハードドライブが実際に回転しているか、Windows 7でスリープモードになっているかを確認する方法はありますか?
内蔵ハードドライブと外付けハードドライブの両方の答えを探しています。彼らは常に彼らのステータスを示すためにライトを持っているわけではありません。
ハードドライブが実際に回転しているか、Windows 7でスリープモードになっているかを確認する方法はありますか?
内蔵ハードドライブと外付けハードドライブの両方の答えを探しています。彼らは常に彼らのステータスを示すためにライトを持っているわけではありません。
回答:
smartmontoolsのsmartctl
コマンドラインユーティリティは、スイッチでこの機能を提供します。manページから:-n
-n POWERMODE、-nocheck = POWERMODE
[ATAのみ]デバイスが低電力モードのときにチェックを実行する前にsmartctlを終了するかどうかを指定します。smartctlによってディスクがスピンアップするのを防ぐために使用できます。
唯一のオプション引数としても、非昇格端末から動作します。これにより、内部ドライブでの使用が非常に簡単になります。
> smartctl.exe -n standby d:
smartctl 6.5 2016-05-07 r4318 [x86_64-w64-mingw32-win10] (sf-6.5-1)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
d:: Device is in STANDBY (OS) mode, exit(2)
一方、回転するドライブは報告します Device is in ACTIVE or IDLE mode
外付けドライブやエキゾチックなコントローラーは、より注意が必要な場合があり、-d
スイッチを確認する必要があります。
洗練されていないソリューションですが、Windowsバージョンのhdparmをインストールしてみてください。次にhdparm.exe -C [drivename]
、インストールしたディレクトリから実行します(通常Program Files (x86)
など)。この方法を使用すると、ドライブがアクティブ/アイドル状態であるか、スタンバイ状態(スリープ状態で、回転していない状態)であるかを確認できました。
ドライブ名は、何らかの方法でWindowsドライブ文字/物理デバイス(/dev/hda
通常はプライマリドライブなど/dev/hdb
)にマップされるUNIXスタイルのデバイスアドレスですが、使用可能なUNIXデバイスエイリアスを確認する方法がわかりません窓の下。指定された/dev/hd_
エイリアスが正しいドライブに対応していることを確認するにはhdparm.exe -i [drivename]
、エイリアスを実行し、出力をチェックして、ドライブパラメータが期待どおりに一致するかどうかを確認します。
この機能を実現するためのグラフィカルおよび/またはネイティブウィンドウユーティリティがあればいいのですが、私はそれを知りません。
まだUNIX風ですが、Windowsバージョンのsmartmontoolsをいじってみて、より使いやすいパッケージで同様の機能を提供しているかどうかを確認することもできます。しかし、私はそのソフトウェアの経験はありません。
PowerShellスクリプトを使用して、この情報が利用可能なディスクドライブのステータスを取得できます(すべてのドライブがこのステータスを返すわけではありません)。
Windows PowerShellコンソールでこれを試してください(おそらく管理者として実行してください):
Get-WMIObject -class Win32_DiskDrive | Select-Object caption,availability
可用性の興味深い値は次の場所にあります。
3 (0x3) : Running or Full Power
7 (0x7) : Power Off
8 (0x8) : Off Line
13 (0xD) : Power Save - Unknown
14 (0xE) : Power Save - Low Power Mode
15 (0xF) : Power Save - Standby
16 (0x10) : Power Cycle
17 (0x11) : Power Save - Warning
Win32_DiskDriveが機能しない場合、他の可能性はWin32_LogicalDiskとWin32_Volumeです。
それらのいずれかが機能する場合は、たとえば次のようなスクリプトを作成することもできます。
$strComputer = "."
$colItems = get-wmiobject -class "Win32_Volume" -namespace "root\cimv2" -computername strComputer
foreach ($objItem in $colItems) {
write-host "Name: " $objItem.Name " Availability: " $objItem.Availability
}
あなたはウーヴェ・Siebers素敵なフリーウェアの使用できるFFBを-フラッシュファイルバッファを。
FFBは、1つ以上のストレージボリュームの書き込みキャッシュをフラッシュするコマンドラインツールです。
...
-fを指定しない限り、スリープ中のドライブはスキップされます。