13

Windows 8 refuses to let me unmount a harddrive saying that it's in use.

I can't find which program is using it.

Is there a program that will give me a list of all programs using a hard-drive

8

process explorer, from Mark Russinovitch Sysinternals (now owned by Microsoft) can do this:

in the Find menu, click "Find Handle or DLL..."

in there, type what you are looking for (in your case, for example, f: if that is the name of the disk you wish to know which program(s) is(are) still using)

it will then display all the processes that are using a handle or dll containing the string you were looking for (ex: containing f: , thus listing all programs still using something on f: or having their current directory set somewhere on f:)

(You can use the same thing to find out which process has open a given specific file, etc. )

1
  • +1 because this is a more specific answer: find out which drive is being used. – RolfBly Jan 13 '15 at 10:24
4

I suggest to use the Windows Sysinternals Handle to get a list of all open handlers because is very possible a program have left one open handler but not use it.

With the handle you can see what is open on this disk. Its a command prompt program, just type "handle" where you save it and thats all.

You can also type handle >> results.txt to save them on results.txt file and look them more easy.

The output is on this format:

Handle v3.46      
Copyright (C) 1997-2011 Mark Russinovich         
Sysinternals - www.sysinternals.com          

------------------------------------------------------------------------------        
System pid: 4 NT AUTHORITY\SYSTEM        
  934: File  (---)   C:\Documents and Settings\SQL_User\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat        
  938: File  (---)   C:\Documents and Settings\SQL_User\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat.LOG          
  93C: File  (---)   C:\Documents and Settings\SQL_User\NTUSER.dat.LOG         
  948: File  (---)   C:\Documents and Settings\SQL_User\NTUSER.DAT               
1
  • I do not know why the -1 here. – Aristos Aug 16 '13 at 12:42
1

Try these steps:

  1. Download Microsoft's Process Explorer
  2. Open the application
  3. Click on the I/O graph

enter image description here

  1. Mouse over your disk row

enter image description here

It should show you the executable running on that disk.

2
  • 2
    Process Explorer will show the process with the most Disk I/O. This is Disk I/O on all discs, not only on the one the questioner is interested in. Also a program can just keep a file open on an external disk, thus blocking it from being removable, but not read from or write to the file, so not having any Disk I/O. – Werner Henze Jul 1 '13 at 9:23
  • 2
    Addition to Werner's comment: This is called a "handle" in Windows terminology. See Olivier's answer. – Zero3 Jul 24 '13 at 2:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy