13

I have my OS on an SSD and use my HDD (Toshiba P300) to store some data which I rarely access. I dislike the noise generated by the hard drive, so I'd like to disable it and be able to only enable it whenever I can. No, Windows Power Options are not the solution. Windows will wake up the drive randomly for no reason, even with disabled indexing and all handles/processes closed, as expected of this great operating system. I tried:

  • Setting HDD to Offline in Disk Management (doesn't actually seem to do anything at all)
  • Disabling HDD using Devcon / Device Manager (doesn't actually spin it down, just makes it unrecognizable by software and OS)
  • Putting HDD in Standby using Smartcl / Hdparm / HDDScan (Windows keeps waking it up for no reason)
  • Multiple combinations of all of the above What worked before updating to Windows v1903 (from v1607) was using RevoSleep, but since the update it doesn't work at all - the drive isn't recognizable but will keep spinning despite the software running. I even looked into disabling the port in BIOS itself, but that doesn't seem to be an option on my MSI B450 motherboard.

Ideally I need something that lets me put the drive in standby AND make it so it's not recognizable by the OS. Disabling the drive using Devcon/Device Manager wakes it up, after which it's inaccessible by software used to put it in standby in first place. Seems like all options expect physically disconnecting the drive do not seem to work any more. Yes I am aware of Hot Swap Drawers and I know that more start/stop cycles will wear down the drive more than letting it run, I don't care.

Chris
  • 171
  • 1
  • 1
  • 7
  • Have you tried in *[advanced power plan settings](https://www.tenforums.com/tutorials/2843-change-power-plan-settings-windows-10-a.html#option1) > Hard disk > Turn off hard disk after > Plugged in*, to set a time that is not Never? – harrymc Jul 21 '19 at 19:21
  • 4
    Please refrain from answering if you haven't actually read my post (or the only bolded sentence). – Chris Jul 21 '19 at 20:21
  • If you left this option as Never, no other solution will work. I'm not saying that with it you will find any solutions, since the problem seems to be a bug with the newer versions of the drivers. You might try older driver versions, but I cannot recommend any. – harrymc Jul 21 '19 at 20:24
  • 1
    The problem is that Windows will keep waking up the drive, as will any other software that checks for devices (i.e HwINFO). What I want is software that will let me sleep and lock the HDD so it's inaccessible, therefore it won't wake up on random demands. – Chris Jul 21 '19 at 20:57
  • Have you tried to delete the disk in Device Manager? That's something you can do via the command line, although it will only keep until reboot. – harrymc Jul 21 '19 at 21:09
  • 1
    Yeah, doing anything with Devcon / Device Manager will wake up the HDD from idle first and then disable/delete it, after which it Windows or any other program won't put it in standby (cause it's "invisible" to them). – Chris Jul 21 '19 at 23:21
  • 1
    I have faced this problem as well, and wish someone would make a switch (preferably accessible from CPU front) that would physically disconnect a SATA drive from the motherboard. Short of that, I resort to disconnecting the drive cable, or use a USB drive and disconnect that cable when not in use. – Mark Ripley Jul 22 '19 at 05:46
  • [smartmontools](https://www.smartmontools.org/) in the [smartctl man page](https://www.smartmontools.org/browser/trunk/smartmontools/smartctl.8.in) has the command `--set=standby,now`. The command is marked "ATA only", so no idea if this includes SATA, but you may try. Some other utilities are [here](https://superuser.com/a/809438/8672). Otherwise, this may require installing a [Hard Drive Power Switch](https://www.newegg.com/p/pl?d=Hard+Drive+Power+Switch), which might not be practical. – harrymc Jul 22 '19 at 08:58
  • 2
    I literally stated in the first post that I've already tried Smartctl. Also every other utility in the page you linked, the very reason why I made this thread is because I haven't found an answer anywhere else. I know how to use Google. Just tried setting an even shorter timeout using hdparam and then putting it to sleep, but uninstalling the driver still manages to wake it up first. It's weird, because apparently hdparam is supposted to communicate with the HDD directly. – Chris Jul 22 '19 at 13:02
  • @chris Hi, can you please refrain from being so passive aggressive? People here are trying to help! – Vaibhav Garg Jul 23 '19 at 05:34
  • 2
    @VaibhavGarg Seriously? When people don't read or comprehend your question and waste your time with nonsense, you are the one being a bad guy when you point that out? – Dean Kuga Jul 26 '19 at 17:33
  • For real, I tried to be as clear as possible to list XYZ solutions that I've already tried and so far all responses were "did you try XYZ?". I emailed some people that in the past developed software meant to spin down drives, so we'll see if they know about any changes to their programs that might fix this. I will post an update here if I find a solution. – Chris Jul 28 '19 at 00:01

6 Answers6

4

I will answer how I managed to find a solution. Note that it doesn't have to work for you, it does on my Windows v1903 machine with Toshiba P300 hard drive.

  1. Download Windows v1607 .iso (https://tb.rg-adguard.net/public.php)
  2. Extract "SATA AHCI Controller" and "DiskDrive" drivers from the v1607 Windows
  3. Install the old drivers, I assume they work for any version above v1607.
  4. Use software called HotSwap! to spin down the drive (it does that after ~5s). So far, after 3 days of testing, the HDD doesn't seem to spin up by itself. Even when launching software like HWInfo, CPU-Z, or CrystalDiskInfo. The only way to make it active again is by doing "Scan for hardware changes" (you can do that with DevCon Rescan/Device Manager).

I've uploaded the v1607 drivers HERE. In order to install them you need to disable "Signed Driver Enforcement", since for some reason they don't seem to be signed by Microsoft once you export them. If you don't trust a random guy on the internet (and you shouldn't) then do it yourself.

You can export the drivers with just 7zip and the .iso. You'll be looking for 2 folders called "mshdc.inf_amd64_67bad2c7196330b6" and "disk.inf_amd64_1e7038548624f167" located in: Win10_1607_x64.iso\sources\install.wim\1\Windows\System32\DriverStore\FileRepository\


Edit: The solution randomly stopped working after a few days. Seems like I underestimated how awful Windows is.

Chris
  • 171
  • 1
  • 1
  • 7
  • 1
    `Signed Driver Enforcement` can only be disabled for that current session, so on the following reboot it would break the functionality you've worked around to achieve. I'm inferring that's the reason it stopped working seemingly at random for you. And oh yes, we *all* do underestimate just that. – Arctiic Feb 28 '20 at 22:31
1

It is possible that Windows is using your HDD to store some system files that are being accessed during the normal OS operations if the SSD is small and there is not a whole lot of free space on it, and perhaps even if there is.

Examples of such files are:

  • hiberfil.sys
  • pagefile.sys
  • swapfile.sys

If you open the Peformance Options in the Advanced System Properties, switch to Advanced tab and click on Change... button in the Virtual Memory area you will see if Windows is using your HDD for swapping.

Here is what that looks like:

enter image description here

Make sure Automatically manage paging file size for all drives is unchecked and your HDD paging file size is set to None.

As for the other system files, you could change your Windows Explorer options to show "protected operating system files" (Windows hides these by default) and make sure there are no system files in the root of your HDD (This is where Windows typically stores these files, I'm not sure if it would perhaps store the files elsewhere as well).

enter image description here

Dean Kuga
  • 671
  • 5
  • 10
  • 22
  • Pagefile is disabled along with Indexing and write caching. Again - everything worked fine in Windows v1607 and stopped working in v1903. My configuration has not changed, so the problem lies on the OS. Currently I remove the volume and then use hdparm to issue the SLEEP command to the drive, and even then Windows somehow manages to wake the device, despite not even having access to it (since volumes aren't mounted). – Chris Jul 27 '19 at 23:58
  • Also noteworthy: just because *you* didn't change your configuration, does not necessarily mean your configurations didn't change. Welcome to Windows: where settings you explicitly define are sometimes taken as suggestions, and other times outright ignored :) – Arctiic Feb 28 '20 at 22:35
  • @Arctiic ... or reset to defaults during update. – Youda008 May 02 '20 at 10:53
1
  • If you can get a copy of Windows Emedded with the Unified Write Filter, you may be able to install it and enable it. The UWF (formerly the EWF) is supposed to catch writes going to a storage medium and eat them. This might prevent the device from spinning up if the EWF or UWF catches those writes. I've never done this. This is probably really complicated and might not work on a version of Windows that's not specifically Embedded.

Workarounds, because you probably can't modify Windows behavior until it is recognized as a bug and fixed, which can take an unpredictable amount of time.

  • If you rarely access this hard drive, it may be better as an external hard drive and you can connect it at your convenience. You can buy enclosures and converters that accept a standard desktop hard drive and essentially convert it to USB.

  • You may also consider getting a cheap or throwaway desktop PC, installing the hard drive in that, putting your PC in an area of your space where you can't hear it, and accessing the device over the network.

LawrenceC
  • 73,030
  • 15
  • 129
  • 214
1

Change the disk to dynamic on the disk manager. Then you can easily toggle them from online to offline. Be sure to Click on the grey area of the physical disk, not the musk green area.

  • This does the trick - once the HDD has spun down, it stays down, though the HDD spins down only after the maximum allowed idle time before spinning down has been reached. – Sudix Jun 02 '22 at 19:22
1

This may be a lead: I'm finding that Windows stores a mirror of the Recycle Bin on the D drive. It has the same deleted items as the Recycle Bin on the C drive, but at a few percent of the size.

Set Windows Explorer options to show "protected operating system files" to see this.

Harry Bego
  • 11
  • 1
-1

There is a new version of revoSleep available which now works fine!

Furty
  • 641
  • 4
  • 12
rx77
  • 9