Guides/Disque impossible à éjecter

Le Mac refuse d’éjecter un disque externe ? Comment trouver ce qui l’utilise

Atta 🐬

Fondateur de Vitals

Publié le

En bref

Un disque ne s’éjecte pas tant qu’un processus y a un fichier ou un dossier ouvert. Quittez les apps qui l’ont utilisé, fermez les fenêtres de Terminal restées dans ses dossiers, et réessayez. Si cela échoue, lancez sudo lsof /Volumes/NAME dans le Terminal pour lister chaque processus qui le retient, et quittez-les. Spotlight et Time Machine le libèrent d’eux-mêmes, généralement en moins d’une minute. Forcer l’éjection est le dernier recours, car un fichier en cours d’écriture peut être endommagé. Vitals, un moniteur d’activité et un inspecteur de processus pour Mac, liste chaque disque avec les apps qui y retiennent des fichiers, et son « Quitter et éjecter » les quitte et éjecte le disque une fois que vous avez confirmé.

Comment trouver ce qui utilise un disque avec le Terminal

  1. 01 Ouvrez le Terminal, dans Applications → Utilitaires.
  2. 02 Tapez sudo lsof suivi d’une espace, puis faites glisser le disque depuis le Finder dans la fenêtre pour insérer son chemin, et appuyez sur Retour.
  3. 03 Saisissez votre mot de passe. Chaque ligne est un fichier ouvert : la première colonne est le processus, la deuxième son PID, et la dernière le fichier.
  4. 04 Quittez chaque app de la liste. Pour un processus sans fenêtre, lancez kill <PID> avec son PID.
  5. 05 Éjectez à nouveau le disque dans le Finder, ou lancez diskutil eject avec le même chemin.

Si la liste est vide et que le disque refuse toujours de s’éjecter, attendez une minute et réessayez : macOS termine peut-être une écriture. mdutil -s avec le chemin du disque indique si l’indexation Spotlight y est activée.

macOS refuse d’éjecter un disque en cours d’utilisation, car le démonter sous un programme peut faire perdre ce que ce programme écrivait. Le message du Finder nomme parfois l’app, et souvent non. Le tableau ci-dessous associe les coupables habituels à ce qui fait lâcher prise à chacun.

Ce qui empêche d’éjecter un disque

Ce qui le retientComment le savoirComment le libérer
Une app avec un document ouvert L’app figure dans la liste de lsof, ou le Finder la nomme Fermez le document, ou quittez l’app
Une fenêtre de Terminal Un shell comme zsh dans la liste, avec cwd dans la colonne FD Lancez cd ~ dans cette fenêtre, ou fermez-la
Spotlight mds ou mds_stores dans la liste Attendez, ou ajoutez le disque dans Réglages Système → Spotlight → Confidentialité de la recherche
Time Machine backupd dans la liste, ou une sauvegarde en cours dans la barre des menus Laissez la sauvegarde se terminer, ou choisissez Ignorer cette sauvegarde
Coup d’œil ou Aperçu QuickLookUIService ou Preview dans la liste Fermez le Coup d’œil, ou quittez Aperçu
Une bibliothèque Photos ou Musique sur le disque Photos, photolibraryd ou Music dans la liste Quittez l’app et laissez quelques secondes à ses utilitaires
Une app qui s’exécute depuis le disque Le chemin de l’app elle-même est sur le disque Quittez l’app

Ce que veut dire le message d’éjection

Le Finder affiche l’un de deux messages. « Le disque n’a pas été éjecté, car un ou plusieurs programmes sont peut-être en train de l’utiliser » signifie qu’un processus a quelque chose d’ouvert sur le disque, et que macOS ne dit pas lequel. Quand il connaît l’app, le message la nomme. Dans les deux cas, Réessayer est sans risque, et Forcer l’éjection démonte le disque quoi qu’il y ait d’ouvert.

Forcer l’éjection est-il sans risque ?

Forcer l’éjection démonte le disque sous les programmes qui l’utilisent. Les fichiers qui étaient seulement lus ne risquent rien. Un fichier en cours d’écriture peut rester incomplet, et une bibliothèque Photos, Musique ou Final Cut ouverte peut avoir besoin d’une réparation à sa prochaine ouverture. Servez-vous-en une fois que vous avez trouvé ce qui retient le disque et qu’il refuse de quitter, pas avant.

