domingo, 22 de octubre de 2017

Cómo encriptar un pendrive en macOS High Sierra utilizando Terminal.

Como resumen, y sin necesidad de que leáis toda la entrada, los tres comandos de Terminal que necesitamos son:
diskutil list
para listar los discos
diskutil eraseDisk JHFS+ “NOMBREDISCO” GPT disk2
para formatear el disco como HFS+ y mapa de particiones GUID
diskutil cs convert disk2s2 -passphrase
para encriptar el disco

MacOS High Sierra y las tablas de particiones.

Tras actualizar a macOS High Sierra me he encontrado con que en esta versión (10.13) la aplicación Utilidad de Discos ha perdido aparentemente la capacidad de encriptar discos externos. Esto es para mi un inconveniente, ya que suelo proteger con contraseña los pendrives en los que guardo ciertos documentos.
En realidad, esta versión de Utilidad de Discos si que puede formatear con encriptación, pero solo si el disco tiene un mapa de particiones GUID (que normalmente utiliza Apple), y los pendrive suelen tener una mapa de particiones MBR (utilizado habitualmente por equipos Windows, pendrives y discos externos). Las antiguas versiones de Utilidad de Discos si que permitían cambiar el tipo de mapa de particiones. Recordad que el mapa de particiones es independiente del tipo de formato; por ejemplo: puedo tener un disco con una o más particiones formateadas como FAT32 (MS-DOS) ó como HFS+, pero el mapa de particiones puede ser GUID o MBR.
Si el pendrive, independientemente del formato, tiene un mapa de particiones MBR, Utilidad de Discos no permite encriptarlo. El problema es, que aunque borremos el disco formateándolo como Mac OS Plus con Registro el mapa de particiones no cambia y sigue siendo MBR. En cambio, si el disco ya dispone de un mapa de particiones GUID, la función de encriptar y de hacer cambios en la tabla de particiones si que aparece disponible.
La solución, de momento, es hacer uso del Terminal.
Como ya he comentado, Utilidad de Discos (en su versión actual), no cambia por tanto el mapa de particiones de MBR a GUID cuando formateamos un disco desde FAT32 (MS-DOS) a HFS+. Pero he encontrado la solución para hacerlo en una ventana de Terminal con línea de comandos gracias a Moritz Petersen en StackExchange donde nos muestra el comando:
diskutil eraseDisk JHFS+ “NOMBREDISCO” GPT disk2
donde hemos de cambiar NOMBREDISCO -conservando las comillas- por el nombre que queramos que tenga la unidad. Veamos todo el proceso paso a paso.
Lo primero, para no liarnos y acabar borrando el disco que no queremos, es conveniente que el pendrive que vamos a formatear sea la única unidad USB conectada al Mac en ese momento.

Abrimos la aplicación Terminal (en la carpeta Utilidades, que a su vez se encuentra dentro de la de Aplicaciones) y escribimos o copiamos-y-pegamos el comando:
diskutil list
… y pulsamos INTRO para que nos aparezca el listado de unidades. El resultado será algo parecido a esto:

Last login: Mon Oct  9 22:04:11 on console
MacBook-Air-de-Nombreusuario:~ nombreusuario$
diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME                   SIZE       IDENTIFIER
0: GUID_partition_scheme      *121.3 GB   disk0
1: EFI EFI                     209.7 MB   disk0s1
2: Apple_APFS Container disk1  121.1 GB   disk0s2

/dev/disk1 (synthesized):
#: TYPE NAME                   SIZE       IDENTIFIER
0: APFS Container Scheme -    +121.1 GB   disk1
   Physical Store disk0s2
1: APFS Volume Macintosh HD     98.3 GB   disk1s1
2: APFS Volume Preboot          18.5 MB   disk1s2
3: APFS Volume Recovery        519.9 MB   disk1s3
4: APFS Volume VM                3.2 GB   disk1s4

/dev/disk2 (external, physical):
#: TYPE NAME                   SIZE       IDENTIFIER
0: FDisk_partition_scheme     *7.8 GB     disk2
1: DOS_FAT_32 NOMBREDISCO      7.8 GB     disk2s1

MacBook-Air-de-Nombreusuario:~ nombreusuario$ 

Las últimas líneas nos muestran la información correspondiente al disk2, que corresponden al pendrive o disco externo que hemos conectado y que tiene formato FAT32. Si el pendrive tuviese formato HFS+ (Mac OS Plus con Registro) las últimas líneas serían:

/dev/disk2 (external, physical):
#: TYPE NAME                   SIZE       IDENTIFIER
0: FDisk_partition_scheme     *7.8 GB     disk2
1: Apple_HFS NOMBREDISCO       7.8 GB     disk2s1

MacBook-Air-de-Nombreusuario:~ nombreusuario$ 

