如何防止硬盘驱动器旋转Windows 7?


32

我有一个Western Digital外置1TB驱动器,可以通过USB访问。我决定有一天,我希望将HDD装入我的机壳,然后通过SATA接口访问它。所以我拆开了,真正的安装变得轻而易举。

唯一的是,我认为该设备具有一些默认的省电功能,这意味着该设备在空闲(x)的时间后趋向于停止旋转。

当我访问硬盘时,这会造成延迟。无论如何,我可以关闭此硬盘的这些省电功能吗?

Answers:


13

例如,如果它是绿色的Western Digital驱动器,则它将旋转下来,因为该驱动器决定在一定时间后关闭。


3
我可以确认它是绿色的Western Digital,有什么可以阻止的呢?
JL。

3
不幸的是没有。

4
@JL。您当然可以确保驱动器不会闲置。我将交换文件放在硬盘上,以防止将所有多余的内容写入我的SSD,同时也确保硬盘不会掉转。
贾斯珀(Jasper)

3
SATA驱动器可以按主机的过时请求(您的Windows安装)或通过空闲超时(自行)降低速度。您可以配置最后一个。例如hdparm -s Number /dev/sdaX,数字通常为5秒的倍数。参见man hdparm或其等效的Windows。
Hennes

@Jasper YOu将交换文件放在外部USB驱动器上?大声笑。
namezero 18-10-18

12

这并不总是由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.vbsspinning.bat在批处理文件的位置保存该文件(例如:;注意这是您的批处理文件),然后.vbs使用Windows Task Scheduler 仅运行该文件。此方法每隔5或10分钟写入1k的文本文件,并防止HDD进入空闲模式。


更改批处理文件的属性,将其设置为最小。
Codebeat 2013年

1
文本文件不应该是1个字符,而不是1kb(这是我假定的“ 1k”含义)吗?
英国电信

没有安装任何东西的最佳解决方案。我将其设置为2分钟以确保。我认为我的WD在3分钟后变成了木头。您也可以通过删除.txt文件来检查其是否正常工作,看看是否弹出了新文件
Arthur Tarasov

12

可以在固件级别上禁用任何Western Digital硬盘驱动器的降速功能,包括“绿色”驱动器。

一个名为idle3.exe的程序在DOS模式下运行,一个简单的程序idle3.exe /d将通过并禁用任何连接的WD驱动器上的减速时间段。

可以在此处找到更多信息


3
ANYWD的下载页面上的此文本与该文本有何关系:“ 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.”任何实际实验?
n611x007 2014年

我已经在WD Caviar Blue上尝试了一下,但没有成功(HD未被损坏或类似,但对HD没有影响)。
CSchulz 2014年

11

您将需要更改电源计划:

  1. 转到控制面板->电源选项
  2. 在当前电源计划中,单击更改计划设置->更改高级电源设置
  3. 在硬盘下,将关闭硬盘后设置为:从不
  4. 在“ USB设置”下,将“ USB选择性挂起”设置设置为:“ 禁用”

2
可能不是OP确切问题的正确答案,但这解决了我的问题。
弗雷德·汉密尔顿

6

我一直在使用批处理文件的方法来防止我的Western Digital外部HD进入休眠状态,但是我不喜欢实现它的必要步骤数-更糟糕的是,因为我必须使用多个驱动器来执行此操作。

我还想微调脚本的行为,但是我对花时间弄清楚如何解决问题并不感到兴奋。值得庆幸的是,我遇到了一些我发现更方便实现和调整个人需求的东西。

批处理脚本的替代方法

我首选的解决方案-我已经在家中和办公室工作-是一个名为KeepAliveHD 的免费和开源应用程序(仅Windows)http : //keepalivehd.codeplex.com/

像许多批处理文件解决方案一样,它会定期将文件写入外部HD(严重... 除了编写文件之外,没有其他方法与驱动器进行编程交互以保持其唤醒状态吗?),但是它提供了图形化的便利界面并添加了许多选项,我发现其中一些非常有用。

优点/好处

  • 添加其他驱动器很容易
    (作者声称没有限制)
  • 您可以自定义每个驱动器的设置包括写入间隔和启用/禁用写入
  • 可以基于不活动状态禁用保持活动状态的写操作
    (我一直都在离开工作计算机,因此即使在我不开车的情况下,我的驱动器也永远不会休眠)

您可以在项目页面上看到源代码,我喜欢它,因为它有助于保持程序行为透明(例如,没有隐藏的“功能”),而且我想它也可能为非Windows用户提供一个为其平台创建内容的起点。


无论如何,我知道这是一个老问题的答案,但是在几个月前,我在这里找到了我的第一个(现在已被取代)的解决方案,用于保持我的外部HD处于唤醒状态,因此希望该解决方案对其他人有用-无论是第一个解决方案还是改进的解决方案。


如果用户处于X时间非活动状态,则1.5版beta版允许禁用保持活动状态。
CSchulz 2014年

5

