題 Windows可以告訴我什麼在使用我的USB驅動器嗎?


作為我的好公民,我左鍵單擊任務欄中的“安全刪除硬件”圖標,然後選擇要卸載的USB驅動器。

然後我收到消息:

Windows無法停止您的Generic卷設備,因為它正在使用中。關   任何可能正在使用該設備的程序或窗口,然後稍後再試。

當然,作為操作系統,它知道 究竟 什麼應用程序正在使用我的設備那為什麼不告訴我呢?

還是有辦法讓我知道嗎?


78
2017-12-24 17:00


起源


我有很多場合使用Vista,我無法弄明白,在重新啟動/關閉之前它不會“釋放”USB。升級到Win7並且從那時起就沒有問題了,所以我想,至少在我的電腦上,這是一個系統驅動程序問題。 - BBlake


答案:


您可以使用 Sysinternals Process Explorer 找到任何打開的文件的句柄。只需選擇 Find 菜單並選擇 Find Handle or DLL。在打開的對話框中,在搜索框中輸入驅動器號。搜索結果應顯示從驅動器打開的所有文件以及打開它們的進程。


46
2017-12-24 17:03



在殺死違規進程後,Windows仍然無法釋放USB驅動器。去搞清楚.... - Grantly
我只用Explorer瀏覽了驅動器。然後從cmd.exe shell,我在該驅動器上運行了一個備份腳本,完成了。關閉cmd.exe窗口。使用Taskmgr殺死並重新啟動Explorer.exe。仍然,驅動器正在使用中,不會彈出。 - Kaz
Process Explorer找不到任何內容 M:。 - Kaz
如果Process explorer沒有顯示任何內容,您可以使用Nirsoft的OpenedFilesView軟件。你不會看到哪個程序正在使用該驅動器(或者Process Explorer也會找到它)但你仍然會看到句柄,使用過的文件並且有可能關閉它們(如果你覺得冒險的話) - LeFauve
Windows Explorer本身有時可以鎖定驅動器。您可以在Windows 10的任務管理器中重新啟動Windows資源管理器(完全向下滾動以查找它)。在舊版本的Windows中,您必須使用End explorer.exe,並從“文件”菜單中顯式運行explorer.exe。 - Christopher Hostage


更簡單的方法:Windows(至少10個,AFAIK)在您嘗試彈出可移動驅動器時在事件日誌中創建一個條目而您不能,因為進程已鎖定它。兩個事件ID 225將顯示進程ID和負責鎖定的進程的名稱。

一步步:

1) 啟動事件查看器

2)打開“Windows Logs”然後“System”

3)右鍵單擊“系統”並選擇“過濾當前日誌”

4)在出現的對話框中,輸入“225”(不帶引號),其中顯示“所有事件ID”

5)然後,您將看到與無法彈出相關的所有事件,因為進程已鎖定驅動器。

6)查看所有這些條目的時間戳,找出與嘗試彈出驅動器時的實際時間相關的時間戳。

7)採取適當的行動。優雅地結束任務(關閉具有鎖定的程序)在大多數情況下都可以。停止Windows搜索服務也沒關係。停止防病毒掃描應該沒問題(如果您當時沒有懷疑有任何病毒)。進入任務管理器並終止進程可能不行。如何處理這個超出了這個問題的範圍。

8)(保存視圖...)在“動作”面板中(在右側框架中)您可以“將過濾器保存到自定義視圖...”,這樣您就可以在“自定義視圖”中找到它(在“自定義視圖”上方的左側框架中) Windows日誌“)

進程ID: Event Viewer Entry

流程名稱: Event Viewer Entry

8) 如果您沒有其他帶有進程名稱的條目,系統進程(進程ID 4)正在保存您的驅動器。要繞過這個,你將不得不去磁盤管理和 將要彈出的驅動器置於脫機狀態。如果文件位於啟動驅動器上,則無法使其脫機。在這種情況下,請參閱以下註釋:

更新2018年:我見過像這樣的應用程序 WhatsApp Desktop通過系統進程在Chrome Canary上保留句柄。由於您無法彈出啟動盤(因為它正在使用中),解決方案是使用另一個漂亮的 Sysinternals的實用程序,稱為 處理。關閉具有鎖定文件的程序後,啟動句柄並運行(作為示例) handle64 "Chrome SxS\Application\chrome.exe" 查看句柄是否仍存在於具有PID 4鎖定的文件中。通過反複試驗,關閉每個程序運行,直到鎖定文件上沒有句柄。

最好的方法(付費)

下載並運行 SafelyRemove。它可以幫助您彈出驅動器,如果它無法執行,它會顯示哪些進程鎖定它:

enter image description here


87
2017-07-18 01:20



好!現在我知道它是Windows Defender ... - manu
The application System with process id 4 stopped the removal or ejection for the device ... 好吧......我會嘗試禁用 Distributed Link Tracking Client 看看是否有幫助。 - Piotr Kowalski
Windows 10任務管理器也可以防止刪除!誰新。 - Alex Che
也適用於win7。也許在win8上工作正常。謝謝你的這種方法。這個問題可能令人憤怒。 - Syndacate
有用的提示。感謝那。我保存了一個自定義視圖“鎖定設備”,以便將來快速訪問此過濾視圖。 - Steve Crane


對我來說(Windows 7)。

  1. 擊中 視窗 鍵
  2. 在“搜索程序和文件中:鍵入: diskmgmt.msc
  3. 在搜索列表中查找條目並右鍵單擊 - 選擇以管理員身份運行
  4. 輸入管理員憑據以運行“磁盤管理”(如果需要)
  5. 查找不會彈出磁盤列表的違規USB驅動器
  6. 左側面板,右鍵單擊選擇“噴射
  7. 句柄“應該”關閉 - 您可以隨時仔細檢查sys internals process explorer

注意:  “安全刪除硬件並彈出介質” 任務欄圖標不再顯示USB驅動器 - 只有三個點

  1. 物理刪除驅動器

4
2018-01-12 12:44



Windows 7磁盤管理中沒有左側面板或彈出命令。 (版本1.00,根據幫助/關於)。我可以收縮它,刪除它,標記它激活,格式化,...沒有彈出。 - Kaz
找不到Eject,但離線選項完成了這項工作。在重新連接存儲設備時,不要忘記再次將其設置為在線。 - Adriano P
最近我使用'離線'來停止我的外部USB-SSD磁盤,這很可能是由系統(Win 10)以某種方式使用,之後“安全刪除”確實有效。一段時間後,我重新插入該磁盤並獲得帶有“RAW”分區的磁盤。通過執行 chkdsk /f f: 文件系統以某種方式重新加工,但一切都落在'found.000'。所以......那種方法看起來並不安全。幸運的是,我在那個磁盤上沒有任何重要的東西...... - Xtra Coder


你也可以使用 用於查詢Windows日誌的命令行,與 wevtutil.exe (自Windows 7)以來的知識 Windows Kernel-PnP使用事件ID 225 記錄系統(總是有進程ID 4)拒絕刪除或彈出設備USB \ VID _ ####&PID _ ############(其中#表示十六進制數字)。

wevtutil qe System /q:"*[System[(EventID=225)]]" /c:5 /f:text /rd:true
  • qe系統:從系統日誌查詢事件
  • / q:使用XPath進行查詢
  • EventID=225 表示系統拒絕彈出請求
  • / c:5:要檢索的條目數(此處為5)
  • / f:text:format(默認為xml)
  • / rd:true:反向順序(最新的第一個)

我在批處理腳本中使用它。


3
2018-03-09 07:36