Ahora, para formatear el disco, en Terminal escribimos o copiamos-y-pegamos el comando:
diskutil eraseDisk JHFS+ “NOMBREDISCO” GPT disk2
cambiando nombredisco (incluidas comillas) por el nombre que queramos… y pulsamos INTRO. Tras unos segundos, aparecerá esto:

MacBook-Air-de-Nombreusuario:~ nombreusuario$
diskutil eraseDisk JHFS+ “NOMBREDISCO” GPT disk2
Started erase on disk2
Unmounting disk
Creating the partition map
Waiting for partitions to activate
Formatting disk2s2 as Mac OS Extended (Journaled)
with name “NOMBREDISCO”
Initialized /dev/rdisk2s2 as a 7 GB case-insensitive
HFS Plus volume with a 8192k journal
Mounting disk
Finished erase on disk2

MacBook-Air-de-Miguel:~ mgerique$

Con esto, el disco externo o pendrive ya estaría formateado como Mac OS Plus con Registro y con mapa de particiones GUID. Esto nos permitiría salir del Terminal y abrir Utilidad de Discos, que ahora si, nos dejaría encriptar el disco como se ve en la segunda captura de pantalla de más arriba. Pero, ya puestos ¿porqué no encriptar ya el disco sin salir de Terminal? Sólo es necesario escribir o copiar y pegar el comando:
diskutil cs convert disk2s2 -passphrase
y pulsar INTRO. Tras unos instantes aparecerá una línea en la que se nos pide que escribamos la contraseña que queramos:

MacBook-Air-de-Nombreusuario:~ nombreusuario$
diskutil cs convert disk2s2 -passphrase
New passphrase for converted volume:

Lo que escribamos como contraseña no será visible, pero a continuación volveremos a pulsar INTRO. Ahora se nos pedirá que confirmemos la contraseña, y de nuevo pulsaremos INTRO:

Confirm new passphrase:

Transcurrirán unos segundos, tras los cuales veremos el resultado:

Started CoreStorage operation on disk2s2 “NOMBREDISCO”
Resizing disk to fit Core Storage headers
Creating Core Storage Logical Volume Group
Reviewing boot support loaders
Attempting to unmount disk2s2
Switching disk2s2 to Core Storage
Waiting for Logical Volume to appear
Mounting Logical Volume
Core Storage LVG UUID: 127E02C9-A9BF-420D-A1BE-459340366B0F
Core Storage PV UUID: C4A6D7B7-3F45-4BA9-BB26-A369009B1D5F
Core Storage LV UUID: C43851ED-47EA-4FD7-9437-3D6AF28B1240
Core Storage disk: disk3
Finished CoreStorage operation on disk2s2 “NOMBREDISCO”
Encryption pending

MacBook-Air-de-Nombreusuario:~ nombreusuario$

Si, como al principio, volvemos a listar los discos con diskutil list y pulsamos INTRO veremos lo siguiente:

MacBook-Air-de-Nombreusuario:~ nombreusuario$
diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME                       SIZE       IDENTIFIER
0: GUID_partition_scheme          *121.3 GB   disk0
1: EFI EFI                         209.7 MB   disk0s1
2: Apple_APFS Container disk1      121.1 GB   disk0s2

/dev/disk1 (synthesized):
#: TYPE NAME                       SIZE       IDENTIFIER
0: APFS Container Scheme -        +121.1 GB   disk1
   Physical Store disk0s2
1: APFS Volume Macintosh HD         98.3 GB   disk1s1
2: APFS Volume Preboot              18.5 MB   disk1s2
3: APFS Volume Recovery            519.9 MB   disk1s3
4: APFS Volume VM                    3.2 GB   disk1s4

/dev/disk2 (external, physical):
#: TYPE NAME                       SIZE       IDENTIFIER
0: GUID_partition_scheme            *7.8 GB   disk2
1: EFI EFI                         209.7 MB   disk2s1
2: Apple_CoreStorage “NOMBREDISCO”   7.4 GB   disk2s2
3: Apple_Boot Boot OS X            134.2 MB   disk2s3

/dev/disk3 (external, virtual):
#: TYPE NAME                       SIZE       IDENTIFIER
0: Apple_HFS “NOMBREDISCO”        +7.0 GB     disk3
   Logical Volume on disk2s2
   C43851ED-47EA-4FD7-9437-3D6AF28B1240
   Unlocked Encrypted

MacBook-Air-de-Nombreusuario:~ nombreusuario$

Y esto es todo, ya tenemos el pendrive (o disco externo) encriptado y con contraseña. No se si en versiones posteriores de macOS, Utilidad de Discos volverá a ofrecer las opciones que si tenía en versiones anteriores, pero de momento al menos podemos recurrir a esta solución.
No hay comentarios:

Publicar un comentario