問題現象
安全移除 USB 隨身碟/行動硬碟時,提示 「無法停止通用磁碟區」。已關閉所有程式、檔案總管視窗,甚至登出/重開機仍無效。
核心原因
Windows 背景的 資源管理器 (explorer.exe) 透過 shmedia.dll 掃描 USB 裝置上的媒體檔案(讀取 ID3 標籤、視訊解析度、長度等屬性以顯示縮圖/詳細資訊)。此掃描過程會持續鎖定裝置,導致無法安全移除。
最有效解決方案:取消註冊 shmedia.dll
- 「開始」→「執行」輸入:
regsvr32 /u shmedia.dll
- 點選「確定」,提示「DllUnregisterServer 成功」即完成。
- 立即嘗試安全移除,通常即可成功。
原理與副作用
- 原理: 取消註冊
shmedia.dll,停用系統對媒體檔案的屬性擷取/預覽功能,釋放裝置鎖定。
- 副作用: 資源管理器將不再顯示音樂/影片檔的詳細資訊(長度、比特率、畫面解析度、歌手等),縮圖可能變為通用圖示。
- 權衡: 犧牲媒體檔預覽功能,換取可靠的 USB 安全移除體驗。用戶可自行決定取捨。
恢復預覽功能
若需恢復,執行:
regsvr32 shmedia.dll
其他可能原因與對策
- 防毒軟體即時掃描壓縮檔(zip/rar): 暫時關閉即時掃描或排除 USB 裝置。
- 系統中毒: 病毒持續讀寫 USB 裝置,需全盤掃毒清除。
- 索引服務/Windows Search: 在「服務」中停用「Windows Search」/「索引服務」。
- 開啟的檔案控制代碼未釋放: 使用 Unlocker 或 Process Explorer 找出並關閉持有控制代碼的程式。
預防性設定
在裝置管理員 → USB 裝置 → 「原則」標籤,選擇 「為快速移除而優化」,以降低系統對裝置的快取/掃描行為。