How to prevent hard drive from spinning down Windows 7?

If it's (for example) a green Western Digital drive, it's going to spin down regardless, because the drive decides to turn off after a certain time.


You will need to change your power plan:

  1. Go to control panel -> Power options
  2. In the current power plan, click Change plan settings -> Change advanced power settings
  3. Under Hard disk, set Turn off hard disk after to: Never
  4. Under USB settings set USB selective suspend setting to: Disabled

This is not always caused by power management in Windows; sometimes it is caused by the hard drive firmware. Spinning down at a period of 5 minutes or 10 is annoying if you work in Photoshop, Word or other programs and must save your work periodically. It is irritating to wait for the HDD to spinning up. It may also damage the HDD.

Solution is very simple:

  • Create a batch file (with filename spinning.bat) in Notepad and put this script in it:

    echo a > d:\stop_spinning_down.txt
    

    (d: represents your HDD). The batch file can be put on the problematic HDD or another partition.

  • Run task scheduler from Windows and create a new task to run that batch file (.bat) and restart that task at 5 minutes or 10 minutes. This operation writes a text file at 5 or 10 minutes and then rewrites that file over and over. The problem is that when every task is executed the cmd window opens, again annoying :))

We must run the batch file in hidden mode:

  • Create a .vbs file with Notepad and put this script in it:

    Set WshShell = CreateObject("WScript.Shell") 
    
    WshShell.Run chr(34) & "d:\spinning.bat" & Chr(34), 0
    
    Set WshShell = Nothing
    
  • Now save this file (e.g.: spinning_hide.vbs; note that spinning.bat is your batch file) at the location of the batch file and then run only the .vbs file with Windows task scheduler. This method writes a text file of 1k at a 5 or 10 minute interval and prevents the HDD from entering idle mode.