Cómo deshabilitar el montaje automático de USB

Uso VirtualBox en mi MBP y, a menudo, necesito montar mi unidad flash USB dentro del invitado. El problema con el que me encuentro es que el sistema operativo host (OS X Mavericks) monta inmediatamente la unidad flash USB cuando la inserto. Cuando trato de desmontarlo (graciosamente, a través de Finder), OS X se queja de que el dispositivo está en uso. Investigaciones adicionales sobre lsof revelan que Spotlight y AVG están haciendo lo suyo con la unidad flash.

En lugar de jugar con la configuración de la aplicación individual, me gustaría simplemente modificar el comportamiento del sistema operativo host para que el dispositivo USB no se monte automáticamente. ¿Alguna sugerencia?

Si alguien tiene una modificación, genial, pero mientras tanto puedes usar la terminal para forzar un desmontaje. diskutil unmount force disk1s2Además, si elige un sistema de archivos que Spotlight no indexará ni configurará esa unidad para que se excluya en las preferencias de Spotlight, puede reducir ese retraso y sobrecarga con un cambio de configuración rápido.
Le aconsejo que pruebe Disk Arbitrator: apple.stackexchange.com/a/39360/22003 . Esto lo protegerá contra Spotlight, antivirus y ataques.

Respuestas (5)

De acuerdo con el artículo de Topher Kessler en CNET , puede agregar una entrada a /etc/fstabespecificando la noautoopción.

Tal entrada podría verse así:

UUID=791E37B4-82A3-37E7-9F15-3C39359126B4   none  hfs  rw,noauto

El UUID se puede obtener buscando la Volume UUIDlínea que se imprime cuando ejecuta .diskutil info /Volumes/volume name

Tengo este chmod +x (ejecutable) en mi directorio ~/bin/. gist.github.com/voltechs/fc48c9683d50c7c03cab2f0a6477d8da ver también ( apple.stackexchange.com/a/310669/43769 )
eh... /etc/fstab no existe!
Está bien crear el archivo si no existe, pero créelo como root. Por cierto, se recomienda el comando sudo vifsen lugar de la edición directa, y creará el archivo por usted si no existe.

OS X tiene un mecanismo, llamado marco de Arbitraje de disco , a través del cual los programas pueden controlar lo que sucede cuando se insertan o expulsan los discos. También brinda la oportunidad de interceptar un evento de inserción de disco y evitar el comportamiento de montaje automático habitual.

Sin embargo, para cambiar el comportamiento se requiere una utilidad de terceros, ya que el marco de Arbitraje de disco es solo una interfaz de programación. Una buena utilidad es Disk Arbitrator , una herramienta gratuita (con licencia BSD) de Aaron Burghardt.

Captura de pantalla de Disk Arbitrator

Mientras se ejecuta Disk Arbitrator, puede optar por vetar el montaje de discos recién insertados, montarlos como de solo lectura o simplemente dejar que se produzca el montaje automático normal. Después de que Disk Arbitrator sale, se restaura el comportamiento de montaje normal.

Esta aplicación también me brindó mucha más información sobre los volúmenes y el estado (o falla) de las particiones cuando uso la Utilidad de disco de Apple, prácticamente actualiza instantáneamente el estado de montaje frente a las respuestas lentas de la Utilidad de disco. Gracias por compartirlo.

Creo que modificar fstab para desactivar el montaje automático es un poco excesivo para lo que intentas hacer. Es algo así como quitar las puertas de su automóvil porque de vez en cuando necesita entrar o salir.

Para esto, usaría los filtros USB integrados de VirtualBox . Esto le permite montar automáticamente un dispositivo USB en particular al insertarlo. Puede encontrar los filtros USB en el menú "Configuración" de la VM particular a la que desea asignarlo.

Por ejemplo, mis dispositivos USB se enumeran a continuación y están disponibles si deseo conectarlos automáticamente a mi VM con Windows 10 Pro. Puedo conectar mi Seagate FreeAgent Go, o mi SanDisk Cruzer o cualquiera de los dispositivos USB conectados. Sin embargo, conectar el receptor USB de Logitech en última instancia haría que el mouse no funcionara en el host, así que tenga cuidado con lo que conecta.

ingrese la descripción de la imagen aquí,

