diskutil eject: cómo expulsar discos desde la Terminal del Mac
Usa diskutil eject /Volumes/Nombre para expulsar discos desde la Terminal del Mac. Guía completa: listar discos, forzar el desmontaje y matar procesos bloqueantes con lsof.
Finder te dice que el disco está en uso. No te dice qué lo está usando ni qué hacer al respecto. La Terminal hace ambas cosas.
Respuesta rápida: Ejecuta
diskutil eject /Volumes/NombreDeTuDiscopara expulsar un disco desde el Terminal. Si falla, usasudo lsof /Volumes/NombreDeTuDiscopara ver qué está bloqueando la expulsión,kill <PID>para detener el proceso causante y vuelve a expulsarlo. Como último recurso,diskutil unmountDisk force /dev/diskNfuerza la desconexión del disco, pero hazlo solo cuando no haya nada escribiendo en ese momento.
Si te sientes cómodo con la línea de comandos, la Terminal es la forma más poderosa de manejar expulsiones obstinadas en macOS. Y si todavía no te sientes cómodo, estos comandos son un buen lugar para empezar.
Expulsión básica con diskutil eject
La forma más directa de expulsar un disco externo desde la Terminal del Mac:
diskutil eject /Volumes/NombreDeTuDisco
Reemplaza NombreDeTuDisco con el nombre real del disco, exactamente como aparece en Finder. Si el nombre tiene espacios, ponlo entre comillas:
diskutil eject "/Volumes/Mi Disco"
Esto hace lo mismo que hacer clic en el botón de expulsar en Finder. Si funciona, el disco se desmonta limpiamente y listo. Si falla, obtienes un mensaje de error mucho más informativo que el que da Finder.
También puedes desmontar sin expulsar (el disco permanece visible en Utilidad de Discos pero no está montado):
diskutil unmount /Volumes/NombreDeTuDisco
La diferencia importa para discos con varias particiones. unmount quita un volumen. eject quita el dispositivo físico y todos sus volúmenes a la vez.
Encontrar el identificador del disco con diskutil list
Antes de usar comandos más avanzados, necesitas el identificador del disco. Lista todos los discos conectados:
diskutil list
La salida muestra cada disco y sus particiones. Tu disco externo será algo como disk4 o disk5. Los discos internos generalmente son disk0 y disk1.
Para una vista más legible solo de los discos externos:
diskutil list external
Una vez que conoces el identificador, también puedes expulsar usando la ruta /dev/ en lugar del nombre del volumen:
diskutil eject /dev/disk4
Esto es útil cuando el nombre del volumen tiene caracteres inusuales o cuando el volumen no está montado pero el disco sigue conectado.
Cómo expulsar todos los discos externos a la vez
Si necesitas expulsar todos los discos externos en un solo comando, hay dos enfoques.
Usando diskutil para encontrar y expulsar todos los discos externos:
diskutil list external | grep -o 'disk[0-9]*$' | while read disk; do diskutil eject "/dev/$disk"; done
O usando AppleScript desde la Terminal, que reproduce lo que hace Finder:
osascript -e 'tell application "Finder" to eject (every disk whose ejectable is true)'
El enfoque con AppleScript solo expulsa los discos que Finder considera expulsables: omite el disco de arranque y los volúmenes de red, que normalmente es lo que quieres.
Desmontaje forzado cuando diskutil eject falla
Si una expulsión normal falla con un error como «no se pudo desmontar el disco», fuérzala:
diskutil unmount force /Volumes/NombreDeTuDisco
O desmonta todos los volúmenes de un disco específico de una vez:
diskutil unmountDisk force /dev/disk4
El desmontaje forzado le dice a macOS que libere el volumen sin importar qué lo esté usando. Es más controlado que desconectar físicamente el disco (el sistema todavía vacía los cachés y notifica a los procesos), pero no espera a que los procesos cierren los archivos limpiamente.
Usa el desmontaje forzado cuando sepas que nada importante se está escribiendo. Es el equivalente en línea de comandos de forzar la expulsión desde Utilidad de Discos. Lee nuestra guía sobre cuándo es seguro forzar la expulsión y cuándo es arriesgado antes de usar esto en un disco que estaba en uso.
Encontrar qué bloquea la expulsión con lsof
Este es el comando que hace que la Terminal sea invaluable para problemas de expulsión:
lsof /Volumes/NombreDeTuDisco
lsof significa «list open files» (listar archivos abiertos). Muestra cada proceso que tiene un archivo abierto en ese volumen: el nombre del proceso, el ID del proceso (PID), el usuario que lo ejecuta y qué archivo está abierto.
Para resultados completos (incluidos los procesos del sistema), ejecútalo con sudo:
sudo lsof /Volumes/NombreDeTuDisco
Sin sudo, solo ves procesos de tu cuenta de usuario. Procesos del sistema como mds (Spotlight) o backupd (Time Machine) no aparecerán. Con sudo, ves todo lo que realmente está manteniendo abierto el disco.
Leer la salida de lsof
La salida se ve algo así:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mds 123 root 12r REG 1,8 4096 789 /Volumes/MiDisco/.Spotlight-V100/...
Finder 456 aaron 15r DIR 1,8 1024 2 /Volumes/MiDisco
Dropbox 789 aaron 8u REG 1,8 8192 345 /Volumes/MiDisco/Proyectos/.dropbox
Las columnas que más importan:
- COMMAND: el nombre del proceso, que te dice qué está bloqueando la expulsión.
- PID: el ID del proceso, que usarás para matar el proceso si es necesario.
- FD: FD indica cómo se abrió el archivo: r para lectura, w para escritura y u para ambas. No indica la actividad actual ni demuestra que no haya escrituras pendientes en el volumen.
- NAME: el archivo específico al que se accede, que a menudo revela exactamente por qué el proceso está ahí.
Culpables habituales: mds (indexación de Spotlight), backupd (Time Machine), Dropbox, Google Drive, el propio Finder. Mira nuestras guías detalladas sobre Spotlight bloqueando la expulsión y iCloud/Dropbox impidiendo la expulsión para soluciones específicas.
Matar procesos bloqueantes
Cierra las apps compatibles desde la barra de menús. Los procesos del sistema se gestionan por separado y pueden requerir esperar o apagar el Mac. Guarda tu trabajo, termina las copias y los backups y cierra las apps normalmente antes de reintentar la expulsión. Forzar el cierre o la expulsión puede causar pérdida de datos; Ejecta no certifica la seguridad de las escrituras.
kill 789
Esto envía una señal de terminación amable. El proceso tiene oportunidad de cerrar archivos y limpiar. Dale unos segundos para salir y luego intenta expulsar de nuevo.
Si no responde a un kill amable:
kill -9 789
Forzar el cierre es el último recurso. Puede perder trabajo sin guardar o interrumpir escrituras. Guarda primero y espera a que terminen las transferencias. Los nombres de los procesos de Spotlight no demuestran que solo estén leyendo. No fuerces el cierre de mds o mds_stores para liberar un disco. Espera, cierra tus apps e intenta una expulsión normal. Ejecta identifica estos procesos, pero no ofrece el cierre habitual de procesos del sistema. Si el disco sigue bloqueado, guarda todo y apaga completamente el Mac antes de desconectarlo.
Guarda tu trabajo, termina las copias y los backups y cierra las apps normalmente antes de reintentar la expulsión.
Flujo de trabajo completo de solución de problemas
Guarda tu trabajo, termina las copias y los backups y cierra las apps normalmente antes de reintentar la expulsión.
diskutil eject "/Volumes/YourDriveName"
sudo lsof "/Volumes/YourDriveName"
Los nombres de los procesos de Spotlight no demuestran que solo estén leyendo. No fuerces el cierre de mds o mds_stores para liberar un disco. Espera, cierra tus apps e intenta una expulsión normal. Ejecta identifica estos procesos, pero no ofrece el cierre habitual de procesos del sistema. Si el disco sigue bloqueado, guarda todo y apaga completamente el Mac antes de desconectarlo.
El nombre de un proceso o la lista de archivos abiertos no demuestra que no haya escrituras en curso. Guarda tu trabajo, termina las copias y los backups y cierra las apps normalmente antes de reintentar la expulsión. Forzar el cierre o la expulsión puede causar pérdida de datos; Ejecta no certifica la seguridad de las escrituras.
Variaciones de diagnóstico útiles
Verifica si Spotlight en concreto está reteniendo tu disco:
lsof /Volumes/NombreDeTuDisco | grep mds
Lista solo los nombres únicos de los procesos que bloquean la expulsión (sin líneas duplicadas):
lsof /Volumes/NombreDeTuDisco | awk '{print $1}' | sort -u
Observa la E/S de disco en tiempo real para ver si algo está escribiendo activamente:
sudo fs_usage -f diskio | grep NombreDeTuDisco
Esto se ejecuta continuamente y muestra cada operación de disco a medida que sucede. Pulsa Control-C para detenerlo. Úsalo cuando lsof muestre un proceso pero no estés seguro de si está escribiendo activamente o solo manteniendo un descriptor obsoleto.
Cuando la Terminal cuesta más de lo que ahorra
Estos comandos son potentes y, una vez que los has usado unas cuantas veces, se vuelven algo natural. Pero cambiar de contexto, de tu trabajo a una ventana de Terminal, tiene un coste real: ejecutar comandos de diagnóstico, leer la salida técnica, decidir qué PID es seguro matar.
Ejecta: Ejecta ofrece diagnóstico gratuito de discos sin periodo de prueba. La licencia de pago desbloquea el cierre y la expulsión para apps compatibles, Expulsar todo y los controles de Time Machine. Los procesos del sistema pueden requerir esperar, autorización o apagar el Mac. Guarda tu trabajo y termina las transferencias primero.
Sin límite de equipos ni activaciones. Solicita el reembolso en un plazo de 30 días.
Ejecta ofrece diagnóstico gratuito de discos sin periodo de prueba. La licencia de pago desbloquea el cierre y la expulsión para apps compatibles, Expulsar todo y los controles de Time Machine. Los procesos del sistema pueden requerir esperar, autorización o apagar el Mac. Guarda tu trabajo y termina las transferencias primero.
Comprar -Artículos relacionados
Cómo encontrar, abrir y usar un disco duro externo en Mac
Conecta un disco duro externo a tu Mac, encuéntralo en el Finder, abre tus archivos y desconéctalo de forma …
Cómo expulsar un USB en Mac de forma segura
Todas las formas de expulsar una memoria USB en Mac, y qué hacer cuando macOS dice que el disco está en uso y …
Por qué tu Mac se ralentiza cuando hay un disco externo conectado
Conectar un disco externo no debería ralentizar todo el sistema, pero a menudo lo hace. Esto es lo que ocurre …
Entendiendo los permisos de disco en macOS y los discos externos
Los problemas de permisos pueden impedirte acceder, modificar o expulsar discos externos en Mac. Así funcionan …