Est-ce que Windows peut me dire ce qui utilise ma clé USB?

100

En tant que bon citoyen, je clique avec le bouton gauche de la souris sur l'icône "Supprimer le périphérique en toute sécurité" dans la barre des tâches, puis sélectionne le lecteur USB à démonter.

Puis je reçois le message:

Windows ne peut pas arrêter votre périphérique de volume générique car il est en cours d'utilisation. Fermez tous les programmes ou fenêtres susceptibles d’utiliser le périphérique, puis réessayez ultérieurement.

Bien entendu, en tant que système d'exploitation, il sait exactement quelles applications utilisent mon appareil. Alors, pourquoi ça ne me dit rien?

Ou y a-t-il un moyen que je puisse découvrir?

PP.
la source
1
J'ai eu de nombreuses occasions avec Vista où je ne pouvais jamais le comprendre et cela ne "relâcherait" pas l'USB tant que je n'aurais pas redémarré / arrêté. Mis à niveau vers Win7 et n’ayant plus eu ce problème depuis, j’ai donc pensé, du moins sur mon PC, qu’il s’agissait d’un problème de pilote système.
BBlake

Réponses:

58

Vous pouvez utiliser Sysinternals Process Explorer pour trouver le descripteur de tous les fichiers ouverts. Il suffit de sélectionner le Findmenu et sélectionnez Find Handle or DLL. Dans la boîte de dialogue qui s'ouvre, entrez la lettre de lecteur dans la zone de recherche. Les résultats de la recherche doivent afficher tous les fichiers ouverts à partir du lecteur et le processus les ayant ouverts.

lourd
la source
4
Après la suppression du processus incriminé, Windows ne libérerait toujours pas le lecteur USB. Allez comprendre ....
Grantly
2
J'ai seulement exploré le lecteur avec Explorer. Ensuite, à partir d'un shell cmd.exe, j'ai exécuté un script de sauvegarde sur ce lecteur, qui s'est terminé. Fermez la fenêtre cmd.exe. Tué et redémarré Explorer.exe avec Taskmgr. Néanmoins, le lecteur est en cours d'utilisation et ne sera pas éjecté.
Kaz
3
Process Explorer ne trouve rien pour M:.
Kaz
2
Si Process explorer ne montre rien, vous pouvez utiliser le logiciel OpenedFilesView de Nirsoft. Vous ne verrez pas quel programme utilise le lecteur (mais Process Explorer l'aurait aussi trouvé), mais vous verrez toujours les descripteurs, les fichiers utilisés et la possibilité de les fermer (si vous souhaitez le risquer)
LeFauve
4
L'Explorateur Windows lui-même peut parfois verrouiller les lecteurs. Vous pouvez relancer l'Explorateur Windows dans le Gestionnaire des tâches de Windows 10 (faites défiler le menu pour le trouver). Dans les anciennes versions de Windows, vous devez arrêter explorer.exe et exécuter explicitement explorer.exe à partir du menu Fichier.
Christopher Hostage
113

Méthode plus simple : Windows (10 (AFAIK au moins)) crée une entrée dans le journal des événements lorsque vous essayez d'éjecter un lecteur amovible et que vous ne pouvez pas le faire, car un processus est verrouillé. Les deux ID d'événement 225 afficheront l'ID de processus et le nom du processus responsable du verrouillage.

Pas à pas:

1) Démarrer l'observateur d'événements

2) Ouvrez "Windows Logs" puis "System"

3) Faites un clic droit sur "Système" et choisissez "Filtrer le journal actuel"

4) Dans la boîte de dialogue qui apparaît, entrez "225" (sans les guillemets) où il est indiqué "Tous les ID d'événement"

5) Vous verrez alors tous les événements liés à l'impossibilité d'éjecter car un processus a verrouillé le lecteur.

6) Examinez les horodatages de toutes ces entrées et déterminez celles qui correspondent à l'heure à laquelle vous avez essayé d'éjecter le lecteur.

7) Prendre les mesures appropriées. Terminer une tâche en douceur (fermer le programme verrouillé) est correct la plupart du temps. L'arrêt du service Windows Search est également correct. Arrêter une analyse antivirus devrait être correct (si vous ne pensez pas que vous avez un virus à l'époque). Entrer dans le gestionnaire de tâches et tuer le processus pourrait ne pas être correct. Comment traiter cela dépasse le cadre de cette question.

8) (Enregistrer la vue ...) dans le panneau Actions (dans le cadre de droite), vous pouvez "Enregistrer le filtre dans une vue personnalisée ..." afin de le trouver dans "Vues personnalisées" (dans le cadre de gauche au-dessus de la " Journaux Windows ")

