Guías/El disco no se expulsa

¿El Mac no expulsa un disco externo? Cómo saber qué lo está usando

Atta 🐬

Fundador de Vitals

Publicado

Respuesta rápida

Un disco no se expulsa mientras algún proceso tenga un archivo o una carpeta abiertos en él. Sal de las apps que lo usaron, cierra las ventanas de Terminal situadas en sus carpetas y vuelve a intentarlo. Si no funciona, ejecuta sudo lsof /Volumes/NAME en Terminal para ver cada proceso que lo retiene, y ciérralos. Spotlight y Time Machine lo sueltan solos, normalmente en menos de un minuto. “Forzar expulsión” es el último recurso, porque un archivo que se está escribiendo puede dañarse. Vitals, un monitor de actividad e inspector de procesos para Mac, muestra cada disco con las apps que tienen archivos abiertos en él, y su “Cerrar y expulsar” las cierra y expulsa el disco cuando lo confirmas.

Cómo saber qué está usando un disco con Terminal

  1. 01 Abre Terminal, en Aplicaciones → Utilidades.
  2. 02 Escribe sudo lsof y un espacio, arrastra el disco desde el Finder a la ventana para completar su ruta y pulsa Retorno.
  3. 03 Introduce tu contraseña. Cada línea es un archivo abierto: la primera columna es el proceso, la segunda su PID y la última el archivo.
  4. 04 Sal de cada app de la lista. Para un proceso sin ventana, ejecuta kill <PID> con su PID.
  5. 05 Vuelve a expulsar el disco en el Finder, o ejecuta diskutil eject con la misma ruta.

Si la lista está vacía y el disco sigue sin expulsarse, espera un minuto y vuelve a intentarlo: puede que macOS esté terminando de escribir. mdutil -s con la ruta del disco dice si la indexación de Spotlight está activada para él.

macOS se niega a expulsar un disco en uso porque desmontarlo con un programa usándolo puede hacer que se pierda lo que ese programa estaba escribiendo. El mensaje del Finder a veces nombra la app y a menudo no. La tabla de abajo relaciona los responsables habituales con lo que hace que cada uno lo suelte.

Qué impide expulsar un disco

Qué lo retieneCómo saberloCómo hacer que lo suelte
Una app con un documento abierto La app está en la lista de lsof, o el Finder la nombra Cierra el documento, o sal de la app
Una ventana de Terminal Una shell como zsh en la lista, con cwd en la columna FD Ejecuta cd ~ en esa ventana, o ciérrala
Spotlight mds o mds_stores en la lista Espera, o añade el disco en Ajustes del Sistema → Spotlight → Privacidad de búsqueda
Time Machine backupd en la lista, o una copia de seguridad en curso en la barra de menús Deja que termine la copia, o elige “Omitir esta copia de seguridad”
Vista Rápida o Vista Previa QuickLookUIService o Preview en la lista Cierra la previsualización, o sal de Vista Previa
Una fototeca o una biblioteca de Música en el disco Photos, photolibraryd o Music en la lista Sal de la app y dale unos segundos a sus procesos auxiliares
Una app que se ejecuta desde el disco La ruta de la propia app está en el disco Sal de la app

Qué significa el mensaje de expulsión

El Finder muestra uno de dos mensajes. “El disco no se ha expulsado porque uno o más programas pueden estar usándolo” significa que algún proceso tiene algo abierto en el disco y macOS no dice cuál. Cuando conoce la app, el mensaje la nombra. En ambos casos, Reintentar es seguro, y “Forzar expulsión” desmonta el disco tenga lo que tenga abierto.

¿Es seguro “Forzar expulsión”?

“Forzar expulsión” desmonta el disco aunque haya programas usándolo. Los archivos que solo se estaban leyendo no sufren daños. Un archivo que se estaba escribiendo puede quedar incompleto, y una biblioteca de Fotos, Música o Final Cut que estaba abierta puede necesitar una reparación la próxima vez que la abras. Úsalo cuando ya hayas encontrado lo que lo retiene y no se cierre, no antes.

