External HDD is always in use when trying to safely remove

38

18

I have a WD 1TB Elements external hard drive, and every time I use the Windows 7 "safely remove" feature, it gives me a dialog telling that a process is using the disk.

Using Sysinternals Process Explorer and the answer on this Can Windows tell me what is using my USB drive? question, I get the following result:

Process Explorer "find" results

Process: System, PID: 4, Type: File, Names starting with E:\$Extend\$RmMetadata\$Txf

What is the $Extend folder and why is it in use? How can I disable it? I cannot remove it using the command line (access denied).

Edit: I've followed the instructions over here on Microsoft TechNet, and under the registry key

HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToBackup

I have a multi-string value named IgnoreNTFS with data \$Extend\* /s.

But this does not make any difference. Also, this question is not about a server.

Additionally I can tell that I use a program called mkv2vob to convert video files with a Matroska container into something my PS3 will play. I convert the source files straight from my external HDD, but I would expect if this program does not release the lock on the HDD, surely it cannot be locked if the process isn't even running?

MarioDS

Posted 2012-11-26T20:06:06.303

Reputation: 1 362

1

Possible duplicate of Safely remove external USB drive fails due to $extend

– janot – 2016-05-17T12:28:08.897

I've had the same problem on my Vista laptop. I looked for programs using the drive but couldn't find any. So what I do is sleep the box. Ten seconds after the box goes to sleep I can hear the drive shut down, at which point I unplug it. Been doing this daily for months with no problems. – Daniel R Hicks – 2012-12-01T13:47:52.447

Answers

26

As explained by Rook in this answer: https://superuser.com/a/674255/142560

To safely remove the drive:

  1. Open Command Prompt (cmd.exe).
  2. Type diskpart.
  3. Type list disk.
  4. Find your disk #, and type select disk [number here].
  5. Type offline disk.

You should be able to remove it now.

Next time you plug it in, it won't be automatically mounted. So either use the command prompt again to make it online, or:

  1. Run diskmgmt.msc.
  2. Find the disk, right click, and choose "Online".

hattenn

Posted 2012-11-26T20:06:06.303

Reputation: 381

1+1 i've had fsutil resource stop f:\ work in the past and no doubt will in the future, but this time, fsutil didn't work, and after every attempt to dismount it was locking, this worked for me. So it makes for a good second step if fsutil doesn't do the job. – barlop – 2015-07-14T09:28:55.250

heh, this time I get that error even after choosing offline then choosing to remove the drive! – barlop – 2015-12-01T00:35:35.243

just tried it , fsutil resource stop, now.. and it worked and also removed the drive from the safely remove tray thing, don't think i've seen the latter before but ok. – barlop – 2016-06-21T09:42:28.617

4In most cases you can directly after execute offline disk execute online disk and the volume can still be unmounted using the tray icon. This has the advantage that next time you plug it in, it will be automatically mounted as usual. – Robert – 2017-06-20T12:42:18.467

Thanks. I put the hard drive offline and then immediately online again. (diskmgmt.msc) I could remove it then. – kapsiR – 2019-03-01T10:00:36.613

8

Got the same problem with a different external disk used for backup of the system disk. I identified the TxF file locks using LockHunter, which wasn't able to unlock them.

I hear Transactional NTFS is used by autoupdate, but have no clue why the system would want to place this on an external disk and then be unable to stop it upon safe removal request. Fsutil resource info doesn't show any activity.

Try in the cmd console:

fsutil resource stop E:

or, if it doesn't help,

fsutil resource setautoreset true

and reboot. You can also try stopping a TxF-related service in Computer Management / Services

Sem

Posted 2012-11-26T20:06:06.303

Reputation: 99

2

For me, this issue was related to a program called Everything.exe. Similar to the original poster, I discovered that my system PID: 4 had multiple files in use, preventing me from ejecting my external USB hard drive:

\$Extend\$RmMetadata\$Txf:$I30:$INDEX_ALLOCATION

\$Extend\$RmMetadata\$TxfLog\$TxfLogContainer00000000000000000002

\$Extend\$RmMetadata\$TxfLog\$TxfLogContainer00000000000000000001

\$Extend\$RmMetadata\$TxfLog\$TxfLog.blf

Closing Everything.exe released these locked connections to my HD and I can safely eject now with no problems. (Everything.exe is a freeware NTFS indexing search program created by VoidTools.)

Josh p

Posted 2012-11-26T20:06:06.303

Reputation: 21

2Unless it's the case that process explorer didn't show that, and you state that, then this is not useful and not necessarily answering the question. Clearly various programs can cause it, almost any that are using the drive can cause it. To answer the Q it has to be that the program isn't listed in process explorer. – barlop – 2016-06-21T09:46:07.820

@barlop I don't see the point in your comment. The answer is valid as it exactly describes a possible solution for the situation shown in the question. – Robert – 2017-11-06T19:45:26.000

@Robert you may be right.. as his also showed PID=4. I wonder what made him consider closing everything.exe BTW I used to use everything by voidtools, I think I stopped 'cos the index wasn't updating..I recall it reigniting my interest in computers. I might start using it again – barlop – 2017-11-07T01:33:58.397

2

