3 votos

No se puede ver la partición HDD externa en la Utilidad de Discos

Tengo una TB de disco duro externa dividido en 2 particiones:

Primera partición: 280 GB
Segunda partición: 1720 GB

Inicialmente, ambas particiones se NTFS.

Entonces, que el formato de la primera partición de mac os Extended FS, y luego a FAT32, y la segunda partición desaparecido. Yo no lo puedan ver en Utilidades de Disco ni en Paragon NTFS 15.

He tratado de revertir primera partición a NTFS, pero el segundo aún no se muestra... ¿Qué debo hacer?

aquí está el resultado de diskutil list

~ diskutil list
  /dev/disk0 (internal, physical):
     #:                       TYPE NAME                    SIZE       IDENTIFIER
     0:      GUID_partition_scheme                        *250.1 GB   disk0
     1:                        EFI EFI                     209.7 MB   disk0s1
     2:                 Apple_APFS Container disk1         249.8 GB   disk0s2

  /dev/disk1 (synthesized):
     #:                       TYPE NAME                    SIZE       IDENTIFIER
     0:      APFS Container Scheme -                      +249.8 GB   disk1
                                   Physical Store disk0s2
     1:                APFS Volume Macintosh HD            119.9 GB   disk1s1
     2:                APFS Volume Preboot                 20.5 MB    disk1s2
     3:                APFS Volume Recovery                503.9 MB   disk1s3
     4:                APFS Volume VM                      5.4 GB     disk1s4

  /dev/disk2 (external, physical):
     #:                       TYPE NAME                    SIZE       IDENTIFIER
     0:     FDisk_partition_scheme                        *2.0 TB     disk2
     1:               Windows_NTFS HDD1                    228.4 GB   disk2s1

Aquí está el resultado de sudo fdisk /dev/disk2

~ sudo fdisk /dev/disk2
    Disk: /dev/disk2    geometry: 243201/255/63 [3907029167 sectors]
    Signature: 0xAA55
             Starting       Ending
     #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
    ------------------------------------------------------------------------
    *1: 07 1023 254  63 - 1023 254  63 [    206848 -  446126158] HPFS/QNX/AUX
     2: 00    0   0   0 -    0   0   0 [         0 -          0] unused      
     3: 00    0   0   0 -    0   0   0 [         0 -          0] unused      
     4: 00    0   0   0 -    0   0   0 [         0 -          0] unused      

EDITAR:

$ sudo dd if=/dev/disk2 bs=512 skip=446333006 count=150000000 | grep -o -a -b "BOOTMGR"

71010552671:BOOTMGR
71010552692:BOOTMGR
150000000+0 records in
150000000+0 records out
76800000000 bytes transferred in 11355.441546 secs (6763277 bytes/sec)

3voto

klanomath Puntos 19587

David la respuesta ya explica lo que probablemente sucedió a su unidad. Accidentalmente con particiones de la unidad en lugar de borrar solo volumen.

De acuerdo a su declaración, en la unidad contiene dos particiones previamente:

  • Primera partición: 280 GB
  • Segunda partición: 1720 GB

Después de volver a particionar el disco sólo una partición es la izquierda:

  • Primera y única partición: 228.4 GB

Esto probablemente significa que la segunda partición no fue afectado sólo la entrada en el MBR fue eliminado.

Usted debe ser capaz de recuperar la partición mediante la adición de una segunda partición en el MBR.

Para detectar los antiguos límites de la partición perdida tienes que buscar cadenas específicas en el disco que determinar el primer y el último bloque de un (ex) volumen NTFS.

Las cadenas específicas son NTFS o BOOTMGR/bootmgr.

El contenido del bloque depende de su configuración regional, por lo que la búsqueda para "BOOTMGR es comprimido" (se encuentra en inglés Partición NTFS en el Sector de Arranque) no es necesariamente el éxito. "BOOTMGR" (inglés/alemán) o "bootmgr" (español/francés?) debería funcionar, aunque. Yo no he probado la no-latina los sistemas Windows.

Ejemplos

Primer bloque de un alemán de volumen NTFS:

enter image description here

Último bloque de un alemán de volumen NTFS:

enter image description here

Esto se puede hacer por dd ing el dispositivo a grep.

Ejemplo:

$ sudo dd if=/dev/disk2 bs=512 skip=2048 count=512 | grep -o -a -b "BOOTMGR"    
421:BOOTMGR
512+0 records in
512+0 records out
262144 bytes transferred in 0.010566 secs (24810155 bytes/sec)

La explicación del comando:

Copia /dev/disk2 con un tamaño de bloque de 512 Bytes a stdout, pero omitir el primer 2048 bloques de disk2 y parada después de (otro) 512 bloques, la tubería de grep, el tratamiento de la salida de texto, búsqueda para "BOOTMGR" y, finalmente, mostrar el desplazamiento de byte(s) de la coincidencia de patrón en frente de los respectivos igualó la línea.

En el caso de que el resultado 71010552671:BOOTMGR de sudo dd if=/dev/disk2 bs=512 skip=446333006 count=150000000 | grep -o -a -b "BOOTMGR"significa:

El desplazamiento de byte es 71010552671 Byte después de que el último bloque (bloque de 446333006) de las actualmente existentes en el HDD1 volumen en disk1. En los bloques que la relativa bloque 138692486 o el bloque absoluta (446333006 + 138692486) = 585025492.

Esto significa dos cosas:

  1. Su anterior partición 1, probablemente, tenía un tamaño de ~ 299 GB (= ~278 GiB) en lugar de 280 GB
  2. Las particiones no están debidamente alineadas a bloques de 4 kb, porque ni 446333006 ni 585025492 son divisibles por 8

