El Problema de Expulsión en Mac Que Apple Ha Ignorado Por Años
Los usuarios de Mac llevan quejándose de mensajes de error vagos al expulsar discos desde los tiempos del PowerPC. Apple nunca lo ha arreglado. Esta es la historia de una frustrante decisión de diseño.
Intentas expulsar un disco externo en tu Mac y a veces recibes este mensaje: “El disco no se pudo expulsar porque uno o más programas pueden estar usándolo.”
Uno o más programas. Pueden estar usándolo. No “está usándolo.” No cuáles programas. Solo una acusación vaga de que algo, en algún lugar, podría tener un archivo abierto.
Este mensaje de error ha existido en esencialmente la misma forma por más de quince años. Los usuarios de Mac han estado pidiendo una solución en los foros de soporte de Apple desde al menos la era de Snow Leopard. Las quejas continúan a través de cada versión de macOS: Mountain Lion, Mavericks, Catalina, Monterey, Ventura, Sonoma, Sequoia. El mensaje nunca cambia. Apple nunca lo arregla.
El problema es obvio
Cuando no puedes expulsar un disco, necesitas dos piezas de información: qué proceso lo está bloqueando, y cómo detener ese proceso. macOS no te da ninguna de las dos.
El sistema operativo sabe exactamente qué proceso tiene archivos abiertos en el disco. Tiene que saberlo, porque así es como determina si permitir la expulsión. Pero en lugar de compartir esta información, macOS te da un emoji de encogimiento de hombros en forma de texto.
Compara esto con el comando de Terminal lsof, que lista cada proceso con archivos abiertos en una ruta dada. La información existe. Es accesible. Apple simplemente eligió no ponerla en el diálogo de error.
Lo que los usuarios realmente hacen
Enfrentados a este mensaje de error inútil, los usuarios de Mac han desarrollado un folklore de soluciones alternativas pasadas de publicación en publicación y de comentario en comentario.
Los optimistas esperan e intentan de nuevo, esperando que cualquier proceso misterioso termine por sí solo. A veces esto funciona. A menudo no.
Los técnicamente inclinados abren Terminal y ejecutan lsof /Volumes/NombreDelDisco, luego analizan la salida para identificar culpables. Esto requiere saber que el comando existe, entender cómo leer su salida, y sentirse cómodo terminando procesos.
Los impacientes fuerzan la expulsión y esperan lo mejor. A veces esto está bien. A veces corrompe datos. Sin saber qué está realmente usando el disco, no hay forma de evaluar el riesgo.
Los frustrados simplemente reinician su Mac. Esto definitivamente funciona, pero es absurdo que desconectar un disco requiera reiniciar tu computadora.
¿Por qué Apple no ha arreglado esto?
Solo Apple sabe con certeza, pero algunas teorías:
El diálogo de error necesitaría cambiar, y Apple históricamente evita agregar complejidad a los mensajes dirigidos al usuario. Pero “Safari está usando este disco” no es más complejo que “uno o más programas pueden estar usándolo.” Es más útil.
La lista de procesos bloqueadores podría ser larga o confusa en casos extremos. Cierto, pero mostrar el principal culpable sería infinitamente mejor que no mostrar nada. Y para los casos extremos, un botón de “Mostrar Detalles” es práctica estándar.
La mayoría de los usuarios no se encuentran con este problema con suficiente frecuencia como para quejarse en voz alta. Quizás, pero las Comunidades de Soporte de Apple y los foros de MacRumors están llenos de hilos que se remontan años atrás. El problema está bien documentado.
La respuesta real probablemente es priorización. Apple tiene recursos de ingeniería limitados y este problema, aunque molesto, no impide que la gente use sus Macs. Solo les hace murmurar maldiciones a su pantalla cada pocas semanas.
El problema está empeorando
A medida que el almacenamiento externo se vuelve más común (SSDs USB-C rápidos, discos portátiles para edición de video, discos de respaldo para Time Machine), los usuarios se encuentran con este error más frecuentemente.
macOS también está ejecutando más procesos en segundo plano que acceden a discos externos. Indexación de Spotlight, monitoreo de Time Machine, sincronización de iCloud, varios procesos daemon. El número de posibles bloqueadores ha crecido, pero el mensaje de error sigue siendo igual de vago.
Los usuarios que migran de Macs más antiguos reportan que el problema aparece más a menudo en máquinas con Apple Silicon. Si esto es un cambio de software o solo percepción no está claro, pero las quejas se han intensificado desde la transición al M1.
Existen soluciones de terceros
El hecho de que desarrolladores de terceros hayan construido aplicaciones enteras alrededor de este problema dice algo.
What’s Keeping Me era una utilidad popular que mostraba qué procesos estaban bloqueando un disco. Fue abandonada hace años y ya no funciona en macOS moderno, pero su existencia demostró que había demanda para esta característica.
Varias utilidades de barra de menú y scripts han surgido para llenar el vacío. Algunas monitorean discos y te advierten antes de que ocurran problemas de expulsión. Otras automatizan el flujo de trabajo de lsof para que no tengas que escribir comandos de Terminal.
Estas herramientas no deberían necesitar existir. La funcionalidad que proporcionan es capacidad básica del sistema operativo que Apple eligió no exponer.
Cómo se vería una solución
La solución mínima viable es simple: cambiar el diálogo de error para decir qué proceso está bloqueando la expulsión. “El disco no puede expulsarse porque Spotlight lo está indexando” te dice exactamente qué está pasando. Puedes esperar a que la indexación termine, o puedes cerrar Spotlight, o puedes decidir forzar la expulsión conociendo el riesgo.
Una mejor solución agregaría una opción para cerrar el proceso bloqueador directamente desde el diálogo. “Safari tiene archivos abiertos en este disco. [Cerrar Safari y Expulsar] [Cancelar]” resuelve el problema en un clic sin requerir que los usuarios busquen en el Monitor de Actividad.
La solución ideal sería proactiva: advertir a los usuarios cuando tienen cambios sin guardar en un disco externo, o cuando procesos en segundo plano lo están usando activamente. Dejar que la gente sepa antes de que intenten expulsar y se frustren.
Ninguna de estas es técnicamente difícil. La parte más difícil probablemente es la decisión de producto de hacer el cambio en absoluto.
Por ahora
Apple podría arreglar esto eventualmente. Se les conoce por abordar molestias de larga data cuando las estrellas se alinean. Hasta entonces, las soluciones alternativas siguen siendo las mismas: comandos de Terminal, trabajo de detective en el Monitor de Actividad, o herramientas como Ejecta que hacen el trabajo de detective por ti.
No debería ser tan difícil desconectar un disco. Pero lo es, y lo ha sido por años, y a Apple no parece importarle.
Tired of drive ejection issues?
Ejecta shows you exactly what's blocking your drive and lets you fix it with one click.
Get Ejecta for $14.99