Windows 7 is trying to Backup to your external Hard drive, You can disable backups to external disk drive. Sample solution is here.

Hasan Hüseyin Çakır

Posted 2012-11-26T20:06:06.303

Reputation: 169

it's a windows feature. I don't know why did windows do something like this. – Hasan Hüseyin Çakır – 2012-11-26T20:29:06.960

Okay I just got this again. Exactly same window as in original question. – MarioDS – 2012-11-29T21:45:59.320

2

I've recently discovered that restarting the "Server" service (which will generally require Windows to also restart dependent "Computer Browser" service and possibly the "HomeGroup Listener" service at the same time) allows me to then safely remove the drive. I don't know if this is actually safe to do or not, but it does work.

mmortal03

Posted 2012-11-26T20:06:06.303

Reputation: 186

This worked for me. I feel that this looks like safer than fsutil and TxS functionality as the consequences are pretty vague. Any ideas on this? – Guney Ozsan – 2018-09-21T17:49:05.583

1

This doesn't resolve your core issue, but it is too long for a comment and answers one part of your question.

'What is the $Extend folder and why is it in use?

The $Extend folder is used by windows to store various things relating to the NTFS filing system such as quota information and NTFS log files. See this MSDN article for more info.

In your case you are interested in the \$Extend\$RmMetadata folder which is part of the Transactional NTFS system. This is an essential part of windows and can't be disabled, although I would have expected that you can disable it for one particular drive, but unfortunately I don't know how.

There is a command line program called fsutil which can be used to display some information about these files (eg fsutil resource info e: and fsutil transaction list which perhaps could indicate which process is using this feature. There are other commands to start and stop the resource manager, but I'm not going to recommend that as I don't know the consequences, but it might give you a starting point to research further.

By the way, the instructions you are following re the Backup aren't really relevant to your situation. They only apply if you are actually running a backup and the backup is failing because these files are locked and the solution is just to configure the backup to ignore these files.

sgmoore

Posted 2012-11-26T20:06:06.303

Reputation: 5 961

not getting any info that gives me any hints http://pastebin.com/raw.php?i=aNDaC2GR

– barlop – 2015-12-01T00:28:17.460

1

I have had this same issue every time I used my external USB drive to my Win 8.1 desktop. The only way I could properly eject it was by going into Disk Management and then taking the disk offline. It's really painful though as you then have to put it online when you next plug it in.

But, just today I went into the disk's Device Properties (from Device Manager or from the Hardware tab in any disk's properties dialog) and found that the the disk's Removal policy was set to Quick removal:

Quick removal

Disables write caching on the device and in Windows, but you can disconnect the device safely without using the Safely Remove Hardware notification icon.

The other option is:

Better performance (default)

Enables write caching in Windows, but you must use the Safely Remove Hardware notification icon to disconnect the device safely.

Just out of curiosity I changed the removal policy to Better performance and sure enough after I did that the Safely Remove Hardware eject function worked fine and I could eject the disk without the dreaded "Disk is in use" error. I have no idea why the policy would make any difference since I was trying to safely remove either way but I haven't had any problems since so give it a try.

kjbartel

Posted 2012-11-26T20:06:06.303

Reputation: 111

When I still had the disk, I was pretty sure I had it in performance mode. Actually I'm pretty sure that quick removal is default. I'm not too lazy to use the eject feature which is why I went for increased performance, and yet I couldn't use eject (IIRC). – MarioDS – 2014-09-04T14:36:09.280

This seems to have done the trick for me, and is much easier than taking the disk offline. I'm more comfortable using Safely Remove Hardware with a hard disk anyway. – Mark Larson – 2015-03-26T00:58:49.567

It doesn't work for me. It removes the handles to the drive.. so process explorer shows no handles, and then I thought ah now it'll work. But when I chose to remove the drive, then I got that same error. And then process explorer shows handles rmmetadata handles on it. It did say that it needs a restart after that setting though. And I haven't restarted. – barlop – 2015-12-01T00:32:03.490

-1

https://answers.microsoft.com/en-us/windows/forum/windows_7-hardware/cant-eject-usb-hard-drive-drive-always-in-use/f052d0e7-ee89-4946-a6ad-b6e632a65133

points to the "Distributed Link Tracking Client has gone nuts and is groveling the entire hard drive for who knows what reason. After stopping the service, I was able to eject the hard drive. For this sort of problem, you can get more information about which service svchost.exe is hosting is behind the activity by looking at the stack for a relevant item in the Sysinternals Process Monitor list. I found trkwks.dll in the stack, which is "Distributed Link Tracking Client"

SO IF YOU ARE NOT A MEMBER OF A DOMAIN YOU CAN DISABLE THIS SERVICE

64 Windows users found this to be their solution, more popular than any other solution ever provided at answers.microsoft.com

note MS supposedly removed this service for later editions of Windows https://support.microsoft.com/en-us/kb/312403 Distributed Link Tracking on Windows-based domain controllers

Perri

Posted 2012-11-26T20:06:06.303

Reputation: 1

This answer does not appear to answer the author's question. You also have reference links which you failed to properly cite and quote all relevant information. – Ramhound – 2017-01-05T22:57:36.460