Identifiant du processus: Entrée de l'observateur d'événements

Nom du processus: Entrée de l'observateur d'événements

8) Si vous n'avez pas d'autre entrée avec un nom de processus , le processus système (processus ID 4) contient votre lecteur. Pour contourner celui-ci, vous devrez accéder à la gestion du disque et mettre le lecteur que vous souhaitez éjecter hors ligne . Si le fichier se trouve sur votre lecteur de démarrage, vous ne pouvez pas le mettre hors ligne. Dans ce cas, voir la note ci-dessous:

MISE À JOUR 2018 : J'ai vu des applications telles que WhatsApp Desktop conserver des poignées sur Chrome Canary via le processus système . Étant donné que vous ne pouvez pas éjecter le disque d’amorçage (car il est en cours d’utilisation), la solution consistait à utiliser un autre utilitaire astucieux Sysinternals , appelé Handle . Après avoir fermé le programme contenant le fichier verrouillé, lancez le descripteur et exécutez (à titre d'exemple) handle64 "Chrome SxS\Application\chrome.exe"pour voir si les descripteurs sont toujours présents sur le fichier doté du verrou PID 4. Par essais et erreurs, fermez chaque programme en cours d'exécution jusqu'à ce qu'il n'y ait plus de descripteurs sur le fichier verrouillé.

Meilleure méthode (payante)

Téléchargez et exécutez SafelyRemove . Il vous aide à éjecter le lecteur et s’il ne peut pas le faire, il affiche les processus verrouillés:

entrez la description de l'image ici

Gaia
la source
1
Pouvez-vous s'il vous plaît dire sur le numéro 225. Comment vous l'avez?
Ajeeb.KP
3
The application System with process id 4 stopped the removal or ejection for the device ...Eh bien ... je vais essayer de désactiver Distributed Link Tracking Clientet voir si ça aide.
Tithen-Firion
17
Windows 10 Task Manager peut également empêcher la suppression! Qui nouveau.
Alex Che
3
Cela fonctionne aussi bien pour win7. Cela fonctionne probablement aussi bien sur win8. Merci pour cette méthode. Le problème peut être exaspérant.
Syndacate le
2
Astuce utile. Merci pour ça. J'ai enregistré une vue personnalisée "Appareils verrouillés" pour un accès rapide à cette vue filtrée.
Steve Crane
6

Vous pouvez également utiliser la ligne de commande pour interroger le journal Windows , avec wevtutil.exe (depuis Windows 7) en sachant que Windows Kernel-PnP utilise l'ID d'événement 225 pour journaliser le système (toujours en ayant l'ID de processus 4). périphérique USB \ VID _ #### & PID _ ############# (où les # désignent des nombres hexadécimaux).

wevtutil qe System /q:"*[System[(EventID=225)]]" /c:5 /f:text /rd:true
  • qe System: événements de requête du journal système
  • / q: requête avec XPath
  • EventID=225 signifie que le système a refusé une demande d'éjection
  • / c: 5: nombre d'entrées à récupérer (5 ici)
  • / f: text: format (xml par défaut)
  • / rd: true: ordre inverse (le plus récent en premier)

Je l'utilise dans un script batch.

Tchonialite
la source
5

Pour moi (Windows 7).

  1. Appuyez sur la touche Windows
  2. Dans "programmes et fichiers de recherche: type: diskmgmt.msc
  3. Dans la liste de recherche, recherchez une entrée et un clic droit - sélectionnez Exécuter en tant qu'administrateur.
  4. Entrez les informations d'identification de l'administrateur pour exécuter "Gestion des disques" (si nécessaire).
  5. Trouver un lecteur USB offensant qui ne sera pas éjecté dans la liste des disques
  6. Panneau de gauche, clic droit sélectionnez " Eject "
  7. Les poignées "devraient" se fermer - vous pouvez toujours vérifier à nouveau dans l'explorateur de processus interne du système

Remarque: L' icône de la barre des tâches "Retirer le périphérique en toute sécurité et éjecter le média" n'indique plus le lecteur USB, mais seulement trois points.

  1. Retirer physiquement le lecteur
blakev
la source
4
Aucun panneau de gauche ni commande d'éjection dans Windows 7 Disk Management. (Version 1.00, selon Aide / À propos). Je peux le réduire, le supprimer, le marquer comme actif, le formater, ... pas d'éjecter.
Kaz
1
Impossible de trouver Eject non plus, mais l'option Hors ligne a fait le travail. Et n'oubliez pas de le réactiver lorsque vous reconnectez votre périphérique de stockage.
Adriano P
2
Récemment, j'ai utilisé «Offline» pour arrêter mon disque externe USB-SSD qui était probablement utilisé d'une manière ou d'une autre par le système (Win 10), après que cette opération de suppression sécurisée a fonctionné. Quelque temps plus tard, j'ai rebranché ce disque et j'ai un disque avec une partition "RAW". En exécutant du chkdsk /f f:système de fichiers a été en quelque sorte ré-enginerried, mais tout a atterri dans 'found.000'. Alors ... cette méthode ne semble pas être vraiment sûre. Heureusement, je n'ai rien d'important sur ce disque ...
Xtra Coder
5

Voici une commande rapide de PowerShell pour interroger le journal des événements et indiquer quelle application bloque l'éjection de lecteur (fonctionne pour moi avec Windows 10, fonctionne probablement aussi avec 7/8)

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

La sortie répertorie toutes les instances de la dernière heure au cours desquelles le système n'a pas pu éjecter un lecteur de disque. La colonne Message indique le processus qui a bloqué l'éjection. Dans mon exemple ci-dessous, le gestionnaire de tâches était en fait le coupable et j'ai pu l'éjecter après avoir fermé le gestionnaire de tâches.

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.
Jon
la source
3

Vous pouvez démarrer resmon.exe (via WIN + R), accéder au disque> Activité du disque> Trier par fichier. Vous pouvez maintenant voir tous les fichiers en cours d'accès par le système et les processus qui y accèdent, classés par chemin de fichier (qui commence par btw). avec une lettre de lecteur). Peut ne pas fonctionner avec tous les cas, mais c'est une approche simple.

Redémarrer l'ordinateur semble "libérer" l'utilisation de l'appareil. De plus, pour une suppression plus rapide, vous pouvez désactiver la mise en cache Windows sur la section Matériel de votre périphérique. Parfois, Windows mettra plus de temps que prévu à vider le cache sur un disque externe et affichera le message indiquant que le périphérique est en cours d'utilisation (car ce sera le cas). Windows lui-même)

