web-dev-qa-db-de.com

Kann Windows mir sagen, was mein USB-Laufwerk verwendet?

Als guter Bürger, den ich bin, klicke ich mit der linken Maustaste auf das Symbol "Hardware sicher entfernen" in meiner Taskleiste und wähle mein USB-Laufwerk zum Trennen aus.

Dann bekomme ich die Nachricht:

Windows kann Ihr Gerät mit generischem Volume nicht stoppen, da es verwendet wird. Schließen Sie alle Programme oder Fenster, die das Gerät möglicherweise verwenden, und versuchen Sie es später erneut.

Als Betriebssystem weiß es natürlich genau , welche Anwendungen mein Gerät verwenden. Warum sagt es mir das nicht?

Oder gibt es einen Weg, den ich herausfinden kann?

92
PP.

Sie können Sysinternals Process Explorer verwenden, um das Handle für alle geöffneten Dateien zu finden. Wählen Sie einfach das Menü Find und dann Find Handle or DLL. Geben Sie im daraufhin angezeigten Dialogfeld den Laufwerksbuchstaben in das Suchfeld ein. Die Suchergebnisse sollten alle Dateien anzeigen, die auf dem Laufwerk geöffnet sind und von welchem ​​Prozess sie geöffnet wurden.

55
heavyd

Einfachere Methode : Windows (mindestens 10, AFAIK) erstellt einen Eintrag im Ereignisprotokoll, wenn Sie versuchen, ein austauschbares Laufwerk auszuwerfen. Dies ist nicht möglich, da ein Prozess gesperrt ist. Die beiden Ereignis-IDs 225 zeigen die Prozess-ID und den Namen des Prozesses an, der für die Sperre verantwortlich ist.

Schritt für Schritt:

1) Starten Sie die Ereignisanzeige

2) Öffnen Sie "Windows Logs" und dann "System"

3) Klicken Sie mit der rechten Maustaste auf "System" und wählen Sie "Filter Current Log"

4) Geben Sie im daraufhin angezeigten Dialogfeld "225" (ohne Anführungszeichen) ein. Dort steht "Alle Ereignis-IDs".

5) Sie sehen dann alle Ereignisse, die sich auf das Nichtauswerfen beziehen, weil ein Prozess das Laufwerk gesperrt hat.

6) Sehen Sie sich die Zeitstempel aller dieser Einträge an und finden Sie heraus, welche sich auf die tatsächliche Zeit beziehen, als Sie versuchten, das Laufwerk auszuwerfen.

7) Ergreifen Sie geeignete Maßnahmen. Das ordnungsgemäße Beenden einer Aufgabe (Schließen des Programms mit der Sperre) ist die meiste Zeit in Ordnung. Das Beenden des Windows-Suchdienstes ist ebenfalls in Ordnung. Das Stoppen eines Antivirenscans sollte in Ordnung sein (wenn Sie nicht den Verdacht haben, dass zu diesem Zeitpunkt Viren vorhanden sind). In den Task-Manager zu gehen und den Vorgang zu beenden, ist möglicherweise nicht in Ordnung. Wie man damit umgeht, geht über den Rahmen dieser Frage hinaus.

8) (Speichern Sie die Ansicht ...) Im Bedienfeld "Aktionen" (im rechten Rahmen) können Sie "Filter in benutzerdefinierter Ansicht speichern ..." auswählen, damit Sie sie in "Benutzerdefinierte Ansichten" (im linken Rahmen über "Benutzerdefinierte Ansichten") finden. Windows-Protokolle ")

Prozess ID:  Event Viewer Entry

Prozessname:  Event Viewer Entry

8) Wenn Sie keinen anderen Eintrag mit einem Prozessnamen haben , hält der Systemprozess (Prozess-ID 4) Ihr Laufwerk. Um dieses Problem zu umgehen, müssen Sie zur Datenträgerverwaltung gehen und das Laufwerk, das Sie auswerfen möchten, offline schalten . Wenn sich die Datei auf Ihrem Startlaufwerk befindet, können Sie sie nicht offline schalten. In diesem Fall beachten Sie den folgenden Hinweis:

UPDATE 2018 : Ich habe Anwendungen wie WhatsApp Desktop gesehen, die Handles auf Chrome Canary über den Systemprozess behalten . Da Sie die Startdiskette nicht auswerfen können (da sie gerade verwendet wird), bestand die Lösung darin, ein anderes raffiniertes Sysinternals -Dienstprogramm mit dem Namen Handle zu verwenden. Starten Sie nach dem Schließen des Programms mit der gesperrten Datei handle und führen Sie (als Beispiel) handle64 "Chrome SxS\Application\chrome.exe" aus, um festzustellen, ob die Handles in der Datei mit der PID 4-Sperre noch vorhanden sind. Schließen Sie per Versuch und Irrtum jedes laufende Programm, bis die gesperrte Datei keine Handles mehr enthält.

Beste Methode (bezahlt)

Downloaden und starten Sie SafelyRemove . Es hilft Ihnen beim Auswerfen des Laufwerks. Wenn dies nicht möglich ist, werden die gesperrten Prozesse angezeigt:

 enter image description here

103
Gaia