为防止HDD在笔记本电脑上旋转,我使用了CrystalDiskInfo。Windows电源管理将无济于事,它是HDD APM设置。您必须下载Standard Edition,然后转到功能->高级功能-> AAM / APM控制。选择HDD并在“最小功率”和“性能”之间的“ APM”部分下更改APM的设置。或者,您可以完全禁用APM功能。


两年后,我找到了这个问题的正确答案。谢谢。
Wodzu

这是我的Seagate Spinpoint ST2000LM003的作品。它过去每15秒旋转一次,然后缓慢旋转,这让我感到非常疯狂。现在,它可以正常运行并且运行时的噪音很小,与现在正常运行相比,降速/加速周期会使驱动器更快地磨损。
TheAgent

3

如果您熟悉Linux,请查看hdparm命令:http : //linux.die.net/man/8/hdparm(尤其是-S开关)。

之前,我已经成功关闭了许多驱动器上的旋转设置。它在驱动器本身上进行设置,因此无论您使用的是哪台计算机或如何格式化它,它都将持续存在:)


2

除非驱动器具有完全忽略命令的疯狂固件,否则您应该可以将其关闭。在Win 7中的“电源选项”对话框中,输入给定的计划并“更改计划设置”,然后选择“更改高级电源设置”。有“硬盘”和“在...后关闭硬盘”选项。对于“从不”将其设置为0。


1
我要补充一点的是,我对问题的WD Green并不是100%的,因为他们很可能会说疯狂的固件,我知道他们将低功耗推上了多么难。;)
Shinrai 2011年

1

出于“ ping”硬盘驱动器以防止其旋转的目的,我前段时间编写了一个小型Windows实用程序https://github.com/MrShoenel/HDD-Ping,也许会对您有所帮助。如果您无法使用SMART更改计时器(例如在我防止Raid-Array旋转的情况下),这将特别有用。


1

这是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硬盘用作备份驱动器,而您只需要偶尔打开它即可。每个人都喜欢备份。


1

Group PolicyWindows中有一个设置,可禁用具有此环保功能的硬盘的非易失性(NV)省电模式。我相信理论是,如果HDD恢复是瞬时的(或更快的),则OS在断电决策方面会更具攻击性:

关闭硬盘上的省电模式

Microsoft设计了目前仅在Vista中受支持的混合驱动器。该驱动器使用非易失性(NV)缓存来实现更快的启动和恢复。将最常用的数据的一部分复制到NV缓存中,这反过来最大程度地减少了对硬盘的依赖性。最终,这可以提高系统性能。NV高速缓存还可以使硬盘切换到省电模式。在这种模式下,系统尝试通过主动旋转磁盘来节省电量。但是,如果您不希望切换到省电模式(可能会影响系统性能),请关闭此模式。

无论如何,我看到了四个与“混合”硬盘相关的组策略设置。它们都可以在gpedit.msc下面找到:

本地计算机策略\
  电脑配置\
    管理模板\
      系统\
        磁盘NV缓存\
  1. 关闭启动并继续优化

    此策略设置将关闭系统中混合硬盘上的省电模式。

  2. 关闭缓存电源模式

    此策略设置将关闭系统中混合硬盘上的省电模式。

    如果启用此策略设置,则硬盘不会进入NV缓存省电模式,并且无法实现省电。

    如果禁用此策略设置,则硬盘将进入NV缓存省电模式。在这种模式下,系统尝试通过主动旋转磁盘来节省电量。

    如果未配置此策略设置,则默认行为是允许混合硬盘处于省电模式。

  3. 关闭非易失性缓存功能

    此策略设置将关闭对系统中所有混合硬盘上的非易失性(NV)缓存的所有支持。要检查系统中是否有混合硬盘,请从“设备管理器”中右键单击磁盘驱动器,然后选择“属性”。NV高速缓存可用于优化引导和恢复,方法是在磁盘旋转时从高速缓存中读取数据。NV高速缓存还可以通过在满足高速缓存读取和写入的同时保持磁盘旋转速度来减少系统的功耗。

    如果启用此策略设置,则系统将不会管理NV缓存,也不会启用NV缓存省电模式。

    如果禁用此策略设置,并且适当配置了NV缓存的其他策略设置,则系统将管理磁盘上的NV缓存。

  4. 关闭固态模式

    此策略设置将关闭混合硬盘的固态模式。

    如果启用此策略设置,则频繁写入的文件(例如文件系统元数据和注册表)可能不会存储在NV缓存中。

    如果禁用此策略设置,则系统会将频繁写入的数据存储到非易失性(NV)缓存中。这样一来,系统就可以专门用完NV缓存并关闭磁盘电源,以节省电源。请注意,这会导致NV缓存的磨损增加。



0

我的2.5英寸WD Scorpion Blue的固件设置了8秒钟的降速间隔。我尝试了wdidle3解决方案,但写入的值并未持久。

但是我找到了Windows的解决方案,该解决方案在重启后也不会持续存在,但是您仍然可以在启动时安排它并从待机事件中唤醒。

该应用程序称为HDDScan,您可以使用它创建具有所需PM设置的.bat文件并将其绑定到上述事件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.