Can't Eject External Drive: 3 Fixes That Work

Hardware – Hard Drives Beginner 👁 10 views 📅 Jun 23, 2026

Your external drive won't eject because something's holding it open. Here are the real fixes, starting with the most common culprit: a hidden process or open file.

1. A Hidden Process Is Holding the Drive

This is the most common reason. You closed all your windows, but some app or background process still has a handle on a file or folder on the drive. Windows does a poor job telling you what is locking it. Mac hides it even better.

The fix: find and kill that process manually.

On Windows 10/11

  1. Download Handle from Microsoft Sysinternals (it's a tiny command-line tool, no install needed).
  2. Open Command Prompt as administrator.
  3. Run: handle.exe -a -p "F:\" (replace F: with your drive letter). This lists every open handle on that drive.
  4. You'll see something like explorer.exe or chrome.exe holding a file. Kill that process with taskkill /IM processname.exe /F.

If you don't want to download a tool, use Resource Monitor (search for it in Start). Go to the CPU tab, expand "Associated Handles", search for your drive letter, and close the offending process from there.

On macOS (Ventura / Sonoma / Sequoia)

  1. Open Terminal.
  2. Run: lsof /Volumes/DriveName (replace DriveName with your volume name).
  3. Look at the second column – that's the PID (process ID). The last column shows the file path.
  4. Kill it: kill -9 PID. Use kill -9 only if kill PID fails.

The reason step 3 works is that lsof lists all open file descriptors, including those from system processes like Spotlight or Time Machine. If you see mds or backupd, that's normal indexing – wait a minute, then try again.

2. The Drive's Cache Hasn't Flushed Yet

Modern operating systems write data to drives in chunks. When you copy a file, it might not actually hit the disk for 10–15 seconds. If you try to eject during that window, the system says "in use" because it's still writing.

The fix is simple: wait. But if you're impatient, force a flush:

Windows

  1. Open Device Manager, expand "Disk drives", right-click your external drive, select Properties.
  2. Go to the Policies tab.
  3. Select Quick removal (this disables write caching). Click OK.

I always set this on external drives. The downside is slightly slower copy speeds, but you'll never get stuck again.

macOS

macOS doesn't give you a toggle. Instead, run in Terminal: sync. This flushes all pending writes. Then try ejecting again. If it still fails, use the Finder eject button while holding the Option key – this forces an eject even if cache is still writing.

3. The Drive Is Corrupted or Has Bad Sectors

Less common but real. If the file system is damaged, the OS keeps trying to read or repair it, which locks the drive. You'll usually see a warning like "The disk you inserted was not readable" or Windows chkdsk running on connect.

Fix: check the file system first.

Windows

  1. Open Command Prompt as admin.
  2. Run: chkdsk F: /f (replace F: with your drive letter).
  3. Let it finish. Then try ejecting again.

macOS

  1. Open Disk Utility.
  2. Select the external drive (not the volume below it) – make sure you pick the physical disk.
  3. Click First Aid and run it.

If First Aid finds errors and can't fix them, your drive is failing. Backup immediately and replace it. A corrupt file system is the only case where forcing an eject can cause data loss – the OS is trying to protect you.

Quick-Reference Table

CauseSymptomFix (30 seconds)
Hidden processNothing appears open, but drive won't ejectlsof (Mac) or Handle.exe (Windows)
Write cache not flushedEject fails after a large file copySet Quick removal on Windows, sync on Mac
Corrupted file systemDrive makes clicking noises or OS says "not readable"chkdsk /f (Windows) or First Aid (Mac)

If none of these work, shut down your computer completely, unplug the drive, then boot up again. That clears every handle. If it still won't eject after reboot, the hardware is likely dead – sorry.

Was this solution helpful?