Sie können auch Befehlszeile zum Abfragen des Windows-Protokolls mit wevtutil.exe (seit Windows 7) verwenden, sofern Sie wissen, dass der Windows-Kernel-PnP die Ereignis-ID 225 verwendet , um das System zu protokollieren (mit der Prozess-ID 4). Weigert sich, das Gerät zu entfernen oder auszuwerfen. USB\VID _ #### & PID _ ############.

wevtutil qe System /q:"*[System[(EventID=225)]]" /c:5 /f:text /rd:true
  • qe System: Abfrage von Ereignissen aus dem Systemprotokoll
  • / q: Abfrage mit XPath
  • EventID=225 bedeutet, dass das System eine Auswurfanforderung abgelehnt hat
  • / c: 5: Anzahl der abzurufenden Einträge (5 hier)
  • / f: text: format (Standard ist xml)
  • / rd: true: umgekehrte Reihenfolge (neueste zuerst)

Ich benutze es in einem Batch-Skript.

5
Tchonialite

Für mich (Windows 7).

  1. Drücken Sie Windows
  2. Geben Sie in "Programme und Dateien durchsuchen" Folgendes ein: diskmgmt.msc
  3. In der Suchliste finden Sie einen Eintrag und klicken Sie mit der rechten Maustaste - wählen Sie Als Administrator ausführen
  4. Geben Sie die Administrator-Anmeldeinformationen ein, um "Datenträgerverwaltung" auszuführen (falls erforderlich).
  5. Finden Sie ein USB-Laufwerk, das in der Festplattenliste nicht ausgeworfen werden kann
  6. Linke Seite, rechte Maustaste wählen Sie " Auswerfen "
  7. Handles "sollten" schließen - Sie können immer im sys internals process Explorer nachprüfen

Hinweis: "Hardware sicher entfernen und Medien auswerfen" Taskleistensymbol zeigt USB-Laufwerk nicht mehr an - nur drei Punkte

  1. Laufwerk physikalisch entfernen
5
blakev

Hier ist ein kurzer PowerShell Befehl, um das Ereignisprotokoll abzufragen und zu zeigen, welche Anwendung das Auswerfen des Laufwerks blockiert (funktioniert bei mir mit Windows 10, wahrscheinlich auch mit 7/8).

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

Die Ausgabe listet alle Instanzen in der letzten Stunde auf, in denen das System ein Festplattenlaufwerk nicht auswerfen konnte. Die Spalte Nachricht zeigt den Prozess an, der den Auswurf blockiert hat. In meinem Beispiel unten war der Task-Manager tatsächlich der Täter und ich konnte nach dem Schließen des Task-Managers aussteigen.

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.
5
Jon

Sie können resmon.exe starten (über WIN + R), gehen Sie zu disk> Disk Activity> Sort by File. Jetzt können Sie alle Dateien sehen, auf die das System zugreift, und welche Prozesse auf sie zugreifen, geordnet nach dem Dateipfad (der übrigens startet) mit einem Laufwerksbuchstaben). Funktioniert möglicherweise nicht in allen Fällen, aber es ist ein einfacher Ansatz.

Ein Neustart des Computers scheint die Nutzung des Geräts freizugeben. Außerdem können Sie zum schnelleren Entfernen das Windows-Caching im Hardware-Bereich Ihres Geräts deaktivieren. Manchmal dauert es länger als erwartet, den Cache auf eine externe Festplatte zu leeren, und es wird die Meldung angezeigt, dass das Gerät verwendet wird (da dies der Fall ist, von) Windows selbst)

1
Felype

Hatte USB, das von Windows als in Verwendung gemeldet wurde ... genau wie alle anderen hier.

In Windows 10 gelangen Sie mit Strg + Alt + Entf zum Task-Manager.

Suchen durch Scrollen - Windows Explorer. und markieren.

Unten rechts befindet sich eine nette freundliche Schaltfläche namens "Restart Process".

Überprüfen Sie zweimal dreimal, ob "Windows Explorer" das einzige hervorgehobene Element ist.

Klicken Sie mit der linken Maustaste auf die Schaltfläche "Prozess neu starten".

Ich hatte nur einen einzigen Explorer, andere haben manchmal zwei. Man beachte nur, welches wieder auftaucht. Versuchen Sie, den USB-Stick zu schließen bzw. auszuwerfen. Meins hat gut funktioniert, schließen Sie den USB.

Wenn deins nicht auswirft/schließt, war es wahrscheinlich der andere Explorer. Versuchen Sie es erneut und wiederholen Sie den Vorgang. Viel Glück.

0
John Henson

Wenn Sie "Arbeitsplatz" öffnen und Ihr Laufwerk nicht unter den "Wechselmedien" -Headern aufgeführt ist, wird es von Windows aus irgendeinem Grund als feste Systemressource angezeigt. Sie müssen alle Partitionen auf dem Laufwerk aushängen.

Wenn dies der Fall ist, öffnen Sie "Computerverwaltung" und gehen Sie zu "Datenträgerverwaltung". Klicken Sie für jede Partition auf dem Gerät mit der rechten Maustaste auf die Partition, wählen Sie "Laufwerksbuchstaben und -pfade ändern" und entfernen Sie alle Laufwerksbuchstaben, die dieser Partition zugewiesen sind. Sobald Sie dies tun, sollten Sie feststellen, dass die Funktion "Sicheres Auswerfen" wie erhofft funktioniert.

0
user1575326