¿Cómo sé que esto funciona? Bueno, conecté accidentalmente una unidad FreeAgent Go y no se montó (como percibí) en OS X. Vea mi "problema" original: la unidad USB no se monta, no aparece en las Utilidades de disco, pero se encuentra en el Perfil del sistema

Lo hace por número de serie o por UUID (no he investigado lo suficiente como para averiguar cuál), pero tenía varias unidades FreeAgent Go del mismo modelo y tamaño, y solo una se conectaba automáticamente a la máquina virtual. En ese momento, pensé que mi disco se había estropeado.

La conclusión es que el montaje automático aún funcionaba, y pude conectar un dispositivo USB directamente a una máquina virtual sin tener que pasar por la molestia de desmontarlo primero.

Así es como deshabilito el montaje automático de volúmenes APFS en macOS Catalina.

Para los volúmenes de macOS, tanto los volúmenes Macintosh HD - Datacomo el Macintosh HDtipo deben estar referenciados en /etc/fstab.

Encuentre el(los) volumen(es) usando diskutil listy configúrelos en VOLUME_PATHconsecuencia.

# Disable auto mounting of "macOS - Data" volume
VOLUME_PATH="/Volumes/macOS - Data"
VOLUME_UUID=`diskutil info "$VOLUME_PATH" | awk '/Volume UUID:/ { print $3 }'`
cat << EOF | sudo tee -a /etc/fstab
UUID=$VOLUME_UUID none apfs rw,noauto
EOF

# Disable auto mounting of "macOS" volume
VOLUME_PATH="/Volumes/macOS"
VOLUME_UUID=`diskutil info "$VOLUME_PATH" | awk '/Volume UUID:/ { print $3 }'`
cat << EOF | sudo tee -a /etc/fstab
UUID=$VOLUME_UUID none apfs rw,noauto
EOF

Esto es lo que sucede cuando se ejecutan los comandos anteriores:

Establecer VOLUME_PATHvariable en/Volumes/macOS - Data

VOLUME_PATH="/Volumes/macOS - Data"

Establecer VOLUME_UUIDvariable para volumen UUID de /Volumes/macOS - Datavolumen

La ejecución de los diskutil info "$VOLUME_PATH"detalles del volumen de salida /Volumes/macOS - Data(que incluye su UUID).

Canalización ( |) de estos detalles para awk '/Volume UUID:/ { print $3 }'extraer el UUID.

VOLUME_UUID=`diskutil info "$VOLUME_PATH" | awk '/Volume UUID:/ { print $3 }'`

Agregar y enviar a la consola ( UUID=$VOLUME_UUID none apfs rw,noautover tee )/etc/fstab

cat << EOF | sudo tee -a /etc/fstab
UUID=$VOLUME_UUID none apfs rw,noauto
EOF
La pregunta se refiere a la desactivación del montaje automático de unidades USB/externas. Su respuesta podría ser más útil si describe cómo se puede lograr esto (y qué hacen los comandos que propone en general).
Gracias por la respuesta. Estos comandos son para una unidad USB externa que ejecuta una instalación separada de macOS. La misma lógica se aplica a cualquier volumen. Pensé que contribuiría con una alternativa de usuario avanzado a las otras respuestas. Puedo eliminarlo si crees que no agrega valor.
Lo hace, y con el contexto que ha proporcionado en el comentario, entiendo lo que está haciendo el código. Pero tener una unidad externa con particiones Catalina probablemente no sea el caso típico que tienen la mayoría de los usuarios, por lo que tal vez actualizar el script para mostrar cómo funciona para un dispositivo llamado USBSTICK o similar puede hacer que la respuesta sea más útil para las personas que no trabajan con Terminal todos los días.
Además, como detalle menor, se pueden combinar grep/awkenawk '/Volume UUID:/ { print $3 }'
Cool no conocía esta sintaxis. ¡Gracias por compartir!

Encontré una guía oficial en https://discussions.apple.com/docs/DOC-7942 "Evitar que un volumen se monte al inicio"

Las respuestas en Ask Different deben ser algo más que un enlace. Esperamos que las respuestas sean independientes, ya que si su enlace se cae, su respuesta será inútil. Parafrasear la fuente e incluir cualquier información relevante en la respuesta asegurará que siga siendo relevante