2 votes

Redimensionnement d'un volume HFS+ après clonage

J'ai cloné un disque contenant un volume HFS+ sur un disque plus grand à l'aide de la ligne de commande dd de l'utilitaire. Je veux maintenant agrandir le volume HFS+ pour remplir le nouveau disque. Il y a une partition EFI avant le volume HFS+ dans la table de partition mais rien après.

Lorsque j'essaie de redimensionner le volume HFS+ dans l'Utilitaire de disque, il semble que tout fonctionne, mais il s'achève en 4 secondes environ sans apporter de modifications à la table de partition. En essayant à partir de la ligne de commande en utilisant sudo diskutil resizeVolume /dev/disk3s2 0 donne 0 does not appear to be a valid disk size . Si j'utilise une taille de 2T Au lieu de cela, j'obtiens l'erreur suivante Error: -5341: MediaKit reports partition (map) too small .

Comment puis-je redimensionner cette partition ? Je préférerais ne pas avoir à recopier les données sur le nouveau disque.

3voto

Bastien Jacquet Points 31

Il est vraiment terrifiant de constater que la seule solution consiste à écraser la table gpt.

La solution correcte et la plus sûre, accompagnée d'une explication, est la suivante ce commentaire .

  1. télécharger le CD GParted-Live à partir de http://www.gparted.org/download.php
  2. démarrer à partir de ce CD
  3. accepter la suggestion d'activer le disque complet
  4. redémarrer à partir de mac OSX
  5. essayez à nouveau - vous pouvez maintenant le redimensionner !

Explication :

Le seul problème est l'en-tête du disque qui existe deux fois : au début et à la fin du disque. Mac OSX affiche la taille réelle du disque, mais n'est pas capable de modifier l'en-tête de taille GPT et de relocaliser le second "en-tête" à la fin réelle du disque.

0voto

intuited Points 912

Suivant les instructions de cet article utile J'ai effacé et reconstruit la table de partition (GPT). Commandes de base utilisées :

sudo diskutil unmount /dev/disk3
sudo gpt show /dev/disk3 > ~/tmp/disk3-gpt
sudo gpt destroy /dev/disk3
sudo gpt create -f /dev/disk3    # -f for MBR compatibility
sudo gpt add -b ${start} -s ${size} -t ${type_guid} /dev/disk3
# repeat above command for each partition to be re-added

Ensuite, j'ai utilisé la fonction Disk Utility pour redimensionner le volume HFS+. Cela a fonctionné !

OSX peut remonter les partitions immédiatement après leur ajout ; dans ce cas, vous devrez les démonter à nouveau avant de continuer à ajouter d'autres partitions.

Si la ligne de commande n'est pas votre truc, alors vous n'avez probablement pas cloné votre disque avec dd en premier lieu.

0voto

JPT Points 121

J'ajoute une autre réponse, car

  • Je pense qu'il y a un moyen plus sûr de réparer le GPT que ce qu'a fait @intuited
  • il fonctionne comme un Linux standard, à l'exception du redimensionnement
  • il s'occupe de l'habillage des disques SSD dans la mesure où il est possible de le faire avec HFS+.

Vous ne devez donc le faire que si vous voulez vous assurer que la plupart des blocs réellement vides sont marqués comme tels sur votre disque SSD pour des raisons de performance (et d'usure ?).

Si vous ne travaillez pas avec un disque SSD, vous pouvez ignorer la majeure partie de cette étape et ne faire que l'étape 2 pour l'ensemble du disque (omettre simplement count=220 ), puis à l'étape 3 et enfin à l'étape 7.

Commençons. Ma source est SDI, ma cible SDH. Veillez à bien vérifier cela pour chaque commande, car les erreurs peuvent être fatales.

  1. effacer de manière sécurisée le disque SSD cible, comme décrit ici https://www.thomas-krenn.com/de/wiki/SSD_Secure_Erase car HFS+ ne peut pas découper le disque SSD.

  2. cloner la table de partition et la partition EFI en utilisant (disons 10% de plus que la taille de votre partition EFI)

    sudo dd if=/dev/sdi of=/dev/sdh bs=1M count=220
  3. réparer la table de partition GPT à l'aide de gdisk (dans mon cas, le disque source est plus grand parce qu'il s'agit d'un clone temporaire de l'original. L'original était cependant plus petit. Vos messages d'erreur seront donc un peu différents)

    $ sudo gdisk /dev/sdh
    GPT fdisk (gdisk) version 1.0.5
    ...
    Main header: OK
    Backup header: ERROR
    Main partition table: OK
    Backup partition table: ERROR
    
    Partition table scan:
      MBR: protective
      BSD: not present
      APM: not present
      GPT: damaged
    
    Command (? for help): ?
    ...
    x       extra functionality (experts only)
    
    Command (? for help): x
    
    Expert command (? for help): ?
    ...
    r       recovery and transformation options (experts only)
    
    Expert command (? for help): r
    
    Recovery/transformation command (? for help): ?
    b       use backup GPT header (rebuilding main)
    c       load backup partition table from disk (rebuilding main)
    d       use main GPT header (rebuilding backup)
    e       load main partition table from disk (rebuilding backup)
    ...
    
    Recovery/transformation command (? for help): d
    
    Recovery/transformation command (? for help): w
    Caution! Secondary header was placed beyond the disk's limits! Moving the
    header, but other problems may occur!
    
    Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!!
    
    Do you want to proceed? (Y/N): y
    OK; writing new GUID partition table (GPT) to /dev/sdh.
    The operation has completed successfully.
  4. vérifier la table de partition

    $ sudo gdisk /dev/sdh
    
    Partition table scan:
      MBR: protective
      BSD: not present
      APM: not present
      GPT: present
    
    Found valid GPT with protective MBR; using GPT.
  5. question sudo partprobe le système relit la table de partition (je pense que GPT l'a déjà fait, mais il vaut mieux être sûr)

  6. copier le contenu de la partition en utilisant

    sudo partclone.hfsplus -b -s /dev/sdi2 -o /dev/sdh2 -L /tmp/partclone.log
  7. redimensionner en utilisant Disk Utility comme décrit dans les autres réponses.

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