2009-12-24 17:00:39 +0000 2009-12-24 17:00:39 +0000
107
107

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

Étant le bon citoyen que je suis, je clique sur l'icône “Retirer le matériel en toute sécurité” dans ma barre des tâches, et je sélectionne ma clé USB à démonter.

Puis je reçois le message :

Windows ne peut pas arrêter votre périphérique de volume générique parce qu'il est en cours d'utilisation. Fermez tous les programmes ou fenêtres qui pourraient utiliser le périphérique, puis réessayez plus tard.

Bien sûr, étant le système d'exploitation, il sait exactement quelles applications utilisent mon appareil. Alors pourquoi ne me le dit-il pas ?

Ou y a-t-il un moyen de le savoir ?

Réponses (8)

119
119
119
2016-07-18 01:20:26 +0000

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

Étape par étape :

1) Démarrer le visualiseur d'événements

2) Ouvrez “Windows Logs” puis “System”

3) Faites un clic droit sur “System” et choisissez “Filter Current Log”

4) Dans la boîte de dialogue qui s'affiche, entrez “225” (sans les guillemets) où il est écrit “All Event IDs”

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

6) Regardez les horodatages de toutes ces entrées et trouvez celles qui se rapportent au moment réel où vous avez essayé d'éjecter le lecteur.

7) Prenez les mesures qui s'imposent. Terminer une tâche avec grâce (fermer le programme qui a le verrou) est OK la plupart du temps. Arrêter le service de recherche Windows est également correct. L'arrêt d'une analyse antivirus devrait être correct (si vous ne suspectez pas de virus à ce moment-là). Entrer dans le gestionnaire de tâches et tuer le processus peut ne pas être correct. La manière de traiter ce problème dépasse le cadre de cette question.

8) (Enregistrer la vue…) dans le panneau Actions (dans le cadre de droite) vous pourriez “Enregistrer le filtre dans une vue personnalisée…” donc vous le trouverez dans “Vues personnalisées” (dans le cadre de gauche au-dessus des “Journaux Windows”)

ID du processus:

Nom du processus:

8) Si vous n'avez pas d'autre entrée avec un nom de processus, le processus du système (processus id 4) contient votre lecteur. Pour contourner celui-ci, vous devrez aller dans la gestion du disque et mettre hors ligne le lecteur que vous voulez éjecter . 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 garder les poignées sur Chrome Canary via le processus système . Comme vous ne pouvez pas éjecter le disque de démarrage (parce qu'il est en cours d'utilisation), la solution a été d'utiliser un autre utilitaire Sysinternals , appelé Handle . Après avoir fermé le programme qui a le fichier verrouillé, lancez handle et exécutez (à titre d'exemple) handle64 "Chrome SxS\Application\chrome.exe" pour voir si les handles sont toujours présents sur le fichier qui a le verrouillage PID 4. Par essais et erreurs, fermez chaque programme en cours d'exécution, jusqu'à ce qu'il n'y ait plus de handles sur le fichier verrouillé.

Meilleure méthode (payante)

Télécharger et exécuter SafelyRemove . Il vous aide à éjecter le lecteur et, s'il ne peut pas le faire, il affiche les processus qui sont verrouillés :

60
60
60
2009-12-24 17:03:57 +0000

Vous pouvez utiliser Sysinternals Process Explorer pour trouver l'identifiant de tous les fichiers qui sont ouverts. Il suffit de sélectionner le menu Find et de choisir Find Handle or DLL. Dans la boîte de dialogue qui s'ouvre, entrez la lettre du lecteur dans la zone de recherche. Les résultats de la recherche devraient montrer tous les fichiers qui sont ouverts à partir du lecteur et quel processus les a ouverts.

6
6
6
2018-03-09 07:36:41 +0000

Vous pouvez également utiliser la ligne de commande pour interroger le journal Windows , avec wevtutil.exe (depuis Windows 7) en sachant que le Windows Kernel-PnP utilise l'Event ID 225 pour enregistrer le refus du système (ayant toujours le process id 4) de retirer ou d'éjecter le périphérique USB\VID_####&PID_############ (où les # indiquent 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 (par défaut xml)
  • /rd:true : ordre inverse (les plus récentes d'abord)

Je l'utilise dans un script de traitement par lots.

6
6
6
2018-09-07 16:15:11 +0000

Voici une commande PowerShell rapide pour interroger le journal des événements et montrer quelle application bloque l'éjection du disque (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 énumérera toutes les instances de l'heure écoulée où le système n'a pas pu éjecter un 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 é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_557500445301013C111B1A0.
   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_557500445301013C111B1A0.
5
5
5
2016-01-12 12:44:42 +0000

Pour moi (Windows 7).

  1. Appuyez sur la touche Windows
  2. Dans “recherche de programmes et de fichiers : tapez : diskmgmt.msc
  3. Dans la liste de recherche, trouvez l'entrée et cliquez avec le bouton droit de la souris - sélectionnez exécuter en tant qu'administrateur
  4. Saisissez les informations d'identification de l'administrateur pour exécuter "Gestion des disques” (si nécessaire)
  5. Trouvez le lecteur USB en cause qui ne s'éjecte pas dans la liste des disques
  6. Dans le panneau de gauche, cliquez sur le bouton droit de la souris pour sélectionner “Eject
  7. Les poignées “devraient” se fermer - vous pouvez toujours vérifier dans l'explorateur de processus interne au système

Note: _ “Supprimer le matériel et éjecter le média en toute sécurité”_ l'icône de la barre des tâches n'affiche plus le lecteur usb - seulement trois points

  1. Supprimer physiquement le lecteur
3
3
3
2016-12-21 17:48:21 +0000

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

Le redémarrage de l'ordinateur semble “libérer” l'utilisation du périphérique. Pour une suppression plus rapide, vous pouvez également désactiver la mise en cache de Windows dans la section “Matériel” de votre périphérique. Parfois, Windows prend plus de temps que prévu pour vider le cache sur le disque externe et affiche un message indiquant que le périphérique est en cours d'utilisation (parce qu'il le sera, par Windows lui-même)

2
2
2
2016-12-03 20:50:45 +0000

Si vous ouvrez “Mon ordinateur” et que votre disque n'est pas répertorié dans les en-têtes “Stockage amovible”, alors Windows le considère comme une ressource système fixe pour une raison quelconque. Vous devrez démonter toutes les partitions du disque.

Si c'est le cas, ouvrez “Gestion de l'ordinateur”, puis allez dans “Gestion des disques”. Pour chaque partition du périphérique, cliquez avec le bouton droit de la souris sur la partition, sélectionnez “Modifier les lettres et les chemins d'accès du lecteur”, et supprimez toutes les lettres de lecteur affectées à cette partition. Une fois que vous avez fait cela, vous devriez constater que la fonction “éjection en toute sécurité” fonctionne comme vous l'aviez espéré.

0
0
0
2018-03-26 07:53:55 +0000

Il y avait une clé USB que Windows a signalé comme étant utilisée… comme tout le monde ici.

Dans Windows 10, Ctrl+Alt+Del permet d'accéder au gestionnaire des tâches.

Trouver par défilement - Explorateur Windows. et mettre en surbrillance.

En bas à droite se trouve un bouton sympathique appelé “Redémarrer le processus”

Vérifiez trois fois que “Explorateur Windows” est la seule chose mise en évidence.

Cliquez avec le bouton gauche de la souris sur le bouton amical “Redémarrer le processus”.

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

Si le vôtre ne s'éjecte pas, alors c'était probablement l'autre Explorer. Essayez à nouveau et refaites-le. Bonne chance.