Éjecter avec Utilitaire de disque ou diskutil

Démonter et Éjecter dans Utilitaire de disque suivent la même règle que le Finder, et échouent de la même façon tant que quelque chose retient le disque. Dans le Terminal, diskutil eject /Volumes/NAME éjecte un disque et diskutil unmountDisk force /Volumes/NAME force l’opération, avec le même risque que Forcer l’éjection.

Quand rien ne semble l’utiliser

Fermez votre session et rouvrez-la, ce qui quitte toutes vos apps et tous vos utilitaires, puis éjectez. Si cela marche, c’était un utilitaire en arrière-plan qui retenait le disque. Sinon, éteignez le Mac et débranchez le disque une fois le Mac éteint : l’extinction démonte tous les disques sans risque.

Comment éviter que cela se reproduise

La plupart des éjections bloquées viennent des mêmes quelques habitudes.

  • Quittez les apps qui ont ouvert des fichiers sur le disque avant de l’éjecter
  • Ne laissez pas de fenêtres de Terminal dans les dossiers du disque, ou fermez-les d’abord
  • Ajoutez le disque à la Confidentialité de la recherche de Spotlight si vous n’y cherchez jamais rien
  • Laissez une sauvegarde Time Machine se terminer avant de débrancher son disque

Ce que Vitals apporte

Vitals nomme ce qui retient un disque, et l’éjecte pour vous.

  • Fichiers ouverts, dans l’onglet Développement : chaque disque avec le nombre de fichiers qui y sont ouverts, et Utilisé ou Prêt à éjecter
  • Sous un disque, chaque app et chaque programme qui le retient, avec le dossier où il travaille et les fichiers qu’il a ouverts
  • Quitter et éjecter : Vitals nomme les apps, demande, les quitte comme le fait ⌘Q, puis éjecte le disque
  • Spotlight et Time Machine nommés d’après ce qu’ils font, avec de nouveaux essais le temps qu’ils se libèrent

Bon à savoir

  • Vitals ne force pas l’éjection. Si une app refuse de quitter, il dit laquelle et laisse le disque monté.
  • Sans Mesures système complètes, les fichiers des processus de macOS sont laissés de côté, et Vitals indique combien.
  • Fichiers ouverts est dans la fenêtre, pas dans le menu déroulant de la barre des menus.
Obtenir Vitals pour $29 $29 à vie pendant le lancement, $49 ensuite, payé une fois, avec remboursement sous 14 jours. Ou $15 pour un an de mises à jour.

Questions fréquentes

Pourquoi mon Mac dit-il que le disque n’a pas été éjecté, car un ou plusieurs programmes sont peut-être en train de l’utiliser ?

Un processus a encore un fichier ou un dossier ouvert sur le disque. Ce peut être une app, une fenêtre de Terminal, Spotlight ou Time Machine. Lancez sudo lsof /Volumes/NAME pour savoir lequel.

Comment savoir quel programme utilise mon disque externe sur un Mac ?

Lancez sudo lsof /Volumes/NAME dans le Terminal. Chaque ligne est un processus et un fichier qu’il a ouvert sur le disque. Vitals montre la même chose par app, dans Fichiers ouverts.

Forcer l’éjection d’un disque sur un Mac est-il sans risque ?

Seulement si rien n’y écrit. Forcer l’éjection peut laisser un fichier incomplet ou une bibliothèque à réparer. Trouvez d’abord ce qui retient le disque et quittez-le.

Puis-je simplement débrancher le disque ?

Pas tant qu’il est monté. macOS est peut-être encore en train d’écrire, et le disque peut ensuite avoir besoin d’une réparation. Éjectez-le, ou éteignez d’abord le Mac.

Pourquoi Spotlight utilise-t-il mon disque externe ?

Spotlight indexe un disque pour qu’on puisse y faire des recherches. Il finit tout seul. Pour l’arrêter définitivement, ajoutez le disque dans Réglages Système → Spotlight → Confidentialité de la recherche.

Existe-t-il une app qui montre ce qui empêche d’éjecter un disque ?

Vitals le fait. Sa section Fichiers ouverts liste chaque disque avec les apps qui y retiennent des fichiers, et Quitter et éjecter les quitte et éjecte le disque après confirmation.

Dans le lexique

Autres guides