Expulsar con Utilidad de Discos o diskutil

Desmontar y Expulsar de Utilidad de Discos siguen la misma regla que el Finder, y fallan igual mientras algo retiene el disco. En Terminal, diskutil eject /Volumes/NAME expulsa un disco y diskutil unmountDisk force /Volumes/NAME lo fuerza, con el mismo riesgo que “Forzar expulsión”.

Cuando nada parece estar usándolo

Cierra la sesión y vuelve a iniciarla, lo que cierra todas tus apps y procesos auxiliares, y luego expulsa. Si funciona, era un proceso auxiliar en segundo plano lo que retenía el disco. Si no, apaga el Mac y desconecta el disco cuando esté apagado: al apagarse, todos los discos se desmontan de forma segura.

Cómo evitar que pase

La mayoría de las expulsiones atascadas vienen de las mismas pocas costumbres.

  • Sal de las apps que abrieron archivos en el disco antes de expulsarlo
  • Mantén las ventanas de Terminal fuera de las carpetas del disco, o ciérralas antes
  • Añade el disco a la Privacidad de búsqueda de Spotlight si nunca buscas en él
  • Deja que termine una copia de Time Machine antes de desconectar su disco

Lo que añade Vitals

Vitals nombra lo que retiene un disco, y lo expulsa por ti.

  • Archivos abiertos, en la pestaña Desarrollo: cada disco con cuántos archivos hay abiertos en él, y “En uso” o “Listo para expulsar”
  • Bajo un disco, cada app y programa que lo retiene, con la carpeta en la que trabaja y los archivos que tiene abiertos
  • “Cerrar y expulsar”: Vitals nombra las apps, pregunta, las cierra como lo hace ⌘Q y luego expulsa el disco
  • Spotlight y Time Machine, nombrados por lo que están haciendo, y nuevos intentos mientras lo sueltan

Conviene saberlo

  • Vitals no fuerza la expulsión. Si una app no se cierra, dice cuál y deja el disco montado.
  • Sin Métricas completas del sistema, los archivos de los procesos del propio macOS quedan fuera, y Vitals dice cuántos.
  • Archivos abiertos está en la ventana, no en el menú desplegable de la barra de menús.
Consigue Vitals por $29 $29 de por vida durante el lanzamiento, $49 después, en un solo pago, con reembolso en 14 días. O $15 por un año de actualizaciones.

Preguntas frecuentes

¿Por qué mi Mac dice que el disco no se ha expulsado porque uno o más programas pueden estar usándolo?

Un proceso sigue teniendo un archivo o una carpeta abiertos en el disco. Puede ser una app, una ventana de Terminal, Spotlight o Time Machine. Ejecuta sudo lsof /Volumes/NAME para ver cuál.

¿Cómo sé qué programa está usando mi disco externo en un Mac?

Ejecuta sudo lsof /Volumes/NAME en Terminal. Cada línea es un proceso y un archivo que tiene abierto en el disco. Vitals muestra lo mismo por app, en Archivos abiertos.

¿Es seguro forzar la expulsión de un disco en un Mac?

Solo si nada está escribiendo en él. “Forzar expulsión” puede dejar un archivo incompleto o una biblioteca que necesite reparación. Encuentra lo que lo retiene y ciérralo antes.

¿Puedo simplemente desconectar el disco?

No mientras esté montado. macOS puede seguir escribiendo, y el disco puede necesitar una reparación después. Expúlsalo, o apaga antes el Mac.

¿Por qué Spotlight está usando mi disco externo?

Spotlight indexa un disco para poder buscar en él. Termina por sí solo. Para impedirlo de forma permanente, añade el disco en Ajustes del Sistema → Spotlight → Privacidad de búsqueda.

¿Hay alguna app que muestre qué impide expulsar un disco?

Vitals. Su sección Archivos abiertos muestra cada disco con las apps que tienen archivos abiertos en él, y “Cerrar y expulsar” las cierra y expulsa el disco tras una confirmación.

En el glosario

Más guías