您可以啟動resmon.exe(通過WIN + R),轉到磁盤>磁盤活動>按文件排序 現在,您可以看到系統正在訪問的所有文件以及正在訪問它們的進程,按文件路徑排序(以驅動器號開頭)。 可能不適用於所有情況,但這是一種簡單的方法。

重新啟動計算機似乎“釋放”設備使用。 此外,為了更快地刪除,您可以禁用設備的硬件部分上的Windows緩存,有時窗口將花費比預期更長的時間將緩存刷新到外部磁盤並顯示該消息,說明設備正在使用中(因為它將通過Windows本身)


1
2017-12-21 17:48



與此類似:在resmon.exe中,在CPU選項卡中。向下滾動到Associated Handles框。那裡有一個搜索句柄搜索框,您可以在其中輸入鎖定的驅動器的字母。 - Andrew


這是一個快速的 電源外殼 命令查詢事件日誌並顯示阻止驅動器彈出的應用程序(適用於Windows 10,可能也適用於7/8)

Get-EventLog -LogName System -after (Get-Date).AddHours(-1) | Where-Object {$_.EventID -eq 225} | Sort-Object TimeGenerated | Format-Table -Wrap

輸出將列出過去一小時內系統無法彈出磁盤驅動器的所有實例。該 信息 列顯示阻止彈出的過程。在下面的示例中,任務管理器實際上是罪魁禍首,我可以在關閉任務管理器後彈出。

PS C:\Users\Jonathan> Get-EventLog -LogName System -after (Get-Date).AddHours(-1) | \Where-Object {$_.EventID -eq 225} | Sort-Object TimeGenerated | Format-Table -Wrap

   Index Time          EntryType   Source                 InstanceID Message
   ----- ----          ---------   ------                 ---------- -------
   14692 Sep 07 10:50  Warning     Microsoft-Windows-Ke          225 The application \Device\HarddiskVolume4\Windows\System32\Taskmgr.exe with process id 11972 stopped
                                   rnel-PnP                          the removal or ejection for the device USB\VID_0781&PID_5575\200445301013C111B1A0.
   14693 Sep 07 10:50  Warning     Microsoft-Windows-Ke          225 The application \Device\HarddiskVolume4\Windows\System32\Taskmgr.exe with process id 11972 stopped
                                   rnel-PnP                          the removal or ejection for the device USB\VID_0781&PID_5575\200445301013C111B1A0.

1
2017-09-07 16:15





如果您打開“我的電腦”並且您的驅動器未列在“可移動存儲”標題下,則Windows出於某種原因將其視為固定係統資源。您必須卸載驅動器上的任何分區。

如果是這種情況,請打開“計算機管理”,然後轉到“磁盤管理”。對於設備上的每個分區,右鍵單擊該分區,選擇“更改驅動器號和路徑”,然後刪除分配給該分區的所有驅動器號。執行此操作後,您應該會發現“安全彈出”功能可以按預期運行。


0
2017-12-03 20:50





有窗戶報告正在使用的USB ......與其他人一樣。

在Windows 10中,Ctrl + Alt + Del進入任務管理器。

通過滾動查找 - Windows資源管理器。並突出顯示。

右下角是一個很好的友好按鈕,稱為“重啟過程”

雙重三重檢查“Windows資源管理器”是唯一突出顯示的內容。

鼠標左鍵單擊友好按鈕“重啟過程”。

我只有一個Explorer,其他人有兩個。請注意哪一個重新開始。嘗試並關閉/彈出USB。我的工作正常,關閉USB。

如果你的不彈出/關閉,那麼可能是另一個資源管理器。再試一次並重新開始。祝好運。


0
2018-03-26 07:53



歡迎來到超級用戶:請仔細閱讀問題。你的答案沒有回答原來的問題。“Windows可以告訴我什麼在使用我的USB驅動器嗎?”請花幾分鐘時間閱讀: - superuser.com/help .Answering: superuser.com/help/how-to-answer,再次歡迎超級用戶.Thankyou - mic84