16 votes

Le volume OS est de type 'FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFF'.

Hier, j'ai essayé de supprimer une partition Ubuntu. Depuis, mon Mac (13", MBPro mi-2014) ne démarre plus. Maintenant, je démarre sur une copie de Mac OS avec une USB. Je suis différents sujets de ce forum (comme celui-ci : Type de partition soudainement FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF, lecteur non montable ), et mon changement de partition de volume de FFFFFFFF-FFFF-FF-FF-FF-FFFFFFFFFFFFFFFF à 48465300-0000-11AA-AA11-00306543ECAC . Mais je ne peux toujours pas démarrer dessus...

my /dev/disk0

Merci beaucoup !

24voto

klanomath Points 63400

Une partition OS X amorçable (à l'exception du disque de récupération) possède soit le GUID 48465300-0000-11AA-AA11-00306543ECAC pour une partition OS X standard, le GUID 53746F72-6167-11AA-AA11-00306543ECAC pour une partition CoreStorage ou le GUID 7C3457EF-0000-11AA-AA11-00306543ECAC pour un volume APFS. Le FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF est un type de partition inconnu (mais pas une partition inexistante comme celle de 000000-0000-0000....).

Le GUID peut être modifié avec gpt. Vous ne pouvez ajouter, supprimer et modifier les tables de partitions GUID avec gpt que lorsque tous les disques associés sont démontés. Pour reconfigurer vos partitions, démarrez sur un disque tiers (par exemple, Internet Recovery ou une clé USB d'installation d'OS X).

Dans certaines circonstances, le SIP doit être désactivé pour modifier la table de partition GUID.


  • Démarrez en mode de récupération Internet (ou sur un lecteur tiers).

  • Ouvrez le Terminal dans la barre de menu Utilitaires > Terminal.

  • Obtenez une vue d'ensemble avec diskutil list

  • Obtenez un aperçu de votre disque interne avec l'identifiant du disque trouvé dans la commande précédente. Ci-dessous, je suppose que l'identifiant de votre disque interne est disk0 (SSD) (remplacez-le par celui que vous avez trouvé dans votre environnement).

      gpt -r show disk0
  • Démonter le disque0 avec diskutil umountDisk disk0

  • Ensuite, supprimez et réinsérez la deuxième partition avec la même taille mais le bon type. Le type le plus probable pour disk0s2 sur un SSD avec Sierra actuellement installé est 53746F72-6167-11AA-AA11-00306543ECAC ou avec High Sierra installé 7C3457EF-0000-11AA-AA11-00306543ECAC (parce qu'une partition CoreStorage précédente a presque certainement été convertie en APFS lors de la mise à niveau de Sierra vers High Sierra).

Remarque : Si l'un des gpt add Les commandes ci-dessous génèrent le message d'erreur gpt add: disk0: error: no space available on device alors voyez cette réponse pour une correction possible.

Sierra (CoreStorage) :

    gpt remove -i 2 disk0
    gpt add -i 2 -b 409640 -s 431203056 -t 53746F72-6167-11AA-AA11-00306543ECAC disk0

ou

High Sierra (APFS) :

    gpt remove -i 2 disk0
    gpt add -i 2 -b 409640 -s 431203056 -t 7C3457EF-0000-11AA-AA11-00306543ECAC  disk0

ou

partition standard (HFSJ Extended) :

    gpt remove -i 2 disk0
    gpt add -i 2 -b 409640 -s 431203056 -t 48465300-0000-11AA-AA11-00306543ECAC  disk0
  • Vérifiez le disque et le volume :

      diskutil verifyDisk disk0
      diskutil verifyVolume disk0s2

Si vous démarrez sur votre clé USB et que vous vous connectez en tant qu'administrateur, vous devez ajouter en préambule sudo pour exécuter les commandes gpt avec succès.


Si vous avez oublié la version de votre système ou si vous avez effectué un partitionnement personnalisé, vous pouvez toujours inspecter les premiers blocs du disque0s2 et déterminer le type de GUID approprié :

Si vous avez démarré sur un système complet, vous pouvez utiliser hexdump :

  • Démonter le disque0 avec diskutil umountDisk disk0

  • hexdump les 3 premiers blocs de la partition FFFF... :

      sudo dd if=/dev/disk0s2 count=3 | hexdump

Le résultat suivant l'identifie comme une partition OS X normale :

    0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000400 48 2b 00 04 80 00 21 00 48 46 53 4a 00 00 01 ff
    0000410 d3 8c 77 d3 d4 33 3c b0 00 00 00 00 d3 8c 5b b3
    0000420 00 00 02 a8 00 00 00 25 00 00 10 00 00 fe b7 f6
    0000430 00 fe 1e fa 00 ed 80 00 00 01 00 00 00 01 00 00
    0000440 00 00 10 f2 00 00 5a 9d 00 00 00 00 00 00 00 01
    0000450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000460 00 00 00 00 00 00 00 00 7d 9d b0 3a 02 31 62 f0
    0000470 00 00 00 00 00 1f e0 00 00 1f e0 00 00 00 01 fe
    0000480 00 00 00 01 00 00 01 fe 00 00 00 00 00 00 00 00
    0000490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    00004c0 00 00 00 00 00 60 00 00 00 60 00 00 00 00 06 00
    00004d0 00 00 0a 00 00 00 06 00 00 00 00 00 00 00 00 00
    00004e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000510 00 00 00 00 03 10 00 00 03 10 00 00 00 00 31 00
    0000520 00 03 ac 00 00 00 31 00 00 00 00 00 00 00 00 00
    0000530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000560 00 00 00 00 05 40 00 00 05 40 00 00 00 00 54 00
    0000570 00 00 10 00 00 00 54 00 00 00 00 00 00 00 00 00
    0000580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000600

Le premier chiffre est le nombre d'octets en hexadécimal : 0000000 : 0 ; 0000600 : 1536. L'astérisque * indique des lignes identiques. Cela signifie que les deux premiers blocs (0x000-0x3ff) sont tous des zéros.

Une partition CoreStorage présente des non-zéros dans le premier bloc (0x000-0x1ff) :

    0000000 0c 73 a1 a9 ff ff ff ff 01 00 10 00 07 14 d7 01
    0000010 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000030 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000040 00 20 c1 cc 0f 00 00 00 00 00 00 00 00 00 00 00
    0000050 00 00 00 00 00 00 00 00 43 53 01 00 00 00 04 00
    0000060 00 10 00 00 00 00 40 00 11 bc fc 00 00 00 00 00
    0000070 11 c0 fc 00 00 00 00 00 11 c4 fc 00 00 00 00 00
    0000080 11 c8 fc 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00000a0 00 00 00 00 00 00 00 00 10 00 00 00 02 00 00 00
    00000b0 62 02 98 59 ee a9 ab 51 9b 49 23 90 2e f8 8b 43
    00000c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000130 e4 6e f8 f2 63 99 45 c1 b2 13 86 28 a5 18 46 6d
    0000140 c4 51 c0 f6 32 f9 43 ab 8e 59 42 d2 1a ef f6 50
    0000150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000400 48 2b 00 04 80 00 21 00 48 46 53 4a 00 00 01 ff
    0000410 d1 98 a4 93 d4 33 8b d5 00 00 00 00 d1 98 88 73
    0000420 00 06 07 53 00 01 82 39 00 00 10 00 00 fb 6a 00
    0000430 00 c5 1c 55 00 25 73 c7 00 01 00 00 00 01 00 00
    0000440 00 0d e2 65 00 3e a2 fb 00 00 00 00 02 20 00 fb
    0000450 00 00 00 31 00 06 b9 ef 00 00 00 00 00 00 00 00
    0000460 00 00 00 00 00 00 00 31 fb 48 1e a0 6c 47 a2 9f
    0000470 00 00 00 00 00 1f e0 00 00 1f e0 00 00 00 01 fe
    0000480 00 00 00 01 00 00 01 fe 00 00 00 00 00 00 00 00
    0000490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    00004c0 00 00 00 00 00 60 00 00 00 60 00 00 00 00 06 00
    00004d0 00 00 0a 00 00 00 06 00 00 00 00 00 00 00 00 00
    00004e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000510 00 00 00 00 0e 40 00 00 01 30 00 00 00 00 e4 00
    0000520 00 00 10 00 00 00 e4 00 00 00 00 00 00 00 00 00
    0000530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000560 00 00 00 00 11 d0 00 00 01 30 00 00 00 01 1d 00
    0000570 00 02 80 00 00 00 72 00 00 13 30 97 00 00 13 00
    0000580 00 15 c5 aa 00 00 13 00 00 18 2d 23 00 00 13 00
    0000590 00 19 d8 fb 00 00 13 00 00 1b 76 cb 00 00 13 00
    00005a0 00 1c 34 70 00 00 13 00 00 1d 0e 4d 00 00 13 00
    00005b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000600

La ligne commençant par l'octet 0x130 indique l'UUID du volume physique, la ligne commençant par l'octet 0x140 indique l'UUID du groupe de volumes logiques.

La chaîne 48 46 53 4a (= "HFSJ") dans les 16 premiers octets des troisièmes blocs identifie un volume Journaled HFS+ sur les deux types de partition.

Un conteneur APFS ressemble à ceci :

    0000000 e7 ec ab 5b a2 94 96 44 01 00 00 00 00 00 00 00
    0000010 18 0c 00 00 00 00 00 00 01 00 00 80 00 00 00 00
    0000020 4e 58 53 42 00 10 00 00 f6 37 ff 00 00 00 00 00
    0000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000040 02 00 00 00 00 00 00 00 11 f1 5e 40 31 10 4c 20
    0000050 bb 47 53 66 7e 8b 42 d5 b9 c4 00 00 00 00 00 00
    0000060 19 0c 00 00 00 00 00 00 18 01 00 00 18 6c 00 00
    0000070 01 00 00 00 00 00 00 00 19 01 00 00 00 00 00 00
    0000080 21 00 00 00 80 5a 00 00 1f 00 00 00 02 00 00 00
    0000090 7a 5a 00 00 06 00 00 00 00 04 00 00 00 00 00 00
    00000a0 37 fd 03 00 00 00 00 00 01 04 00 00 00 00 00 00
    00000b0 00 00 00 00 64 00 00 00 02 04 00 00 00 00 00 00
    00000c0 06 04 00 00 00 00 00 00 08 04 00 00 00 00 00 00
    00000d0 66 a4 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    00003d0 00 00 00 00 00 00 00 00 16 21 06 00 00 00 00 00
    00003e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    00004f0 00 00 00 00 00 00 00 00 91 3d 0f 00 00 00 00 00
    0000500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000510 78 f4 09 00 00 00 00 00 01 00 00 00 00 00 00 00
    0000520 01 00 04 00 08 00 00 00 00 00 00 00 00 00 00 00
    0000530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

La chaîne 4e 58 53 42 (= "NXSB") commençant par l'octet 0x020 dans le premier bloc est la chaîne magique d'un superbloc de conteneur APFS et l'identifie comme conteneur APFS. L'UUID du conteneur commence à 0x48 (ici : 11 f1 5e 40 ...)

Si vous êtes limité au mode de récupération (Internet) ou à un lecteur de démarrage d'installation (tous avec un système de base uniquement qui ne contient pas de hexdump ), vous pouvez toujours utiliser vis :

  • Démonter le disque0 avec diskutil umountDisk disk0

  • vise les 3 premiers blocs de la partition FFFF... :

      dd if=/dev/disk0s2 count=3 | vis -c

Si vous aviez une partition standard auparavant, les 1024 premiers octets ne contiennent que des zéros non imprimables : \0\0\0\0\0\0... Après l'octet 1030, vous verrez la séquence suivante : \0HFSJ\0

Si vous aviez une partition CoreStorage avec des non-zéros dans les 512 premiers octets et la chaîne CS ( ...\0CS\^A... ) sont présentés :

    \^U\^D\^A\M-s\M^?\M^?\M^?\M^?\^A\0\^P\0\0\0\M-W\^A\a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\^B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\M^Pu\M-\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0CS\^A\0\0\0\^D\0\0\^P\0\0\0\0@\0X\M-7}\^C\0\0\0\0X\M-;}\^C\0\0\0\0X\M-?}\^C\0\0\0\0X\M-C}\^C\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\^P\0\0\0\^B\0\0\0006j v\^R\M-+\^U\M^[\f\M^CdG\M-y\^]...

