Answers:
例如,如果它是绿色的Western Digital驱动器,则它将旋转下来,因为该驱动器决定在一定时间后关闭。
hdparm -s Number /dev/sdaX
,数字通常为5秒的倍数。参见man hdparm或其等效的Windows。
这并不总是由Windows中的电源管理引起的。有时是由硬盘驱动器固件引起的。如果您使用Photoshop,Word或其他程序工作,则每隔5分钟或10分钟旋转会很烦人,并且必须定期保存您的工作。等待HDD旋转起来很烦人。它还可能会损坏HDD。
解决方法很简单:
spinning.bat
在记事本中创建一个批处理文件(使用filename )并将此脚本放入其中:
echo a > d:\stop_spinning_down.txt
(d:
代表您的硬盘)。批处理文件可以放在有问题的硬盘或其他分区上。
从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 Task Scheduler 仅运行该文件。此方法每隔5或10分钟写入1k的文本文件,并防止HDD进入空闲模式。
.txt
文件来检查其是否正常工作,看看是否弹出了新文件
可以在固件级别上禁用任何Western Digital硬盘驱动器的降速功能,包括“绿色”驱动器。
一个名为idle3.exe的程序在DOS模式下运行,一个简单的程序idle3.exe /d
将通过并禁用任何连接的WD驱动器上的减速时间段。
可以在此处找到更多信息。
ANY
WD的下载页面上的此文本与该文本有何关系:“ following hard drives: WD1000FYPS-01ZKB0, WD7500AYPS-01ZKB0, WD7501AYPS-01ZKB0. CAUTION: Do not attempt to run this software on any hard drives other than what is listed above.
”任何实际实验?
我一直在使用批处理文件的方法来防止我的Western Digital外部HD进入休眠状态,但是我不喜欢实现它的必要步骤数-更糟糕的是,因为我必须使用多个驱动器来执行此操作。
我还想微调脚本的行为,但是我对花时间弄清楚如何解决问题并不感到兴奋。值得庆幸的是,我遇到了一些我发现更方便实现和调整个人需求的东西。
我首选的解决方案-我已经在家中和办公室工作-是一个名为KeepAliveHD 的免费和开源应用程序(仅Windows):http : //keepalivehd.codeplex.com/
像许多批处理文件解决方案一样,它会定期将文件写入外部HD(严重... 除了编写文件之外,没有其他方法与驱动器进行编程交互以保持其唤醒状态吗?),但是它提供了图形化的便利界面并添加了许多选项,我发现其中一些非常有用。
您可以在项目页面上看到源代码,我喜欢它,因为它有助于保持程序行为透明(例如,没有隐藏的“功能”),而且我想它也可能为非Windows用户提供一个为其平台创建内容的起点。
无论如何,我知道这是一个老问题的答案,但是在几个月前,我在这里找到了我的第一个(现在已被取代)的解决方案,用于保持我的外部HD处于唤醒状态,因此希望该解决方案对其他人有用-无论是第一个解决方案还是改进的解决方案。
为防止HDD在笔记本电脑上旋转,我使用了CrystalDiskInfo。Windows电源管理将无济于事,它是HDD APM设置。您必须下载Standard Edition,然后转到功能->高级功能-> AAM / APM控制。选择HDD并在“最小功率”和“性能”之间的“ APM”部分下更改APM的设置。或者,您可以完全禁用APM功能。
如果您熟悉Linux,请查看hdparm命令:http : //linux.die.net/man/8/hdparm(尤其是-S开关)。
之前,我已经成功关闭了许多驱动器上的旋转设置。它在驱动器本身上进行设置,因此无论您使用的是哪台计算机或如何格式化它,它都将持续存在:)
除非驱动器具有完全忽略命令的疯狂固件,否则您应该可以将其关闭。在Win 7中的“电源选项”对话框中,输入给定的计划并“更改计划设置”,然后选择“更改高级电源设置”。有“硬盘”和“在...后关闭硬盘”选项。对于“从不”将其设置为0。
出于“ ping”硬盘驱动器以防止其旋转的目的,我前段时间编写了一个小型Windows实用程序https://github.com/MrShoenel/HDD-Ping,也许会对您有所帮助。如果您无法使用SMART更改计时器(例如在我防止Raid-Array旋转的情况下),这将特别有用。
这是Windows版@Alexandru的改进脚本。
编辑: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驱动器可能具有激进的IntelliPark功能,该功能可在8秒钟不活动后停放磁头。这将导致加载/卸载循环计数(LCC)大大增加。您可以使用可以读取SMART数据的软件(例如Windows上的Defraggler或Hard Disk Sentinel)检查LCC。
使驱动器每20分钟保持唤醒状态可能最终会使LCC超出限制。除了考虑运行此脚本之外,您还可以考虑仅偶尔使用驱动器,并拔下驱动器。
你可以在这里阅读更多:
http://www.sagaforce.com/~sound/wdantiparkd/
尽管您可以将脚本的时间间隔更改为7秒以防止磁头停驻,但这听起来不太好。
使用将是一个好主意 wdidle3.exe
禁用IntelliPark功能或调整超时。
如果您不想执行任何操作,那么最好购买其他硬盘,并将Western Digital Green硬盘用作备份驱动器,而您只需要偶尔打开它即可。每个人都喜欢备份。
Group Policy
Windows中有一个设置,可禁用具有此环保功能的硬盘的非易失性(NV)省电模式。我相信理论是,如果HDD恢复是瞬时的(或更快的),则OS在断电决策方面会更具攻击性:
关闭硬盘上的省电模式
Microsoft设计了目前仅在Vista中受支持的混合驱动器。该驱动器使用非易失性(NV)缓存来实现更快的启动和恢复。将最常用的数据的一部分复制到NV缓存中,这反过来最大程度地减少了对硬盘的依赖性。最终,这可以提高系统性能。NV高速缓存还可以使硬盘切换到省电模式。在这种模式下,系统尝试通过主动旋转磁盘来节省电量。但是,如果您不希望切换到省电模式(可能会影响系统性能),请关闭此模式。
无论如何,我看到了四个与“混合”硬盘相关的组策略设置。它们都可以在gpedit.msc
下面找到:
本地计算机策略\ 电脑配置\ 管理模板\ 系统\ 磁盘NV缓存\
此策略设置将关闭系统中混合硬盘上的省电模式。
关闭缓存电源模式
此策略设置将关闭系统中混合硬盘上的省电模式。
如果启用此策略设置,则硬盘不会进入NV缓存省电模式,并且无法实现省电。
如果禁用此策略设置,则硬盘将进入NV缓存省电模式。在这种模式下,系统尝试通过主动旋转磁盘来节省电量。
如果未配置此策略设置,则默认行为是允许混合硬盘处于省电模式。
关闭非易失性缓存功能
此策略设置将关闭对系统中所有混合硬盘上的非易失性(NV)缓存的所有支持。要检查系统中是否有混合硬盘,请从“设备管理器”中右键单击磁盘驱动器,然后选择“属性”。NV高速缓存可用于优化引导和恢复,方法是在磁盘旋转时从高速缓存中读取数据。NV高速缓存还可以通过在满足高速缓存读取和写入的同时保持磁盘旋转速度来减少系统的功耗。
如果启用此策略设置,则系统将不会管理NV缓存,也不会启用NV缓存省电模式。
如果禁用此策略设置,并且适当配置了NV缓存的其他策略设置,则系统将管理磁盘上的NV缓存。
关闭固态模式
此策略设置将关闭混合硬盘的固态模式。
如果启用此策略设置,则频繁写入的文件(例如文件系统元数据和注册表)可能不会存储在NV缓存中。
如果禁用此策略设置,则系统会将频繁写入的数据存储到非易失性(NV)缓存中。这样一来,系统就可以专门用完NV缓存并关闭磁盘电源,以节省电源。请注意,这会导致NV缓存的磨损增加。