4 votes

Montage d'un clone de disque dur externe qui partage les mêmes GUID de partition que le disque dur source/hôte.

Récemment, le disque dur de mon Macbook a commencé à avoir des blocages et j'ai rapidement réussi à faire un clone du disque avec ddrescue sur un disque externe via une session Ubuntu live. J'ai réussi à tout cloner sans trop de problèmes.

Lorsque je branche ce disque externe en utilisant Ubuntu, je peux accéder à toutes les partitions. Mais malheureusement, lorsque j'essaie d'accéder à ce disque sur MacOS lui-même, l'accès est refusé. Apple_CoreStorage La partition ne se monte pas.

Voici mon diskutil list sortie :

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

Le disque dur externe est le /dev/disk3 . Les 3 premières partitions sont une copie exacte de /dev/disk0 au moment où j'ai fait le clone. La dernière partition La machine à remonter le temps a ensuite été créé avec l'espace disque libre restant.

Je ne peux pas monter /dev/disk3s2 dans MacOS bien que je puisse le faire en utilisant Ubuntu. Est-ce que quelque chose m'échappe ? Que dois-je faire pour monter cette partition ?

Mise à jour

D'après ce que j'ai compris, le problème se produit parce que les deux /dev/disk0s2 + /dev/disk3s2 et /dev/disk0s3 + /dev/disk3s3 partage la même étiquette de disque. Mon /Volumes/Macintosh HD liste le système de fichiers du Macbook lui-même, c'est-à-dire que c'est le /dev/disk1 (de /dev/disk0s2 ).

En fait, cela se produit parce que les GUID GPT du disque et les GUID GPT des partitions partagent les mêmes UUID. Je n'ai toujours pas trouvé de moyen ou d'outil pour changer les GUIDs de ces partitions en toute sécurité (où je peux les monter sans compromettre leurs données).

1 votes

Le problème ici n'est pas une étiquette de disque mais les UUIDs identiques de volume et de lvg/pv/lvf/lv.

0 votes

@klanomath Hmm, cela a beaucoup de sens. Savez-vous si l'on peut utiliser en toute sécurité sgdisk -G (d'Ubuntu) pour résoudre ce problème ? Je n'ai jamais utilisé sgdisk et je ne sais pas si on peut l'utiliser sans compromettre les données de la partition. Cela réglerait probablement le problème :)

1 votes

Pour l'instant, sgdisk ne peut pas gérer les conteneurs CoreStorage et leurs différents UUID.

6voto

klanomath Points 63400

J'ai testé votre configuration dans une machine virtuelle et j'ai obtenu le même résultat : le deuxième volume CoreStorage ne peut pas être monté. Le clonage d'un conteneur CoreStorage sur un autre disque avec la fonction dd ne modifie pas les UUID des éléments du CoreStorage. Il s'agit donc bien d'un problème de duplication des UUID du groupe de volumes logiques/volumes physiques/familles de volumes logiques/volumes logiques de disk0s2 et disk3s2.

El bonne nouvelle est : il y a une entrée de manuel pour un outil qui peut changer les UUIDs de tous les objets de métadonnées de CoreStorage : man csunique .

Vérifiez l'identifiant de disque du double avec diskutil list . Dans votre exemple, c'est disque3s2 .

Alors la commande dans votre cas serait :

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

El mauvaises nouvelles est : Je ne trouve pas l'outil/script. Il n'est pas dans le chemin et je ne trouve pas de fichier de ce nom ailleurs sur le disque. J'ai vérifié cela dans 10.9/10.10/10.11/Recovery HD en cherchant sur tout le disque même à l'intérieur des paquets avec FileBuddy. Une recherche sur Google n'a rien donné.


Travaux en cours

