Para determinar lo que está mal con sus discos duros o volúmenes, primero tiene que obtener una visión general. Las mejores herramientas para conseguirlo son diskutil
y gpt
- ambas herramientas de línea de comandos que deben ejecutarse en Terminal.app.
Abre Terminal.app y entra:
diskutil list
Para ejecutar un comando siempre hay que introducir el Enter clave.
El comando anterior dará como resultado algo así (dependiendo del número de discos de su Mac):
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS Macintosh HD 499.2 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk1
1: EFI EFI 209.7 MB disk1s1
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk2
2: Microsoft Basic Data tower 1 1.0 TB disk2s2
El ejemplo muestra lo siguiente:
- El disco0 es su unidad de sistema que contiene una partición EFI (disco0s1), su volumen de sistema principal "Macintosh HD" (disco0s2) y un volumen de recuperación (disco0s3). Todos los tamaños de las particiones (0,2 GB + 499 GB + 0,7 GB) suman el tamaño total del disco (500 GB)
- disk1 es una unidad de 1 TB que sólo contiene una EFI con un tamaño de 200 MB y con 999,8 GB de espacio vacío
- disk2 es una unidad de 1 TB que contiene un volumen de 1 TB probablemente formateado en FAT32, ExFAT o NTFS
Ahora se puede deducir que el volumen que falta torre 2 que una vez residió en el disco1.
Después de un reinicio, se pueden intercambiar los identificadores del segundo y del tercer disco. Por lo tanto, ejecute siempre diskutil list
¡antes de manipular las tablas de partición!
Para ver más de cerca el disco1 utiliza gpt
:
sudo gpt -r show /dev/disk1
Esto revelará:
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 1953115495
1953525135 32 Sec GPT table
1953525167 1 Sec GPT header
Esto significa:
- El disco tiene una tabla de partición GUID (GPT)
- La primera partición (índice = 1) es una partición de tipo EFI (C12A7328-F81F-11D2-BA4B-00A0C93EC93B), que comienza en el bloque 40 y tiene un tamaño de 409600 bloques (~209,7 MB)
- A partir del bloque 409640 1953115495 bloques (~1 TB) del disco no están asignados a una partición.
Puede suponer que su partición "perdida" (con el nombre de volumen torre 2 ) residieron aquí en su día.
Después de añadir una partición hay que formatearla y crear un sistema de archivos. El sistema de archivos puede ser (además de otros): HFS+, ExFAT o NTFS
Si conoce el sistema de archivos anterior puede continuar restaurando una partición. Si no conoce el sistema de archivos puede determinarlo buscando las cabeceras típicas del sistema de archivos.
Para determinar un volumen HFSJ anterior utilice:
sudo hexdump /dev/disk1 | grep "48 46 53 4a"
Esto buscará la cadena "HFSJ" en su disco raw. Después de obtener los primeros resultados, simplemente introduzca ctrlC para abortar el comando.
En tu tipo de disco deberías obtener los siguientes resultados:
c805400 48 2b 00 04 80 00 20 00 48 46 53 4a 00 00 01 ff
ca13e00 48 2b 00 04 80 00 20 00 48 46 53 4a 00 00 01 ff
ca40e00 48 2b 00 04 80 00 20 00 48 46 53 4a 00 00 01 ff
...
Aquí la línea importante es la primera: c805400 48 2b 00 04 80 00 20 00 48 46 53 4a 00 00 01 ff
siendo c805400 el desplazamiento en hexadecimal. Convertido con un servicio hex2dec esto significa un offset de Byte 209736704 (dividiendo esto por 512 Bytes/bloque, el resultado es igual al bloque 409642). Normalmente el tercer bloque de un volumen HFSJ contiene la cadena "HFSJ". Así que ha encontrado el comienzo de un volumen HFSJ: el bloque 409640 ( BloqueF ).
El final de un volumen HFSJ se puede encontrar en consecuencia porque el 3er bloque contiene la última ocurrencia HFSJ:
sudo hexdump -s 930g /dev/disk1 | grep "48 46 53 4a"
La opción -s significa: Omitir los bytes de desplazamiento desde el principio de la entrada.
Con el último desplazamiento (y haciendo las cuentas como arriba) se puede determinar el último bloque ( BloqueL) del volumen HFSJ anterior simplemente añadiendo 2 bloques. El tamaño del volumen HFSJ es entonces (BloqueL-BloqueF).
Con todos los datos necesarios reunidos, ahora puede intentar restaurar el volumen perdido torre 2 con el sudo gpt add ...
comando.
Para añadir una entrada de partición hay que ejecutar:
sudo gpt add -i number -b number -s number -t type diskX
con
- -i número de índice
- -b número del primer bloque
- -tamaño en bloques
- -t tipo de partición
No sé ni el primer desplazamiento ni el segundo desplazamiento de su volumen torre 2 pero el comando siguiente puede funcionar y los tamaños introducidos son probablemente los predeterminados:
sudo gpt add -2 -b 409640 -s 1952443704 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk1
Después de añadir esta entrada en la tabla de particiones, el volumen debería montarse automáticamente.
Comprueba el disco y el volumen con:
diskutil verifyDisk disk1
diskutil verifyVolume disk1s2
Si es necesaria una reparación, utilice el "prefijo" de reparación en lugar de verificar.
Si tiene alguna duda o no encuentra la cadena "HFSJ", añada un comentario con @klanomath ¡!