Felype
la source
Similaire à ceci: Dans resmon.exe, dans l'onglet CPU. Faites défiler jusqu'à la zone Poignées associées. Vous y trouverez une zone de recherche des poignées de recherche dans laquelle vous pouvez saisir la lettre du lecteur verrouillé.
Andrew
2

Si vous ouvrez «Poste de travail» et que votre lecteur ne figure pas dans les en-têtes «Stockage amovible», Windows l’affiche en tant que ressource système fixe pour une raison quelconque. Vous devrez démonter toutes les partitions du lecteur.

Si tel est le cas, ouvrez "Gestion de l'ordinateur", puis sélectionnez "Gestion des disques". Cliquez avec le bouton droit de la souris sur chaque partition du périphérique, sélectionnez "Modifier les lettres de lecteur et les chemins d'accès", puis supprimez les lettres de lecteur attribuées à cette partition. Une fois que vous avez agi de la sorte, vous devriez constater que la fonction "éjecter en toute sécurité" fonctionne comme vous le souhaitiez.

utilisateur1575326
la source
1
Cela a fonctionné exactement comme vous l'avez décrit sur mon ordinateur portable sous Windows 7 Home Premium. Je souhaite que le bouton dans Windows utilise le mot "Démonter" au lieu de "Supprimer" (ce qui est inquiétant similaire à "supprimer" dans mon esprit).
steveOw
0

L'USB que Windows a signalé comme étant en cours d'utilisation est le même que tout le monde ici.

Sous Windows 10, Ctrl + Alt + Suppr va dans le Gestionnaire des tâches.

Trouvez en faisant défiler - Explorateur Windows. et mettre en évidence.

En bas à droite est un joli bouton convivial appelé "processus de redémarrage"

Double triple vérification que "Windows Explorer" est la seule chose en surbrillance.

Cliquez avec le bouton gauche de la souris sur le bouton convivial "Processus de redémarrage".

Je n'avais qu'un seul explorateur, d'autres en ont parfois deux. Notez juste sur lequel on revient. Essayez de fermer / éjecter la clé USB. Le mien a bien fonctionné, fermez la clé USB.

Si le vôtre n’est pas éjecté / fermé, c’est probablement l’autre explorateur. Essaie encore et Restat celui-là. Bonne chance.

John Henson
la source
4
Bienvenue au superutilisateur: Veuillez relire attentivement la question. Votre réponse ne répond pas à la question initiale « peut Windows me dire ce que utilise mon lecteur USB? » S'il vous plaît prendre quelques minutes et lire: -. Superuser.com/help .Answering: superuser.com/help/how-to- répondre , encore une fois, bienvenue au super
mic84