1 votes

MacOS ne permet pas de modifier la séquence des partitions à partir de la ligne de commande !

Voici la liste des disques de mon iMac.

enter image description here

J'essaie de fusionner les partitions MacOS et MacOS 2 en utilisant diskutil mergePartitions. Le problème est qu'en exécutant cette commande, MacOS conservera les données sur la première partition qui est MacOS et effacera tout ce qui se trouve entre la première et la dernière partition (dernière partition incluse), maintenant la dernière partition est MacOS 2.

Je veux préserver la dernière partition qui est MacOS 2 et supprimer toutes les autres partitions. J'ai donc pensé pourquoi ne pas inclure la dernière partition comme première partition (sur laquelle je veux préserver les données) et inclure la première partition dans le dernier paramètre - qui sera supprimé.

C'est ici que le problème se pose MacOS ne me permet pas de changer l'ordre des partitions.

Je suis donc coincé avec la fusion des partitions en ligne de commande.

Je ne veux pas utiliser l'utilitaire de disque pour fusionner des partitions car la dernière fois que je l'ai utilisé pour fusionner des partitions, des espaces libres ont été créés et ne disparaissaient pas tant qu'un formatage complet du disque n'était pas effectué !

Une dernière chose : MacOS est le premier volume du disque, donc le supprimer à partir de l'utilitaire Crépuscule en utilisant l'option de partition ne se fera pas.

3voto

David Anderson Points 30783

Étant donné que les volumes ont à peu près la même taille, vous pouvez utiliser l'application Utilitaire de disque pour "restaurer" les volumes de l'entreprise. macOS du volume de la macOS 2 volume. Vous aurez alors dupliqué macOS 2 . Vous pouvez alors supprimer disk0s4 et se développer disk0s2 pour récupérer l'espace libre.

Toutes ces opérations peuvent être effectuées à l'aide de l'application Utilitaire de disque.

Si vous souhaitez utiliser la ligne de commande, voici la commande pour cloner le volume intitulé "MacOS 2".

sudo asr restore --source "/Volumes/macOS 2" --target /Volumes/macOS --erase

Note : La commande ci-dessus clone également /dev/disk0s5 a /dev/disk0s3 .

La commande de suppression /dev/disk0s4 et se développer /dev/disk0s2 est donné ci-dessous.

diskutil mergePartitions FREE "" disk0s2 disk0s4  

Note : La commande ci-dessus supprime également /dev/disk0s5 et se réinstalle /dev/disk0s3 pour être en dessous de l'extension /dev/disk0s2 .

L'opération de clonage/restauration peut être effectuée en démarrant à partir de l'ordinateur de l'entreprise. /dev/disk0s5 . L'opération de fusion peut être effectuée pendant que l'on démarre en mode /dev/disk0s2 .

1voto

klanomath Points 63400

Vous ne pouvez pas étendre disk0s4 à des numéros de blocs inférieurs avec des outils embarqués ! Pour "étendre" le disque0s4, il faudrait enlever le disque0s2, ajouter une nouvelle partition de la même taille et du même type que le disque0s4 directement après le disque0s1, le tout avec gpt , dd disque0s4 vers disque0s2, supprimer disque0s3 et disque0s4 avec gpt et enfin étendre le disque0s2 avec diskutil dans l'espace non alloué entre le disque0s2 et le disque0s5.

Au lieu de ces deux dernières étapes, vous pouvez également utiliser la fonction diskutil mergePartitions ... commandement.

Tout cela a démarré soit en mode de récupération Internet, soit sur un disque externe avec MacOS installé.


  • Démarrez en mode de récupération Internet ou sur un disque de démarrage externe (si vous n'êtes pas super-utilisateur, vous devez faire précéder le nom de l'utilisateur de la mention sudo a gpt ... y dd ... des commandes.

  • Obtenir une vue d'ensemble et vérifier le disque et les volumes (réparer si nécessaire) :

    diskutil verifyDisk disk0
    diskutil verifyVolume disk0s2
    diskutil verifyVolume disk0s4
    diskutil list
    gpt -r show disk0
  • Retirez le disque0s2 :

    diskutil umountDisk disk0
    gpt remove -i 2 disk0
  • ajouter une partition de la même taille que le disque0s3

    diskutil umountDisk disk0
    gpt add -i 2 -b 409640 -s 485642672 -t 48465300-0000-11AA-AA11-00306543ECAC disk0
  • copier le disque0s4 sur le disque0s2 :

    diskutil umountDisk disk0
    dd if=/dev/disk0s4 of=/dev/disk0s2 bs=4m
  • fusionner disque0s2-disque0s4 et renommer MacOS 2 a MacOS :

    diskutil mergePartitions HFS+ "macOS" disk0s2 disk0s4

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