Por qué Spotlight bloquea la expulsión

La indexación de Spotlight es una de las razones más habituales por las que no puedes expulsar un disco externo. Así es como solucionarlo.

Intentas expulsar tu disco externo y macOS se niega. Abres el Monitor de Actividad y ves procesos llamados mds o mds_stores accediendo a tu disco. Enhorabuena: acabas de conocer la indexación de Spotlight.

Esta es probablemente la razón más habitual por la que los discos externos no se expulsan en Mac. Spotlight quiere indexarlo todo para que puedas buscarlo después, y le da igual que tengas que irte a una reunión en dos minutos.

Qué está haciendo Spotlight realmente

El sistema de indexación de Spotlight funciona mediante varios procesos en segundo plano. El principal es mds (servidor de metadatos), que coordina toda la operación. Luego está mds_stores, que se encarga del almacenamiento real de los metadatos indexados. También podrías ver mdworker o mdworker_shared haciendo el trabajo duro de leer y clasificar tus archivos.

Cuando conectas un disco externo, Spotlight lo trata como un territorio nuevo que explorar. Empieza a escanear cada archivo, a extraer metadatos y a construir un índice de búsqueda. Esto ocurre automáticamente a menos que le hayas dicho explícitamente a Spotlight que deje ese disco en paz.

El problema es que Spotlight mantiene descriptores de archivo abiertos mientras trabaja. Mientras esos descriptores existan, macOS considera el disco «en uso» y no te deja expulsarlo.

Cómo comprobar si Spotlight es el culpable

Abre el Monitor de Actividad (búscalo en Spotlight, irónicamente) y busca estos nombres de procesos: mds, mds_stores, mdworker o mdworker_shared. Si alguno de ellos muestra el nombre de tu disco externo en la información del proceso, Spotlight es tu bloqueador.

También puedes comprobarlo desde Terminal. Ejecuta este comando y sustituye el nombre del disco por el tuyo:

lsof /Volumes/NombreDeTuDisco

Si ves procesos relacionados con mds en la salida, Spotlight está reteniendo tu disco.

La solución rápida: desactivar la indexación temporalmente

La solución más rápida es desactivar la indexación de Spotlight para ese volumen específico:

sudo mdutil -i off /Volumes/NombreDeTuDisco

Tendrás que introducir tu contraseña. Cuando el comando termine, Spotlight libera el disco y deberías poder expulsarlo con normalidad.

Cuando vuelvas a conectar el disco y quieras recuperar la indexación:

sudo mdutil -i on /Volumes/NombreDeTuDisco

La solución permanente: excluir el disco por completo

Si no quieres que Spotlight indexe nunca un disco externo concreto, puedes añadirlo a la lista de privacidad.

Abre Ajustes del Sistema, ve a Siri y Spotlight (o solo Spotlight en versiones anteriores de macOS) y haz clic en «Privacidad de Spotlight» en la parte inferior. Arrastra tu disco externo a esta lista o haz clic en el botón de añadir para incorporarlo.

Spotlight ignora por completo los discos de esta lista. No podrás buscar su contenido desde el menú de Spotlight, pero se expulsarán al instante cada vez.

También hay un truco que usa un archivo oculto. Crea un archivo vacío llamado .metadata_never_index en la raíz de tu disco externo:

touch /Volumes/NombreDeTuDisco/.metadata_never_index

Spotlight busca este archivo y omite la indexación de cualquier volumen que lo tenga. Esto es útil para discos que compartes entre varios Mac, ya que el ajuste viaja con el disco en lugar de almacenarse en cada ordenador.

Cuando Spotlight no suelta

A veces Spotlight se atasca. Has desactivado la indexación, pero los procesos siguen sin liberar el disco. En el Monitor de Actividad, puedes seleccionar el proceso mds problemático y hacer clic en el botón X para forzar su cierre.

Ten en cuenta que forzar el cierre de procesos del sistema puede provocar un comportamiento extraño de forma temporal. Spotlight se reiniciará automáticamente, pero podrías notar pequeñas ralentizaciones o tener que esperar un momento antes de que todo se estabilice.

Si el disco sigue sin expulsarse después de cerrar los procesos de Spotlight, algo más lo está reteniendo también. Vuelve a ejecutar el comando lsof para ver qué queda.

Por qué esto sigue pasando

Cada vez que conectas un disco externo, Spotlight empieza a indexarlo desde cero a menos que lo hayas excluido. Incluso los discos que ya has usado se reindexarán si su índice queda desactualizado o se corrompe.

Las actualizaciones de macOS también pueden restablecer los ajustes de privacidad de Spotlight. Algunos usuarios han informado de que, tras actualizar a una nueva versión de macOS, discos que habían excluido antes volvían a indexarse de repente. Vale la pena revisar tu lista de Privacidad de Spotlight después de las actualizaciones importantes.

Un enfoque más sencillo

Buscar en el Monitor de Actividad y en Terminal cada vez que quieres desconectar un disco se vuelve tedioso enseguida. Ejecta te muestra exactamente qué procesos están bloqueando la expulsión y te permite cerrarlos con un clic. En el caso concreto de Spotlight, identifica los procesos mds relevantes y los gestiona de forma limpia, para que no tengas que adivinar cuál cerrar ni preocuparte por la estabilidad del sistema.

El problema subyacente (que Spotlight indexe agresivamente los discos externos) no va a desaparecer pronto. Pero lidiar con él no tiene por qué ser un proyecto de investigación cada vez que necesitas marcharte con tu disco.

Si prefieres no usar Terminal cada vez, Ejecta te muestra exactamente qué proceso está bloqueando tu disco y te permite cerrarlo con un clic, desde la barra de menú.

Comprar — $9.99