Si vous avez toujours la partition de récupération, vous pouvez transférer la partition manuellement.
L'exemple ci-dessous a été généré à l'aide de deux images de disques éparses et de Yosemite (OS X 10.10.5). Il se peut que vous deviez franchir des obstacles que je n'ai pas eu à franchir. Voici quelques-uns de ces obstacles :
- Les utilisateurs d'El Capitan et des versions ultérieures peuvent avoir besoin de désactiver l'intégrité du système. (SIP).
- Pour entrer certaines commandes, vous devrez peut-être démarrer à partir d'un périphérique USB. (lecteur flash, disque dur ou SSD) ou utiliser Internet Recovery.
- Ajouter ou supprimer le préfixe de la commande
sudo
.
- Utilisez le
cd
pour naviguer vers le répertoire (dossier) approprié.
- Faites précéder une commande ou un fichier du chemin d'accès approprié.
- Faites les ajustements nécessaires si la taille du secteur n'est pas de 512 octets.
- Gérer les complexités supplémentaires, si vous utilisez le stockage central.
Voici la procédure à suivre pour copier une partition de récupération à partir de /dev/disk1
a /dev/disk2
. Cette procédure nécessite l'utilisation d'une commande tierce appelée gdisk
. De plus amples informations sur cette commande sont disponibles sur le site "Tutoriel GPT fdisk" .
Le contenu initial de /dev/disk1
y /dev/disk2
sont indiqués ci-dessous.
Steelhead:recover davidanderson$ sudo gpt -r show /dev/disk1
Password:
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 197892752 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
198302392 1697608 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
200000000 7
200000007 32 Sec GPT table
200000039 1 Sec GPT header
Steelhead:recover davidanderson$ sudo gpt -r show /dev/disk2
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 99328216 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
99737856 262151
100000007 32 Sec GPT table
100000039 1 Sec GPT header
-
Image de la partition source entière. Cette partition est très petite et n'est normalement pas montée. Il suffit de copier la partition dans un fichier.
Steelhead:recover davidanderson$ sudo dd if=/dev/disk1s3 of=recovery.binary bs=40960
21220+1 records in
21220+1 records out
869175296 bytes transferred in 44.563133 secs (19504358 bytes/sec)
Steelhead:recover davidanderson$ ls -l
total 1697608
-rw-r--r-- 1 root staff 869175296 Jul 20 11:53 recovery.binary
-
Faites de la place pour la nouvelle partition de récupération.
Steelhead:recover davidanderson$ diskutil resizevolume /dev/disk2s2 limits
For device disk2s2 MacintoshHD:
Current size: 50.9 GB (50856046592 Bytes)
Minimum size: 5.5 GB (5524418560 Bytes)
Maximum size: 50.9 GB (50856046592 Bytes)
Steelhead:recover davidanderson$ diskutil resizevolume /dev/disk2s2 45G
Started partitioning on disk2s2 MacintoshHD
Verifying the disk
Verifying file system
Checking Journaled HFS Plus volume
Checking extents overflow file
Checking catalog file
Checking multi-linked files
Checking catalog hierarchy
Checking extended attributes file
Checking volume bitmap
Checking volume information
The volume MacintoshHD appears to be OK
File system check exit code is 0
Resizing
Finished partitioning on disk2s2 MacintoshHD
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *51.2 GB disk2
1: EFI EFI 209.7 MB disk2s1
2: Apple_HFS MacintoshHD 45.0 GB disk2s2
-
Créez la nouvelle partition de récupération sur /dev/disk2
. La nouvelle doit avoir exactement la même taille que la partition Recover existante. existante.
Steelhead:recover davidanderson$ sudo gdisk /dev/disk2
Password:
GPT fdisk (gdisk) version 1.0.1
Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): n
Partition number (3-128, default 3):
First sector (34-100000006, default = 88300264) or {+-}size{KMGTP}:
Last sector (88300264-100000006, default = 100000006) or {+-}size{KMGTP}: +1697608
Current type is 'Apple HFS/HFS+'
Hex code or GUID (L to show codes, Enter = AF00): AB00
Changed type of partition to 'Recovery HD'
Command (? for help): x
Expert command (? for help): a
Partition number (1-3): 3
Known attributes are:
0: system partition
1: hide from EFI
2: legacy BIOS bootable
60: read-only
62: hidden
63: do not automount
Attribute value is 0000000000000000. Set fields are:
No fields set
Toggle which attribute field (0-63, 64 or <Enter> to exit): 49
Have enabled the 'Undefined bit #49' attribute.
Attribute value is 0002000000000000. Set fields are:
49 (Undefined bit #49)
Toggle which attribute field (0-63, 64 or <Enter> to exit):
Expert command (? for help): w
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/disk2.
Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Warning: The kernel may continue to use old or deleted partitions.
You should reboot or remove the drive.
The operation has completed successfully.
Steelhead:recover davidanderson$ sudo gpt -r show /dev/disk2
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 87890624 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
88300264 1697608 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
89997872 10002135
100000007 32 Sec GPT table
100000039 1 Sec GPT header
-
Éjecter et rattacher /dev/disk2
. Si vous ne pouvez pas le faire, alors redémarrez le Mac.
Steelhead:recover davidanderson$ diskutil eject /dev/disk2
Disk /dev/disk2 ejected
-
Copiez l'image enregistrée sur la nouvelle partition de récupération. Puisqu'il s'agit d'une copie exacte, utilisez le hfs.util
pour générer une nouvelle clé UUID pour le système de fichiers HFS.
Si vous utilisez El Capitan (OS X 10.11), le chemin d'accès complet à l'application hfs.util
La commande est System/Library/Filesystems/hfs.fs/Contents/Resources/hfs.util
.
Steelhead:recover davidanderson$ sudo dd if=recovery.binary of=/dev/disk2s3 bs=40960
Password:
21220+1 records in
21220+1 records out
869175296 bytes transferred in 52.127608 secs (16673992 bytes/sec)
Steelhead:recover davidanderson$ /System/Library/Filesystems/hfs.fs/hfs.util -k disk2s3; echo
78A8438E-2299-3AF0-AD9E-3AC225B0554A
Steelhead:recover davidanderson$ /System/Library/Filesystems/hfs.fs/hfs.util -s disk2s3
Steelhead:recover davidanderson$ /System/Library/Filesystems/hfs.fs/hfs.util -k disk2s3; echo
0F4F5893-D9E1-3512-9B2B-2AEA0DE9FDE3
-
Éjecter et rattacher /dev/disk2
. Si vous ne pouvez pas le faire, alors redémarrez le Mac.
Steelhead:recover davidanderson$ diskutil eject /dev/disk2
Disk /dev/disk2 ejected
-
Essayez de récupérer l'espace libre restant.
Ci-dessous un premier essai. Le site diskutil resizevolume /dev/disk2s2 R
échoue.
Notez également que diskutil resizevolume /dev/disk2s2 limits
commande indique une taille maximale erronée.
Steelhead:recover davidanderson$ diskutil resizevolume /dev/disk2s2 R
Started partitioning on disk2s2 MacintoshHD
Verifying the disk
Verifying file system
Checking Journaled HFS Plus volume
Checking extents overflow file
Checking catalog file
Checking multi-linked files
Checking catalog hierarchy
Checking extended attributes file
Checking volume bitmap
Checking volume information
The volume MacintoshHD appears to be OK
File system check exit code is 0
Resizing
Error: -69742: The requested size change for the target disk or a related disk is too small;
please try a different disk or partition, or make a larger change
Steelhead:recover davidanderson$ diskutil resizevolume /dev/disk2s2 limits
For device disk2s2 MacintoshHD:
Current size: 45.0 GB (44999999488 Bytes)
Minimum size: 5.5 GB (5524459520 Bytes)
Maximum size: 45.0 GB (44999999488 Bytes)
Essayez à nouveau, mais cette fois-ci calculez la taille de la partition /dev/disk2s2
devrait être.
Steelhead:recover davidanderson$ sudo gpt -r show /dev/disk2
Password:
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 87890624 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
88300264 1697608 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
89997872 10002135
100000007 32 Sec GPT table
100000039 1 Sec GPT header
Steelhead:recover davidanderson$ expr 10002135 \* 512 / 100000000 + 450
501
Steelhead:recover davidanderson$ diskutil resizevolume /dev/disk2s2 50.1G
Started partitioning on disk2s2 MacintoshHD
Verifying the disk
Verifying file system
Checking Journaled HFS Plus volume
Checking extents overflow file
Checking catalog file
Checking multi-linked files
Checking catalog hierarchy
Checking extended attributes file
Checking volume bitmap
Checking volume information
The volume MacintoshHD appears to be OK
File system check exit code is 0
Resizing
Waiting for the disks to reappear
Finished partitioning on disk2s2 MacintoshHD
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *51.2 GB disk2
1: EFI EFI 209.7 MB disk2s1
2: Apple_HFS MacintoshHD 50.1 GB disk2s2
3: Apple_Boot recovery 869.2 MB disk2s3
Steelhead:recover davidanderson$ sudo gpt -r show /dev/disk2
Password:
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 97851560 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
98261200 1697608 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
99958808 41199
100000007 32 Sec GPT table
100000039 1 Sec GPT header
Cette tentative a réussi. En pratique, vous ne récupérez jamais tout l'espace libre libre. Notez que la nouvelle partition de récupération /dev/disk2s3
était relocalisé automatiquement.
0 votes
BTW Je sais qu'il y a eu quelques questions à ce sujet dans le passé (par ex. apple.stackexchange.com/questions/19145/ ) mais ils semblent être pour des versions plus anciennes d'OS X.
0 votes
Je viens d'utiliser l'utilitaire de disque pour cloner une partition El Capitan amorçable. L'utilitaire de disque a également cloné automatiquement la partition de récupération. J'ai cloné sur le même disque, mais je suppose que cela fonctionnerait si j'utilisais des disques différents. De plus, je n'ai pas utilisé de stockage central.
0 votes
@David Je viens de vérifier en utilisant 'diskutil list', et la partition de récupération n'a pas été créée automatiquement...
0 votes
En fait,
diskutil list
vous donnera un faux résultat. Vous devrez redémarrer l'ordinateur avant d'exécuter la commande. Pour votre information, j'ai testé l'utilisation de l'application Utilitaire de disque pour copier (cloner) une partition formatée HFS+ (48465300-0000-11AA-AA11-00306543ECAC) sur un nouveau disque. La partition de récupération suivante (426F6F74-0000-11AA-AA11-00306543ECAC) est également copiée automatiquement.