Si vous aviez une partition APFS, la chaîne NXSB ( ...\0NXSB\0\^P... ) apparaît dans les premiers octets :

    ??[?\M^T\M^VD\^A\0\0\0\0\0\0\0\^X\f\0\0\0\0\0\0\^A\0\0\M^@\0\0\0\0NXSB\0\^P\0\0?7?\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\^B\0\0\0\0\0\0\0\^Q?^@1\^PL ?GSf~\M^KB?\0\0\0\0\0\0\^Y\f\0\0\0\0\0\0\^X\^A\0\0\^Xl\0\0\^A\0\0\0\0\0\0\0\^Y\^A\0\0\0\0\0\0!\0\0\0\M^@Z\0\0\^_\0\0\0\^B\0\0\0zZ\0\0\^F\0\0\0\0\^D\0\0\0\0\0\0007?\^C\0\0\0\0\0\^A\^D\0\0\0\0\0\0\0\0\0\0d\0\0\0\^B\^D\0\0\0\0\0\0\^F\^D\0\0\0\0\0\0\b\^D\0\0\0\0\0\0f?\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\

0voto

David Anderson Points 30783

Correction de la GPT lorsqu'il existe un partitionnement hybride

Dans le cadre de La réponse de klanomath Cette réponse traite de ce qu'il faut faire lorsque le message suivant apparaît après l'utilisation de l'application gpt pour ajouter une nouvelle partition qui existe également dans la table de partition MBR.

gpt add: disk0: error: no space available on device

L'entrée de la table de partition MBR peut généralement être identifiée à partir de la sortie de la commande gpt -r show disk0 commande. Voici une sortie typique qui apparaît lorsque le message ci-dessus se produit.

gpt show: disk0: Suspicious MBR at sector 0
      start       size  index  contents
          0          1         MBR
          1          1         Pri GPT header
          2         32         Pri GPT table
         34          6         
         40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
     409640  431203056      2  MBR part 255
  431612696   58622023         
  490234719         32         Sec GPT table
  490234751          1         Sec GPT header

Ici, la ligne contenant le MBR indique que la deuxième entrée de la table de partition MBR définit une partition qui occupe le même espace que chacune des entrées de la table de partition MBR. gpt add commandes dans La réponse de klanomath essaie d'ajouter à nouveau dans le GPT. La commande ci-dessous peut être utilisée pour imprimer la table de partition MBR.

fdisk /dev/disk0

Une sortie typique est présentée ci-dessous.

Disk: /dev/disk0    geometry: 30515/255/63 [490234752 sectors]
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: EE    0   0   2 -   25 127  14 [         1 -     409639] <Unknown ID>
 2: FF   25 127  15 - 1023 254  63 [    409640 -  431203056] Xenix BBT   
 3: 00    0   0   0 -    0   0   0 [         0 -          0] unused      
 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused          

Pour remettre l'entrée de la partition dans le GPT, exécutez les étapes suivantes.

  1. Enregistrez une copie texte de la table de partition MBR. La commande est donnée ci-dessous.

    fdisk -d /dev/disk0 > /var/tmp/mbr.txt
  2. Supprimez l'entrée de la partition de la table de partition MBR. Des exemples de commandes sont donnés ci-dessous.

    diskutil unmountdisk disk0
    fdisk -e /dev/disk0
    setpid 2
    0
    quit

    Un résumé de la fdisk Les commandes interactives sont indiquées ci-dessous.

    help        Command help list
    manual      Show entire man page for fdisk
    reinit      Re-initialize loaded MBR (to defaults)
    auto        Auto-partition the disk with a partition style
    setpid      Set the identifier of a given table entry
    disk        Edit current drive stats
    edit        Edit given table entry
    erase       Erase current MBR
    flag        Flag given table entry as bootable
    update      Update machine code in loaded MBR
    select      Select extended partition table entry MBR
    print       Print loaded MBR partition table
    write       Write loaded MBR to disk
    exit        Exit edit of current MBR, without saving changes
    quit        Quit edit of current MBR, saving current changes
    abort       Abort program without saving current changes

    Voici un exemple de sortie.

    diskutil unmountdisk disk0
    Unmount of all volumes on disk0 was successful
    $ fdisk -e /dev/disk0
    fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory
    Enter 'help' for information
    fdisk: 1> setpid 2
             Starting       Ending
     #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
    ------------------------------------------------------------------------
     2: FF   25 127  15 - 1023 254  63 [    409640 -  431203056] Xenix BBT   
    Partition id ('0' to disable)  [0 - FF]: [FF] (? for help) 0
    fdisk:*1> quit
    Writing current MBR to disk.

    Remarque : le message d'avertissement suivant peut être ignoré.

    fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory

    Le dossier boot0 est censé contenir le code de démarrage du BIOS MBR. Puisque MacOS utilise le démarrage EFI au lieu du démarrage BIOS traditionnel, une installation de MacOS n'inclut pas ce fichier.

  3. Rajoutez l'entrée de la partition dans le GPT. En gros, exécutez les mêmes commandes pour ajouter la partition comme déterminé par La réponse de klanomath . Les commandes utilisées par le PO sont indiquées ci-dessous.

    diskutil unmountdisk disk0
    gpt add -i 2 -b 409640 -s 431203056 -t 7C3457EF-0000-11AA-AA11-00306543ECAC disk0
  4. Restaurez la table de partition MBR à partir de la copie de texte enregistrée. Les commandes sont données ci-dessous.

    diskutil unmountdisk disk0
    fdisk -r -y /dev/disk0 < /var/tmp/mbr.txt

    Voici un exemple de sortie.

    $ diskutil unmountdisk disk0
    Unmount of all volumes on disk0 was successful
    $ fdisk -r -y /dev/disk0 < /var/tmp/mbr.txt
    fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory
  5. Supprimez la copie texte sauvegardée de la table de partition MBR. La commande est donnée ci-dessous.

    rm /var/tmp/mbr.txt

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