Deberías poder bloquear el disco de forma fiable (de hecho se trata de dos discos: uno físico y otro lógico) expulsando primero el volumen encriptado y desbloqueado y luego expulsando el disco base que contiene el grupo de volúmenes lógicos:
Por lo general, un montado y desbloqueado diskutil
El listado tiene este aspecto:
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *68.7 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS Macintosh HD 67.9 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *68.7 GB disk1
1: EFI EFI 209.7 MB disk1s1
2: Apple_CoreStorage Encrypted 68.4 GB disk1s2
3: Apple_Boot Boot OS X 134.2 MB disk1s3
/dev/disk2 (internal, virtual):
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS Encrypted +68.0 GB disk2
Logical Volume on disk1s2
AFD60A02-82C4-46B8-B354-6D37E1AEB9CE
Unlocked Encrypted
Disk0 es mi disco de sistema que contiene un volumen de sistema no cifrado en disk0s2. El disco2 es un disco lógico que representa el volumen cifrado. El disco1s2 contiene todos los elementos del Core Storage que representan un volumen encriptado de FileVault2. Partes de los elementos de Core Storage (la Familia de Volúmenes Lógicos y el Volumen Lógico) son el disco2 "lógico".
Si primero expulsa el disco2 y luego el disco1 introduciendo
diskutil eject disk2
diskutil eject disk1
en Terminal.app el Volumen Lógico debe ser bloqueado después. Esto normalmente no separa el disco físicamente (es decir, sigue siendo visible en diskutil list
). Si quiere volver a montar el disco después, simplemente introduzca:
diskutil mountDisk disk1
diskutil cs unlock lvUUID -passphrase passphrase
diskutil mount disk2
Si su disco externo no es autoalimentado o es una unidad de memoria USB, es posible que tenga que descargar y volver a cargar un kext primero:
kextunload /System/Library/Extensions/IOUSBMassStorageClass.kext
seguido por:
kextload /System/Library/Extensions/IOUSBMassStorageClass.kext
para que el disco vuelva a ser visible en diskutil list
.
Si usted tiene un disco interno y una unidad externa encriptada sólo esto es scriptable con facilidad. Puede crear bash script(s) o un servicio Apple script/Automator.
Si tienes varios discos externos conectados al mismo tiempo tienes que detectar y filtrar primero los distintos UUIDs e identificadores de disco.