私はUSB経由でアクセスしていたWestern Digitalの外部1TBドライブを持っていました。ある日、自分の場合はHDDをマウントし、SATAインターフェイス経由でアクセスすることを選択しました。なので分解してみたところ、実際の取り付けは簡単でした。
唯一のことは、デバイスにはいくつかのデフォルトの省電力機能があると思います。つまり、デバイスは(x)時間アイドル状態になるとスピンを停止する傾向があります。
これにより、HDDにアクセスするときに遅延が発生します。とにかく、このHDDの省電力機能をオフにできますか?
ドライブが(たとえば)緑のWestern Digitalドライブである場合、ドライブは一定の時間後にオフになることを決定するため、関係なくスピンダウンします。
電源プランを変更する必要があります。
これは、常にWindowsの電源管理が原因ではありません。ハードドライブのファームウェアが原因である場合もあります。 Photoshop、Word、またはその他のプログラムで作業していて、定期的に作業を保存する必要がある場合、5分または10の周期でスピンダウンするのは面倒です。 HDDが回転するのを待つのはイライラします。また、HDDを損傷する可能性があります。
解決策は非常に簡単です:
バッチファイルを作成します(ファイル名spinning.bat
)メモ帳で次のスクリプトを入力します。
echo a > d:\stop_spinning_down.txt
(d:
はHDDを表します)。バッチファイルは、問題のあるHDDまたは別のパーティションに置くことができます。
Windowsからタスクスケジューラを実行し、そのバッチファイルを実行する新しいタスクを作成します(.bat
)5分または10分でタスクを再開します。この操作では、5分または10分でテキストファイルが書き込まれ、そのファイルが繰り返し上書きされます。問題は、すべてのタスクが実行されるとcmd
ウィンドウが開き、再び煩わしいことです:))
バッチファイルを非表示モードで実行する必要があります。
.vbs
ファイルをメモ帳で作成し、次のスクリプトを挿入します。
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "d:\spinning.bat" & Chr(34), 0
Set WshShell = Nothing
次に、このファイルを保存します(例:spinning_hide.vbs
;ご了承ください spinning.bat
はバッチファイルの場所にあるバッチファイルであり、.vbs
Windowsタスクスケジューラを含むファイル。このメソッドは、5分または10分間隔で1kのテキストファイルを書き込み、HDDがアイドルモードに入らないようにします。
「グリーン」ドライブを含む、ファームウェアレベルのすべてのWestern Digitalハードドライブのスピンダウンを無効にすることができます。
idle3.exeと呼ばれるプログラム はDOSモードで実行され、単純なidle3.exe /d
は、接続されているWDドライブのスピンダウン期間を通過して無効にします。
詳細 はここにあります。
私はWestern Digitalの外付けHDがスリープ状態になるのを防ぐためにバッチファイルアプローチを使用してきましたが、それを実装するために必要な手順の数が好きではありませんでした。複数のドライブで実行する必要があったため、状況はさらに悪化しました。
また、スクリプトの動作を微調整したかったのですが、どうすればよいかを理解するために時間を費やすことに興奮しませんでした。ありがたいことに、実装するのに便利だと思う何かに出会い、個人のニーズに微調整しました。
私のお気に入りのソリューション(私が自宅と職場で切り替えたもの)は、KeepAliveHD:と呼ばれる無料のオープンソースアプリ(Windowsのみ)です- http://keepalivehd.codeplex.com/
多くのバッチファイルソリューションと同様に、定期的にファイルを外部HDに書き込みます(真剣に... 他に方法はありませんドライブとプログラム的に対話して、スリープ状態を維持しますファイルを書き込むよりも?)ですが、グラフィカルインターフェイスの利便性を提供し、いくつかのオプションを追加します。そのうちのいくつかは非常に便利です。
プロジェクトのページでソースコードを確認できます。これは、プログラムの動作を透明に保つのに役立ちます(たとえば、非表示の「機能」がないため)。Windows以外の人にも、プラットフォーム用に何かを作成するための出発点を与える可能性があると思います。
とにかく、これが古い質問への答えであることはわかっていますが、ここで、外付けHDを2、3か月前に起動させ続けるための最初の(そして現在は取って代わられた)ソリューションを見つけました。彼らのための最初の解決策であろうと、改善された解決策であろうと。
HDDがラップトップでスピンダウンしないように、CrystalDiskInfoを使用します。 Windows Power Managementは役に立ちません。それはHDD APM設定です。 Standard Editionをダウンロードしてから、「機能」->「拡張機能」->「AAM/APMコントロール」に移動する必要があります。 HDDを選択し、最小電力とパフォーマンスの間のAPMセクションでAPMの設定を変更します。または、APM機能を無効にすることもできます。
Linuxに慣れている場合は、hdparmコマンドをチェックしてください: http://linux.die.net/man/8/hdparm (特に-Sスイッチ)。
以前は、多数のドライブのスピンダウン設定を無効にしてきました。ドライブ自体の設定を設定するので、使用しているコンピューターやフォーマット方法に関係なく保持されます。
ドライブにコマンドを完全に無視するクレイジーなファームウェアがない限り、これをオフにできるはずです。 Win 7の[電源オプション]ダイアログで、所定の計画と[計画設定の変更]を選択し、次に[詳細な電源設定の変更]を選択します。 「ハードディスク」と「後でハードディスクをオフにする...」のオプションがあります。 「なし」の場合は0に設定します。
Windowsには、このエコ機能を持つハードディスクの不揮発性(NV)省電力モードを無効にするGroup Policy
設定があります。私は、HDDの再開が瞬間的(またはより高速)であれば、OSは電源切断の決定に関する考慮事項においてはるかに積極的になる可能性があると理論は信じています。
ハードディスクの省電力モードをオフにします
マイクロソフトは、現在Vistaでのみサポートされているハイブリッドドライブを設計しました。このドライブは、不揮発性(NV)キャッシュを使用して、起動と再開を高速化します。最も一般的に使用されるデータの一部は、NVキャッシュにコピーされ、ハードドライブへの依存を最小限に抑えます。最終的には、これによりシステムのパフォーマンスが向上します。 NVキャッシュは、ハードディスクを省電力モードに切り替えることもできます。このモードでは、システムは積極的にディスクをスピンダウンして電力を節約しようとします。ただし、システムのパフォーマンスが低下する可能性のある省電力モードに切り替えたくない場合は、このモードをオフにします。
とにかく、 "ハイブリッド"ハードディスクに関連する4つのグループポリシー設定が表示されます。それらはすべてgpedit.msc
の下にあります。
ローカルコンピュータポリシー\ コンピュータ構成\ 管理用テンプレート\ システム\ ディスクNVキャッシュ\
このポリシー設定は、システムのハイブリッドハードディスクの省電力モードをオフにします。
キャッシュ電源モードをオフにします
このポリシー設定は、システムのハイブリッドハードディスクの省電力モードをオフにします。
このポリシー設定を有効にすると、ハードディスクはNVキャッシュ省電力モードにならず、省電力は実現されません。
このポリシー設定を無効にすると、ハードディスクはNVキャッシュ省電力モードになります。このモードでは、システムは積極的にディスクをスピンダウンして電力を節約しようとします。
このポリシー設定を構成しない場合、既定の動作では、ハイブリッドハードディスクを省電力モードにすることができます。
不揮発性キャッシュ機能をオフにする
このポリシー設定は、システム内のすべてのハイブリッドハードディスク上の不揮発性(NV)キャッシュのすべてのサポートをオフにします。システムにハイブリッドハードディスクがあるかどうかを確認するには、デバイスマネージャーでディスクドライブを右クリックし、[プロパティ]を選択します。 NVキャッシュを使用して、ディスクの回転中にキャッシュからデータを読み取ることにより、起動と再開を最適化できます。 NVキャッシュを使用して、キャッシュからの読み取りと書き込みを満たしながらディスクを停止したままにすることで、システムの電力消費を削減することもできます。
このポリシー設定を有効にすると、システムはNVキャッシュを管理せず、NVキャッシュ省電力モードを有効にしません。
このポリシー設定を無効にすると、NVキャッシュの他のポリシー設定が適切に構成されている場合、システムはディスク上のNVキャッシュを管理します。
ソリッドステートモードをオフにする
このポリシー設定は、ハイブリッドハードディスクのソリッドステートモードをオフにします。
このポリシー設定を有効にすると、ファイルシステムのメタデータやレジストリなど、頻繁に書き込まれるファイルがNVキャッシュに保存されない可能性があります。
このポリシー設定を無効にすると、システムは頻繁に書き込まれたデータを不揮発性(NV)キャッシュに保存します。これにより、システムはNVキャッシュを独占的に使い果たし、ディスクの電源を長期間オフにして電力を節約できます。これにより、NVキャッシュの摩耗が増加する可能性があることに注意してください。
ハードドライブを "ping"してスピンダウンを防ぐために、少し前にWindowsの小さなユーティリティを書きました https://github.com/MrShoenel/HDD-Ping 、多分それはお手伝いします。これは、タイマーを変更するためにSMART=)を使用できない場合に特に役立ちます(Raid-Arrayがスピンダウンしないようにした場合のように)。
これは、Windows用の @ Alexandru's の改良されたスクリプトです。
編集:Windows 8は、名前にスペースが含まれているスクリプトを適切に実行しません。実行のたびにプログラムを開くように求め続けます。スペースと引用符がファイル名から削除され、バージョンが1.01に変更されました。
KeepAwake101.wsf
として保存:
<?xml version="1.0" encoding="utf-8"?>
<package>
<job id="keepAwake">
<?job error="false" debug="false"?>
<script>
//<![CDATA[
/*
* Copyright 2012 XP1
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.Apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*jslint browser: true, vars: true, white: true, maxerr: 50, indent: 4 */
(function (script, Shell, fileSystem)
{
"use strict";
var currentDirectory = fileSystem.getFolder(Shell.currentDirectory);
currentDirectory.createTextFile("empty.txt", true, false).close();
script.quit();
}(this.WScript, new this.ActiveXObject("WScript.Shell"), new this.ActiveXObject("Scripting.FileSystemObject")));
//]]>
</script>
</job>
</package>
このスクリプトは、現在のディレクトリのルートに空のファイルを作成します。
次に、このXMLファイルをKeepAwake101.xml
として保存します。
<?xml version="1.0" encoding="utf-16"?>
<Task version="1.2" xmlns="http://schemas.Microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2012-01-01T00:00:01</Date>
<Author>Administrator</Author>
</RegistrationInfo>
<Triggers>
<BootTrigger>
<Repetition>
<Interval>PT20M</Interval>
<StopAtDurationEnd>false</StopAtDurationEnd>
</Repetition>
<ExecutionTimeLimit>PT30S</ExecutionTimeLimit>
<Enabled>true</Enabled>
</BootTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<GroupId>Users</GroupId>
<RunLevel>LeastPrivilege</RunLevel>
</Principal>
</Principals>
<Settings>
<IdleSettings>
<Duration>PT10M</Duration>
<WaitTimeout>PT1H</WaitTimeout>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<MultipleInstancesPolicy>StopExisting</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT30S</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>\KeepAwake101.wsf</Command>
<WorkingDirectory>L:\</WorkingDirectory>
</Exec>
</Actions>
</Task>
XMLファイルを保存するときは、ファイルのエンコードをUTF-16(メモ帳では「Unicode」というラベルが付いている)として保存してください。
<Command>"\KeepAwake101.wsf"</Command>
では、スクリプトの場所を追加して、この行を必ず変更してください。
<WorkingDirectory>L:\</WorkingDirectory>
では、この行をドライブの場所に変更できます。
[スタート]> [すべてのプログラム]> [アクセサリ]> [コマンドプロンプト]を右クリック> [管理者として実行].
XMLファイルがあるディレクトリに移動します。
XMLをタスクとしてインポートします。
schtasks /create /tn "Keep Awake 1.01" /xml "KeepAwake101.xml"
タスクを削除する場合は、次のように入力します。
schtasks /delete /tn "Keep Awake 1.01" /f
このタスクは、20分ごとに実行されるように設定されています。私のWestern Digital Elements 2 TB(WDBAAU0020HBK)外付けハードドライブは30分ごとにスリープします。
タスクをインポートした後、タスクスケジューラを使用して、間隔とスケジュールを構成できます。タスクスケジューラを開くには、コマンドプロンプトまたは[スタート]> [ファイル名を指定して実行]ダイアログで、次のように入力します。
taskschd.msc
警告:
Western Digital Greenドライブには、非アクティブ状態が8秒間続くとヘッドをパークする強力なIntelliPark機能がある場合があります。これにより、ロード/アンロードサイクルカウント(LCC)が大幅に増加します。 S.M.A.R.T.データを読み取ることができるWindows上のDefragglerやHard Disk Sentinelなどのソフトウェアを使用して、LCCを確認できます。
ドライブを20分ごとに起動させておくと、最終的にはLCCが制限を超えてしまう可能性があります。このスクリプトを実行する代わりに、ドライブをたまにしか使用せず、プラグを抜いたままにすることを検討できます。
あなたはここでもっと読むことができます:
http://www.sagaforce.com/~sound/wdantiparkd/
スクリプトの間隔を7秒に変更してヘッドパーキングを防止することもできますが、あまり良くないようです。
IntelliPark機能を無効にするか、タイムアウトを調整するには、wdidle3.exe
を使用することをお勧めします。
それを実行したくない場合は、別のハードドライブを購入し、Western Digital Greenハードドライブをバックアップドライブとして使用して、たまに電源を入れるだけで十分です。誰もがバックアップが大好きです。
私の2.5インチWDスコーピオンブルーには、ファームウェアによって設定された8秒のスピンダウン間隔があります。そのwdidle3ソリューションを試しましたが、書き込まれた値が持続しません。
しかし、私はWindowsのソリューションを見つけました。これは、再起動後も持続しませんが、起動時にそれをスケジュールし、スタンバイイベントからウェイクすることができます。
アプリは HDDScan と呼ばれ、これを使用して、必要なPM設定の.batファイルを作成し、前述のイベントにバインドできます。