Windows – Stop Windows 7 from accessing or writing to hard drive unless “told” to by me? (More info inside…)

hard driveraidstoragewindows

A confusing question, perhaps, but bear with me.

I have two internal HDDs set up in a RAID0 array which I use as mass storage. I access the drive very infrequently (once a day at most) and so I have set up Windows 7's power options to turn off idle disks after only 1 minute. This is fine, and the disks are turned off most of the time.

However, I notice that Windows sometimes spins up the drives when I really, really don't want or need it to. This causes a 30 second delay as both drives spin up and lock up my system. Some examples of when this happens:

1) When I'm installing something using Windows Installer or Installshield; it seems to me as if they're using the drive with most available free space as the installer cache location… so my big RAID drive has to spin up! Most annoying.

2) Apparently, when I open a Java-based program which resides on my system drive and has nothing to do with my RAID drive!

3) At boot-up and shut-down time. At shutdown the drive spin up only for the computer to immediately shut down! Incredibly frustrating!

I've already tried changing the letter of the drive, and at some points have removed the drive letter entirely, which solves the first two issues above.

So my question (FINALLY!) is this: is there any way I can mark this drive as being for "storage only", so Windows basically does not see it at all until I actually invoke it somehow? Or is there any way I could set it up so that only specific programs have write access to it? For example, download managers, TeraCopy, etc. etc.?

Basically I want it to be a "ghost drive" until I'm ready to use it and to stop Windows from spinning it up all the damn time!

Thank you. 🙂

Best Answer

I had a similar case. I solved it by disabling the drive controller (as a hardware device) and enabling it when needed. When HDD controller device is disabled, Windows don't touch the drives at all. I used devcon.exe command line tool which can disable or enable hardware driver by its name and path. In my case the commands were:

  devcon.exe disable "@PCIIDE\IDECHANNEL\4&*&1"
  devcon.exe enable "@PCIIDE\IDECHANNEL\4&*&1"

devcon.exe is the console version of Microsoft's device manager. You can get if for free from Microsoft, read more information here: http://msdn.microsoft.com/en-us/library/windows/hardware/ff544707%28v=vs.85%29.aspx

The path to the device in my particular case is @PCIIDE\IDECHANNEL...; you can use devcon.exe to find the path to your device.

Note that I agree with comment of Ramhound: What you trying to do goes against the basic principles of operating systems. So I would recommend to let Windows manage the drives by itself. (The reason why I did these strange things was I had hardware issues and manual disabling of drive controller this way was necessary to let Suspend to RAM feature work correctly on my mainboard.)

Related Question