El último bloque del desaparecido volumen NTFS se puede esperar en los últimos 10.000 bloques de disk2. El comando apropiado para la búsqueda de que es entonces

sudo dd if=/dev/disk2 bs=512 skip=3907019167 count=10000 | grep -o -a -b "BOOTMGR"

Con el resultado de este comando usted puede determinar el último bloque del desaparecido partición 2.

Con el primer bloque y el último bloque se puede agregar a los perdidos de la partición con fdisk en el MBR.

Para comprobar el tamaño puede extraer el tamaño de la partición en sectores, en el sector de inicio de partición en el desplazamiento 0x028 y el campo de longitud de 8 Bytes y el tamaño de sector en el desplazamiento 0x0B y la longitud de campo de 2 Bytes.

En las capturas de pantalla de ejemplo de arriba, que la FF E7 DF E8 00 00 00 00 (= 3906988031+1) y 00 02 (= 512 Bytes).

El diskutil info de salida para el ejemplo de volumen (visible en la pantalla) es:

...
Disk Size:                2.0 TB (2000377872384 Bytes) (exactly 3906988032 512-Byte-Units)
Device Block Size:        512 Bytes
...

2voto

David Anderson Puntos 2189

Sólo hay una partición en su disco duro externo. Sospecho que en lugar de borrar la primera partición, borrado toda la unidad. Pero si esto fuera cierto, entonces la nueva partición se extendería por toda la unidad. Así que en este punto, sería mejor intentar y encontrar la partición que falta.

La función correcta para encontrar el encabezado de una falta de particiones NTFS es la siguiente. Para utilizar esta función, primero deberá copiar esta función y, a continuación, pegar como un comando en un Terminal de la ventana de la aplicación.

findntfs() { sudo bash -c "for i in {$1..$2};do xxd -a -s \$[\$i*1000000] -l 1000000 $3|fgrep -a -b 'NTFS    ';echo -en '\r'\$i:;done";echo done;}

A continuación es un ejemplo de su uso. Yo tengo 4 GB formateada en NTFS unidad flash. La salida de sudo fdisk /dev/disk1 , es la siguiente.

Disk: /dev/disk1    geometry: 968/128/63 [7811072 sectors]
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: 07    1   0   1 -  967  81  18 [      8064 -    7803008] HPFS/QNX/AUX
 2: 00    0   0   0 -    0   0   0 [         0 -          0] unused      
 3: 00    0   0   0 -    0   0   0 [         0 -          0] unused      
 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused      

Desde la unidad de memoria flash contiene 7811072 sectores y el tamaño de sector es 512 bytes, el tamaño de la unidad es exactamente 3999268864 bytes, que es el producto de los dos números. Si quería buscar toda la unidad flash para una partición NTFS, yo tendría que buscar desde 0 MB a 3999 MB de datos. Un ejemplo del uso de findntfs para ello se muestra a continuación.

Marlin:~ davidanderson$ findntfs 0 3999 /dev/disk1
Password:
3:70:003f0000: eb52 904e 5446 5320 2020 2000 0208 0000  .R.NTFS    .....
3998:1125334:ee5ffe00: eb52 904e 5446 5320 2020 2000 0208 0000  .R.NTFS    .....
3999:done
Marlin:~ davidanderson$ 

Nota: cuando esta función está ejecutando, usted verá que los valores sean actualizados. Esta es la actual megabyte que está siendo buscado. A partir de estos valores, se puede determinar el progreso de la búsqueda.

La importancia de la información para extraer de esta salida son los valores hexadecimales 003f0000 y ee5ffe00. Estos valores son el desplazamiento en bytes para el primer y el último sectores de la partición NTFS.

A continuación es el de calcular el valor del byte de la ubicación de la primera del sector basado en el valor que se muestra de la salida de la fdisk.

8064 * 512 = 4128768 = 0x3F0000

A continuación es el de calcular el valor del byte de la ubicación de la última sector basado en el valor que se muestra de la salida de la fdisk.

(8064 + 7803008 - 1) * 512 =  3999268352  = 0xEE5FFE00

Ambos de estos valores coinciden con la salida de findntfs.

En su caso, sugiero que se busca el principio de la partición que falta en algún lugar alrededor de 270 GB a 290 GB. Para ello, el comando sería como se muestra a continuación.

findntfs 270000 290000 /dev/disk2

Por supuesto, esto puede tomar un tiempo. Si te sientes con suerte, usted puede tratar de refinar tu búsqueda.

Yo sugeriría buscando el final de su partición que falta en algún lugar alrededor de 1980398 GB a 2000398 GB. Para ello, el comando sería como se muestra a continuación.

findntfs 1980398 2000398 /dev/disk2

La siguiente función se ve en el sector y se imprime el número de sectores ocupados por el candidato de la partición NTFS. La entrada es el desplazamiento de la partición en bytes y el nombre de la unidad.

ntfssectors() {(n=$(sudo hexdump -e '1/8 "%u"' -s $((0x$1+40)) -n 8 $2); echo $(($n+1)))}

A continuación un ejemplo donde se usa esta función.

Nota: La entrada se supone que para ser hexadecimal.

Marlin:~ davidanderson$ ntfssectors2 003F0000 /dev/disk1
7803008
Marlin:~ davidanderson$ ntfssectors2 ee5ffe00 /dev/disk1
7803008
Marlin:~ davidanderson$ 

La salida de ambas funciones es el mismo que el de fdisk.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X