Se hai ancora la partizione di ripristino, puoi trasferire manualmente la partizione.
L'esempio riportato di seguito è stato generato utilizzando due immagini disco sparse e Yosemite (OS X 10.10.5). Potrebbe essere necessario saltare anche i cerchi che non dovevo. Alcuni di questi cerchi sono:
- È possibile che El Capitan e gli utenti successivi debbano disabilitare l'integrità del sistema
Protezione (SIP).
- Per inserire alcuni comandi, potrebbe essere necessario eseguire l'avvio da un dispositivo USB
(unità flash, HDD o SSD) o utilizzare Internet Recovery.
- Aggiungi o rimuovi il prefisso di comando
sudo
.
- Utilizza il comando
cd
per navigare nella directory corretta (cartella).
- Precedere un comando o file con il percorso corretto.
- Apporta le regolazioni corrette se la dimensione del settore non è 512 byte.
- Gestire le complessità aggiuntive, se si utilizza il Core Storage.
Di seguito è riportata la procedura per copiare una partizione di ripristino da /dev/disk1
a /dev/disk2
. Questa procedura richiede l'uso di un terzo comando di parità chiamato gdisk
. Ulteriori informazioni su questo comando sono disponibili nel sito "GPD fdisk Tutorial" .
Le iniziali contengono /dev/disk1
e /dev/disk2
sono indicate di seguito.
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
-
Immagine l'intera partizione di origine. Questa partizione è molto piccola e
normalmente non è montato. Copia semplicemente la partizione in un file.
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
-
Fai spazio alla nuova partizione di ripristino.
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
-
Crea la nuova partizione di ripristino su /dev/disk2
. Il nuovo
la partizione deve essere esattamente della stessa dimensione del Recover esistente
partizione.
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
-
Rimuovi e ricollega /dev/disk2
. Se non puoi farlo, allora
riavvia il Mac.
Steelhead:recover davidanderson$ diskutil eject /dev/disk2
Disk /dev/disk2 ejected
-
Copia l'immagine salvata nella nuova partizione di ripristino. Poiché questo è un
copia esatta, utilizzare il comando hfs.util
per generare una nuova chiave UUID
per il file system HFS.
When using El Capitan (OS X 10.11), the full path to the hfs.util
command is
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
-
Rimuovi e ricollega /dev/disk2
. Se non puoi farlo, allora
riavvia il Mac.
Steelhead:recover davidanderson$ diskutil eject /dev/disk2
Disk /dev/disk2 ejected
-
Tentativo di recuperare qualsiasi spazio rimanente.
Below a is first tent. Il codice%
comando fallito.
Nota anche il comando diskutil resizevolume /dev/disk2s2 R
riporta la dimensione massima errata.
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)
Riprova, ma questa volta calcola quanto è grande la partizione diskutil resizevolume /dev/disk2s2 limits
dovrebbe essere.
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
Questo tentativo è riuscito. In pratica, non si recupera mai tutto gratis
spazio. Si noti che la nuova partizione di ripristino /dev/disk2s2
era
trasferito automaticamente.