Vous pouvez modifier les différents UUID manuellement en éditant le contenu brut du disque avec un outil comme HexEdit ou wxHexEditor bien sûr. AFAIR, le pvUUID et le lvgUUID sont situés dans le premier bloc de disk3s2. Le pvUUID/lvgUUID a plusieurs occurrences supplémentaires dans la zone de métadonnées du groupe de volumes logiques de disk3s2. N'utilisez pas d'UUID arbitraire (c'est-à-dire créé par vous-même), mais essayez de les générer à l'aide de la fonction uuidgen ou en ligne avec un générateur d'UUID. Certains bits de l'UUID ont une signification particulière et déterminent Version UUID ou l'algorithme de hachage.

Exemple :

La sortie de la liste diskutil cs du disque 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

Le pvUUID (violet clair) et le lvgUUID (jaune clair) apparaissent en hexagone dans le premier bloc et le dernier bloc de la partition :

1er bloc :

enter image description here

dernier bloc :

enter image description here

et en tant que texte quatre fois chacun dans les 32760 derniers blocs (taille de bloc physique de 512 octets) de la partition dans des éléments de type plist.

enter image description here

1 votes

La page de manuel indique qu'il est apparu dans Lion, il est en effet introuvable ailleurs ? Le disque de récupération ne l'a pas non plus. Quel genre de problème de matrice est-ce là ?

0 votes

J'ai contacté le service d'assistance d'Apple et, étonnamment, ils ne savent pas non plus ce qu'il est advenu de l'appareil. csunique outil... Le conseiller principal avec lequel j'ai discuté m'a dit qu'il avait pu voir cet outil dans Mac OS X 10.8.5. Ce dernier m'a proposé une solution de contournement consistant à créer une installation sur une clé USB amorçable et à monter le disque dur cloné à partir de celle-ci - ce qui semble raisonnable pour le moment. Je vais ensuite faire une autre copie de cette sauvegarde et essayer d'éditer le disque brut comme vous l'avez suggéré plus tard. Merci beaucoup !

1 votes

@PauloFreitas Je vérifie la version 10.8.5 en ce moment même : elle n'est pas disponible (seulement le manuel). csunique.8 dans un paquet Xcode installé). Modifier les UUIDs manuellement est source d'erreurs. Peut-être que j'aurai le temps plus tard dans la journée de trouver tous les UUIDs et leurs numéros de bloc et de les poster dans ma réponse. BTW Jusqu'à présent, je n'ai trouvé l'UUID de la famille du volume logique nulle part sur la partition.

1voto

LаngLаngС Points 7522

Puisque les partitions ont été créées avec Linux, et accessibles dans Linux, pourquoi ne pas utiliser Linux pour changer l'UUID mécréant ?

Comment changer l'UUID d'une partition Linux (à adapter selon vos besoins et vos valeurs)

Les UUID dupliqués peuvent être un gros problème sur votre machine. Mais heureusement, il est facile de changer l'UUID d'une partition Linux et cela peut être fait en environ 1 à 2 minutes !

L'UUID d'une partition Linux est l'adresse suivante U niversellement U nique ID entifier de cette partition. Je dirais avec une certaine confiance que dans ce cas et dans la plupart des scénarios, l'UUID de la partition Linux a plus une portée de machine locale.

Cet ID est utilisé à plusieurs endroits pour identifier la partition. Le plus notable étant votre fichier /etc/fstab, qui gère le montage des partitions au démarrage. Voici un petit extrait du mien

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

_

Pourquoi auriez-vous besoin de changer l'UUID d'une partition ?

La raison principale étant un conflit d'identité. Techniquement, la probabilité de créer 2 UUID identiques est très rare ( Pour en savoir plus sur la probabilité de doublons dans les UUID aléatoires. ). Mais il peut y avoir des cas où vous clonez une partition à l'aide de DD o Clonezilla et le clone réside sur la même machine - disque dur physique ou partition différente.

Le clonage en utilisant les deux outils mentionnés ci-dessus créera une copie exacte de la partition jusqu'à l'UUID - et maintenant vous avez 2 partitions avec le même UUID. Dans l'exemple de mon /etc/fstab ci-dessus, l'UUID n'est plus unique et il montera la première partition qu'il trouvera avec cet UUID.

Comment changer l'UUID ?

Ce n'est pas difficile du tout.

  • Trouvez d'abord le chemin du périphérique.

Vous pouvez trouver le chemin du périphérique en utilisant la commande suivante :

sudo blkid

Votre résultat ressemblera à quelque chose comme ceci :

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"

Ici, vous pouvez voir que /dev/sdc1 et /dev/sde5 ont le même UUID. Le chemin de la partition que je veux changer est /dev/sde5

  • Ensuite, générez un UUID

C'est simple, la commande suivante produira un UUID comme ci-dessous :

uuidgen
f0acce91-a416-474c-8a8c-43f3ed3768f9
  • Enfin, appliquer le nouvel UUID à la partition

C'est aussi une autre commande, tune2fs, qui appliquera notre nouvel UUID à notre chemin de périphérique :

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

C'est fait, maintenant vous pouvez mettre à jour votre grub pour inclure les UUID corrects afin de réduire tout risque que votre système confonde les partitions.

0 votes

Cela ne fonctionnera pas car l'outil ne peut pas modifier les UUID de CoreStorage (qui ne sont pas liés aux UUID de partition ou de volume, ce qui peut être un autre problème pour le PO).

0 votes

Hm, mais "en utilisant Ubuntu je peux accéder à toutes les partitions" laisse toujours l'option d'utiliser Linux et d'extraire toutes les données de la partition à une avec UUID unique ?

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X