4 votos

Montaje de un clon de disco duro externo que comparte los mismos GUIDs de partición que el disco duro de origen/anfitrión

Hace poco el disco duro de mi Macbook empezó a tener badblocks y rápidamente logré hacer un clon del disco con ddrescue en una unidad externa a través de una sesión en vivo de Ubuntu. He clonado con éxito todo sin muchos problemas.

Cuando conecto este disco externo usando Ubuntu puedo acceder a todas las particiones. Pero lamentablemente cuando intento acceder a este disco en el propio MacOS el Apple_CoreStorage la partición no se monta.

Aquí está mi diskutil list de salida:

paulofreitas@Paulos-MacBook-Pro:~$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID\_partition\_scheme                        \*500.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple\_CoreStorage Macintosh HD            499.2 GB   disk0s2
   3:                 Apple\_Boot Recovery HD             650.0 MB   disk0s3

/dev/disk1 (internal, virtual):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple\_HFS Macintosh HD           +498.9 GB   disk1
                                 Logical Volume on disk0s2
                                 F0CA4975-A73D-46D6-92AB-4A4DDF3DFFF7
                                 Unencrypted

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk\_partition\_scheme                        \*2.0 TB     disk2
   1:                  Apple\_HFS Storage                 2.0 TB     disk2s1

/dev/disk3 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID\_partition\_scheme                        \*2.0 TB     disk3
   1:                        EFI EFI                     209.7 MB   disk3s1
   2:          Apple\_CoreStorage                         499.2 GB   disk3s2
   3:                 Apple\_Boot Recovery HD             650.0 MB   disk3s3
   4:                  Apple\_HFS Time Machine            1.5 TB     disk3s4

El disco duro externo es el /dev/disk3 . Las 3 primeras particiones son una copia exacta de /dev/disk0 en el momento en que hice el clon. La última partición La máquina del tiempo se creó posteriormente con el espacio de disco libre que quedó.

No puedo montar /dev/disk3s2 dentro de MacOS aunque puedo hacerlo cuando uso Ubuntu. ¿Me falta algo? ¿Qué debo hacer para montar esta partición?

Actualización

Por lo que he entendido el problema ocurre porque tanto /dev/disk0s2 + /dev/disk3s2 y /dev/disk0s3 + /dev/disk3s3 comparte la misma etiqueta de disco. Mi /Volumes/Macintosh HD lista el propio sistema de archivos del Macbook, es decir, es el /dev/disk1 (de /dev/disk0s2 ).

En realidad, esto sucede porque tanto el GUID GPT del disco como los GUID GPT de las particiones comparten los mismos UUID. Todavía no he encontrado una forma o herramienta para cambiar esos GUIDs de las particiones de forma segura (donde pueda montarlas sin comprometer sus datos).

6voto

klanomath Puntos 19587

He probado tu configuración en una máquina virtual con el mismo resultado: el segundo volumen de CoreStorage no se monta. Clonando un contenedor CoreStorage a otro disco con dd no cambia los UUID de los elementos de CoreStorage. Así que es efectivamente un problema de UUIDs duplicados del Grupo de Volumen Lógico/Volumen Físico/Familia de Volumen Lógico de disk0s2 y disk3s2.

El buenas noticias es: hay una entrada man para una herramienta que puede cambiar los UUID de todos los objetos de metadatos de CoreStorage: man csunique .

Compruebe el identificador de disco del duplicado con diskutil list . En tu ejemplo eso es disco3s2 .

Entonces el comando en tu caso sería:

csunique -v -n /dev/rdisk3s2 #dry-run
csunique -v /dev/rdisk3s2

El malas noticias es: No encuentro el tool/script. Ni está en la ruta ni encuentro un archivo con este nombre en otra parte del disco. He comprobado esto en 10.9/10.10/10.11/Recovery HD buscando en todo el disco incluso dentro de los paquetes con FileBuddy. Una búsqueda en Google no tuvo éxito.


Trabajo en curso

Puede cambiar los diferentes UUIDs manualmente editando el contenido del disco en bruto con una herramienta como HexEdit o wxHexEditor, por supuesto. AFAIR el pvUUID y el lvgUUID se encuentran en el primer bloque de disk3s2. El pvUUID/lvgUUID tiene varias ocurrencias adicionales en el área de metadatos del Grupo de Volumen Lógico de disk3s2. No utilices UUIDs arbitrarios (es decir, hechos por ti mismo) sino que intenta generarlos con uuidgen o en línea con un generador de UUID. Algunos bits del UUID tienen un significado especial y determinan Versión UUID o el algoritmo hash.

Ejemplo:

La salida de la lista diskutil cs del disco original:

diskutil cs list
CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group C451C0F6-32F9-43AB-8E59-42D21AEFF650
    =========================================================
    Name:         SystemCS
    Status:       Online
    Size:         67859718144 B (67.9 GB)
    Free Space:   18948096 B (18.9 MB)
    |
    +-< Physical Volume E46EF8F2-6399-45C1-B213-8628A518466D
    |   ----------------------------------------------------
    |   Index:    0
    |   Disk:     disk0s2
    |   Status:   Online
    |   Size:     67859718144 B (67.9 GB)
    |
    +-> Logical Volume Family AAD268A6-FC66-43FC-A24E-11A1F23CA5DD
        ----------------------------------------------------------
        Encryption Status:       Unlocked
        Encryption Type:         None
        Conversion Status:       NoConversion
        Conversion Direction:    -none-
        Has Encrypted Extents:   No
        Fully Secure:            No
        Passphrase Required:     No
        |
        +-> Logical Volume 50B61719-7CB4-40D9-8AFC-F5CD37C1A66C
            ---------------------------------------------------
            Disk:                  disk3
            Status:                Online
            Size (Total):          67488448512 B (67.5 GB)
            Conversion Progress:   -none-
            Revertible:            Yes (no decryption required)
            LV Name:               SystemCS
            Volume Name:           SystemCS
            Content Hint:          Apple_HFS

El pvUUID (violeta claro) y el lvgUUID (amarillo claro) aparecen en hexadecimal en el primer bloque y en el último bloque de la partición:

1er bloque:

enter image description here

último bloque:

enter image description here

y como texto cada cuatro veces en los últimos 32760 bloques (tamaño de bloque físico de 512 bytes) de la partición en elementos tipo plist.

enter image description here

1voto

Pickle Puntos 2099

Ya que las particiones fueron creadas con Linux, y son accesibles en Linux, ¿por qué no usar Linux para cambiar el UUID erróneo?

Cómo cambiar el UUID de una partición de Linux (adaptar a sus necesidades y valores)

Los UUID duplicados pueden ser un gran problema en su máquina. ¡Pero por suerte es fácil cambiar el UUID de una partición de Linux y puede hacerse en aproximadamente 1-2 minutos!

El UUID de una partición Linux es el U niversalmente U nique ID entifier de esa partición. Yo diría con bastante confianza que en este y en la mayoría de los escenarios, el UUID de la partición Linux tiene más bien un alcance de máquina local.

Este ID se utiliza en algunos lugares para identificar la partición. El más notable es su archivo /etc/fstab, que gestiona el montaje de las particiones en el momento del arranque. Aquí hay un pequeño fragmento del mío

1 # <file system>  <mount point>  <type>  <options>           <dump> <pass>
2 proc            /proc           proc    nodev,noexec,nosuid 0       0
3 # / was on /dev/sdc3 during installation
4 UUID=9467f4de-4231-401f-bcaa-fee718d49e85 /               ext4    errors=remount-ro 0       1
5 # swap was on /dev/sdb1 during installation
6 UUID=aabe7e48-2d11-421f-8609-7ea9d75e7f9b none            swap    sw              0       0

_

¿Por qué hay que cambiar el UUID de una partición?

La razón principal es el choque de identificaciones. Técnicamente la probabilidad de crear 2 UUID's idénticos es muy rara ( leer más sobre la probabilidad de duplicados del UUID aleatorio ). Pero puede haber casos en los que se clone una partición utilizando DD o Clonezilla y el clon reside en la misma máquina - diferente disco duro físico o partición.

La clonación mediante las dos herramientas mencionadas anteriormente creará una copia exacta de la partición hasta el UUID - y ahora tienes 2 particiones con el mismo UUID. Desde el ejemplo de mi /etc/fstab anterior, el UUID ya no es único y montará la primera partición que encuentre con ese UUID.

¿Cómo puedo cambiar el UUID?

Esto no es nada difícil.

  • Primero encuentra la ruta del dispositivo.

Puede encontrar la ruta del dispositivo utilizando el siguiente comando:

sudo blkid

El resultado será algo parecido a esto:

sudo blkid
/dev/sdb1: UUID="aabe7e48-2d11-421f-8609-7ea9d75e7f9b" TYPE="swap" 
/dev/sdc1: UUID="9467f4de-4231-401f-bcaa-fee718d49e85" TYPE="ext4" 
/dev/sdc3: UUID="93a54a4a-e0f5-4152-ae59-2245e8d16ee4" TYPE="ext4"
/dev/sde5: UUID="9467f4de-4231-401f-bcaa-fee718d49e85" TYPE="ext4" 
/dev/sde6: LABEL="var" UUID="30433f28-1b79-4b4d-9985-fef5b1c886b5" TYPE="ext4"

Aquí puedes ver que /dev/sdc1 y /dev/sde5 tienen el mismo UUID. La ruta de la partición que quiero cambiar es /dev/sde5

  • En segundo lugar, generar un UUID

Esto es simple, el siguiente comando mostrará un UUID como el que se muestra a continuación:

uuidgen
f0acce91-a416-474c-8a8c-43f3ed3768f9
  • Finalmente aplique el nuevo UUID a la partición

Este es también otro comando, tune2fs, que aplicará nuestro nuevo UUID a la ruta de nuestro dispositivo:

sudo tune2fs /dev/sde5 -U f0acce91-a416-474c-8a8c-43f3ed3768f9

Hecho, ahora puedes actualizar tu grub para incluir los UUID's correctos para reducir cualquier riesgo de que tu sistema confunda las particiones.

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