Hice algo estúpido. Corrí (algo así como) diskutil partitionDisk /dev/disk2 GPT HFS+ newdisk
contra el disco incorrecto. Fue uno de esos momentos en los que te das cuenta de lo que has hecho, mientras lo haces. Por lo tanto, solo se ejecutó (literalmente) alrededor de 0,25 segundos, o menos, antes de que finalice ( ^c
), como si todo fuera parte de un solo movimiento. Pero fue lo suficientemente largo como para destruir la tabla de particiones existente.
testdisk
Pensé que sería capaz de recuperar la tabla de particiones GUID original con testdisk
, pero aparentemente no. Tal vez porque no solo se dañó o borró, sino que ya se sobrescribió con una tabla de partición GUID, una etiqueta de volumen, etc. completamente nueva. No estoy seguro, no escribí el software ni lo estudié de forma exhaustiva.
photorec
Los datos se mantuvieron prácticamente intactos (si no completamente), y se recuperaron fácilmente en un disco separado con photorec
. Aunque no es como si nada hubiera pasado, porque todos los nombres de archivos y la estructura de directorios están bloqueados. Quiero decir, estoy agradecido, pero realmente no puedo recatalogar 2 TB de archivos variados. Si fuera un proyecto o algo donde necesitaba extraer algunos archivos, sería una bendición, pero este es mi dropbox perpetuo donde acumulo ... todo.
Por lo tanto, los datos obviamente están todavía allí, pero los punteros se han ido. ¿Hay una mejor manera de salir de esta situación? Creo que debe haberla, pero en esta etapa no sé lo suficiente sobre los entresijos del almacenamiento de datos para hacerlo, o incluso para articularlo realmente. Mis ideas al respecto.
addendum
PD: no voy a decirte lo que puedes y no puedes hacer, pero ten cuidado si vas a copiar / pegar comandos como estos. Eso es lo que me pasó, no podía recordar la sintaxis exacta, así que la copié de una de las preguntas / respuestas aquí en Stack Exchange, con la intención de modificarla para que se ajuste a mis necesidades. El problema es que esto incluía el carácter invisible de nueva línea / salto de línea al final del cuadro de texto formateado, lo que hace que el comando se ejecute tan pronto como se pegue en un shell. Además, diskutil
generalmente no requiere privilegios elevados. Así que no hay advertencia, no se avisa, simplemente sucede.