Fusion Drive fai-da-te: aggiunta di Recovery HD a un gruppo di volumi CoreStorage


10

Dopo aver creato un "Fusion Drive fai-da-te" usando i metodi di seguito in 10.8, ora mi chiedo come aggiungere una partizione RecoveryHD all'unità interna.

Ecco cosa ho fatto per creare un gruppo di volumi logici su due volumi fisici (SSD 128G / 750GHD)

(make a clone / backup of all your data first)
diskutil list (take note of the disk## of the two drives. In my case: disk0/disk1)
diskutil corestorage create fusion_volume_group disk0 disk1
diskutil corestorage list (take note of the Logical Volume Group UUID)
diskutil corestorage createVolume <UUID> jhfs+ FusionHD 749g
restore the clone onto the FusionHD

Funzionava alla grande, ma ora il mio RecoveryHD non c'è più. Vorrei aggiungerlo di nuovo (è sull'unità esterna che ho clonato dal mio HD originale)

Ecco come appare il layout della partizione in questo momento:

$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *120.0 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:          Apple_CoreStorage                         119.7 GB   disk0s2
   3:                 Apple_Boot Boot OS X               134.2 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *750.2 GB   disk1
   1:                        EFI                         209.7 MB   disk1s1
   2:          Apple_CoreStorage                         749.3 GB   disk1s2
   3:                 Apple_Boot Boot OS X               650.0 MB   disk1s3
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS FusionHD               *744.5 GB   disk2

Qualcuno conosce i comandi diskUtil per aggiungere il recupero HD? Idealmente dopo il fatto, che è dove sono ora?

Risposte:


6

Dovrai prima partizionare le unità, inserendo la partizione di ripristino su una delle tue unità fisiche. Non può far parte dell'unità Fusion poiché è improbabile che sia possibile eseguire l'avvio direttamente in un volume logico Core Storage (è necessario un boot loader separatamente).

Prendi nota della struttura delle partizioni in questo articolo di Ars Technica sull'unità Fusion.

Il modo migliore per farlo è probabilmente ricominciare da capo reinstallando Mountain Lion su SSD o HDD, quindi ripetere il processo Fusion con solo la partizione corretta.

Una volta eseguita un'installazione standard, controlla le tue partizioni eseguendo diskutil list, che dovrebbe dare un output simile a questo:

/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *120.0 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            119.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

Prendi nota dell'identificatore della Macintosh HDpartizione ( disk0s2in questo caso).

Quindi esegui gli stessi passaggi che hai eseguito in precedenza, ma modifica il diskutil corestorage create fusion_volume_groupcomando in modo da specificare disk0s2(o qualunque sia l'equivalente nel tuo caso) e l'identificatore dell'unità su cui non hai installato OS X. Il comando risultante dovrebbe essere simile diskutil corestorage create fusion_volume_group disk0s2 disk1 ma assicurati di avere gli identificatori corretti. La chiave è che vogliamo creare un gruppo di volumi solo dalla partizione HD Macintosh, non dall'intera unità (in modo che le partizioni EFI e Recovery non vengano cancellate). Quindi seguire il resto della procedura come prima.


Sai quali sarebbero i comandi diskutil per fare quell'operazione?
Jess Bowers,

Ho aggiunto che alcune altre informazioni dovrebbero funzionare, ma non ho un setup su cui posso effettivamente provarlo. Le cose dell'unità Fusion sono piuttosto prive di documenti a questo punto, e stiamo solo lavorando su ciò che alcune persone hanno escogitato da prove ed errori. Assicurati di pubblicare tutti i risultati che ottieni qui.
robmathers

Penso che tu abbia ragione a specificare disk0s2 piuttosto che disk0. Non posso verificarlo oggi, dato che il fine settimana è stato il mio momento di "smantellare la mia macchina e ricostruire". Adesso devo lavorare! Proverò a provarlo presto.
Jess Bowers,

Ho appena installato 10.8.2 su un nuovissimo volume CS vuoto (SSD da 120 GB + HDD da 640 GB) per vedere se il programma di installazione ML avrebbe aggiunto una nuova partizione di ripristino, ma non è così. Quindi le istruzioni sopra dovrebbero essere corrette, proveranno alla prossima distribuzione di prova.
da4,

SUCCESSO! MacBook Pro di fine 2008, 2 ° HD nello slot dell'unità ottica: ho sostituito l'HD principale da 320 GB con un SSD da 256 GB. A seguito di @robmather: ho installato Mountain Lion sull'SSD; avviato l'MBP da un'unità esterna; studiato l' diskutil listoutput per ottenere l'IDENTIFICATORE del disco per "Macintosh HD" sull'SSD. Usato con i comandi di corestorage di diskutil per creare il volume di fusione. Avviato da Recovery Volume, installato ML e migrato tutto il disco originale sul mio nuovo volume di fusione da 560 GB. Funziona tutto, anche Ubuntu su VMWare. Ho ordinato un HD da 1 TB lento / economico; presto il mio MBP di 4 anni si accende su w 8 GB, 1,25 TB, SSD!
Bruce Van Allen,

5

Ok, quindi ho risolto il problema senza riformattare o reinstallare. Spero che la maggior parte delle persone non finisca in questa situazione. Consulta la risposta di @robmathers per suggerimenti su come evitare di eliminare Recovery HD in primo luogo.

ATTENZIONE i seguenti comandi sono di livello piuttosto basso e possono causare la perdita di dati. Prendere le dovute precauzioni (backup, clone, ecc.).

Ma per chiunque si trovi nella mia situazione dopo che RecoveryHD è già sparito, ecco cosa ho fatto:

  1. Eseguire il backup di tutti i dati / clonare l'unità
  2. Crea un USB avviabile (o usa un HD esistente) con 10.8
  3. Avvia in quell'unità alternativa (quindi non stai modificando l'HD che hai attualmente montato)
  4. Smonta Fusion HD
  5. Apri il terminale, passa al superutente e segui queste istruzioni:

Elenca la configurazione corrente e prendi nota delle unità che modificherai. Le dimensioni esatte e i GUID saranno diversi dai miei. È fondamentale utilizzare i tuoi numeri anziché i miei .

diskutil corestorage list

Prendi nota dell'UUID dell'unità fisica a cui stai aggiungendo il ripristino.

diskutil list

Prendi nota della dimensione esatta in byte del ripristino sul disco di avvio corrente (disk2s3 potrebbe essere diverso per te).

diskutil info disk2s3

Ridimensiona il volume fisico per l'unità a cui desideri aggiungere la partizione di ripristino. Per determinare la dimensione, guarda @ la partizione di ripristino esistente su USB. Nel mio caso era poco meno di 1 GB. Per il comando seguente, pvUUID è l'UUID dell'unità a cui stai aggiungendo il ripristino, la dimensione è 1 GB in meno rispetto alla dimensione corrente.

diskutil coreStorage resizeDisk <pvUUID> <size> JHFS+ Recovery 784220160B

NOTA: potrebbe essere necessario smontare ripetutamente i volumi nei seguenti passaggi. OSX tende a rimontare aggressivamente i volumi.

Ripartizionare la nuova partizione "Ripristino" da jHFS + ad Apple_Boot. Innanzitutto, prendi nota dell'esatto inizio / dimensione della partizione.

gpt show disk0

     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  246725744      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
247135384     262144
**247397528    1269528       3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC**
248667056    1402591
250069647         32         Sec GPT table
250069679          1         Sec GPT header 

Ora rimuovi la partizione e aggiungila di nuovo con un UUID diverso (l'UUID è ciò che determina il tipo di partizione)

gpt remove -b 247397528 -s 1269528 -t 48465300-0000-11AA-AA11-00306543ECAC disk0
gpt add -b 247397528 -s 1269528 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk0

Ora copia l'intera partizione di ripristino da quella buona a questa nuova:

dd if=/dev/disk2s3 of=/dev/disk0s3

Mille grazie ai seguenti siti per riferimento. Leggi su di loro prima di immergerti, se non capisci nessuno di questi passaggi.

http://blog.fosketts.net/2011/08/05/undocumented-corestorage-commands/

http://www.dmitry-dulepov.com/2011/09/how-to-create-mac-os-x-lion-recovery.html


aggiornamento: questa configurazione funziona perfettamente per me dall'11 / 12.
Jess Bowers,

0

Trovo delle buone risposte in questo post. Ho elaborato una guida dettagliata sul ripartizionamento del disco rigido con una partizione di Windows (per Bootcamp di Windows 7/8) entro il primo spazio da 2,2 TB e sulla ricostruzione dell'unità di fusione usando tre partizioni.

La mia guida è utile su http://jochem.ke-works.com/post/38498466700/bootcamp-on-3tb-fusion-drive-macosx


1
Risposte su Ask Diverso deve essere più di un semplice link. Va bene includere un link, ma per favore riassumilo o estrailo nella risposta. L'idea è di rendere la risposta indipendente.
Daniel

0

Jess Bowers ha pubblicato una soluzione davvero bella ma ha funzionato bene per me solo fino a questo:

diskutil coreStorage resizeDisk <pvUUID> <size> JHFS+ Recovery 784220160B

E l'output era:

Error: -69720: There is not enough free space in the Core Storage Logical Volume Group for this operation

La soluzione consiste nel ridimensionare prima il volume logico. Per il comando seguente, lvUUIDè l'UUID del volume logico ed sizeè uguale a current size of the Logical Volume- size of the Recovery partition(o 1GB less than the current sizese segui la soluzione di Jess Bowers parola per parola):

diskutil coreStorage resizeVolume <lvUUID> <size>

E subito dopo resizeDisk...e il resto della sua soluzione ha funzionato proprio come un fascino.

PS. Mi sono appena registrato, quindi non posso commentare direttamente, scusa.


0

Prova di ripristinare Mac Mini da Time Machine Backup

Ho un Mac Mini 2012 con un'unità di fusione da ~ 120 GB + 1 TB.

L'ho corretto un po 'mentre cercavo di installare un dual boot Ubuntu e non sono riuscito a ripristinarlo dal mio backup di Time Machine a causa di "Si è verificato un errore durante la creazione del disco di ripristino".

Per risolvere il problema, ho rimosso tutti i volumi di tutti i tipi dal disco e ricominciato da capo, lasciando 5 GB di spazio per la creazione della partizione di ripristino.

Dato che ora so che aspetto ha avuto la tabella (che pubblicherò indietro ... domani dopo il ripristino del backup), sono fiducioso che avrei potuto farlo anche ridimensionando.

PERICOLO

Tutti questi comandi sono molto pericolosi se hai dei dati sul tuo disco.

Sto usando i comandi effettivi che vorrei utilizzare, che sono i comandi effettivi che dovrebbero utilizzare qualcun altro con un'unità di fusione installata in fabbrica.

A meno che il motivo per cui si sta tentando di aggiungere un'unità di ripristino sia dovuto al fatto che l'unità è già completamente incasinata, NON consiglierei di seguire questi passaggi.

TUTTAVIA, possono apparire come utili riferimenti oltre ad altre istruzioni in questi post.

Ispezione dei volumi

Cerca di vedere cosa c'è e fai prima i giusti giudizi:

# See all physical partitions
diskutil list

# See all core storage volumes
diskutil cs list

Rimozione di tutti i volumi

Quindi elimina tutto ciò che deve essere eliminato:

# Delete a Logical Volume
diskutil cs deleteVolume <lvUUID>

# Delete a Physical Volume
diskutil cs deleteDisk <pvUUID>

# Delete a Logical Volume Group (everything)
diskutil cs delete <lvgUUID>

Ricreare la tabella delle partizioni da zero, se necessario:

# Re-partition and format the HDD
# `R` means Remainder
# `5G` means ~4.7GiB
diskutil partitionDisk disk0 2 GPT \
    JHFS+ Macintosh\ HD R \
    JHFS+ Recovery\ HD 5G

# Re-partition and format the SSD
# the remainder, `R`, is 100% of the usable disk space
diskutil partitionDisk disk1 1 GPT \
    JHFS+ Macintosh\ HD R

Crea Core Storage

Questo sarà "Macintosh HD" come sai e ami

# Create a logical volume group named "Macintosh HD"
diskutil cs create Macintosh\ HD disk0s2 disk1

# Create a volume (of the same name) using 100% of the group
diskutil cs createVolume <lvgUUID> jhfs+ Macintosh\ HD 100%

Nota: in questa fase potrebbe essere necessario riavviare per assicurarsi che i volumi siano nell'ordine giusto.

Smonta tutte le cose

diskutil unmount "Macintosh HD"
diskutil unmount "Recovery HD"
diskutil unmountDisk /dev/disk0
diskutil unmountDisk /dev/disk1

Liberare spazio

Lo scopo di creare "Recovery HD" in precedenza - presupponendo lo scenario in cui si desidera ripristinare da un backup di Time Machine - è solo quello di riservare spazio extra alla fine di uno dei dischi in modo che non venga assorbito in nessun altro volume .

Ora è il momento di liberare il backup in modo che il processo di ripristino possa crearlo nuovamente.

Prima controlla di nuovo per vedere quali partizioni esistono. I numeri devono corrispondere l'uscita di diskutil, ma se non sia il riavvio o la fiducia gptsopra diskutil.

Gli sizes non sono elencati in byte ma in settori, che sono probabilmente 4KiB. Potrebbe essere meglio dire quale è quale rapporto rispetto alla dimensione esatta.

gpt -r show /dev/disk0

Ora rimuovi la partizione corrispondente a "Recovery HD". Dopo un riavvio che era cambiato da disk0s3a disk0s4per me.

gpt remove -i 4

Dopodiché ho smesso di ricevere l'errore di non poter creare una partizione di ripristino. Lo scoprirò domani se il recupero della TM ha effettivamente funzionato. Non sono sicuro che non ascolto molto sull'attività del disco sull'unità di backup. : - /

risorse

Nota: ridimensionamento della memoria principale

Molte delle cose che ho visto hanno mostrato solo come ridimensionare E creare un nuovo volume, ma è possibile ridimensionare senza creare un nuovo volume.

# First resize the logical volume
diskutil coreStorage resizeVolume <lvUUID> 1T

# Next resize the physical volume
diskutil coreStorage resizeDisk <pvUUID> 997G

# Tada! You have free space!

Nota: impostare il tipo di Recovery HD

Non sono stato in grado di ottenere successo creando un volume di recupero vuoto. Tuttavia, se si dispone di BaseSystem.dmg e si è in grado di ripristinarlo, è possibile impostare il tipo di volume su una partizione di ripristino nascosta.

# Unmount to be able to make changes
diskutil unmount /dev/disk0s3

# Change the type from Apple_HFS to Apple_Boot
asr adjust -target /dev/disk0s3 -settype Apple_Boot

-1

Ecco un video che illustra il processo, oltre ad alcuni parametri di riferimento: http://www.youtube.com/watch?v=I_odnNpv-FQ

Comandi necessari per:

elenco diskutil

diskutil cs crea Fusion diskx diskx

NOTA: è possibile sostituire Fusion con qualsiasi cosa si desideri nominare il gruppo di volumi logici

diskutil cs list

diskutil coreStorage createVolume YOUR_DEVICE_ID_HERE jhfs + "Macintosh Fusion" 100%

NOTA: è possibile sostituire "Macintosh Fusion" con qualsiasi nome si desideri denominare l'unità. Ricorda di usare "" se vuoi uno spazio nel tuo nome come abbiamo fatto noi, altrimenti non ne avrai bisogno.

Al termine dell'installazione, aprire il terminale e attivare l'indicizzazione:

sudo mdutil -i spento

Se si desidera ripristinare 2 unità separate, avviare nuovamente il programma di installazione, aprire Terminale e digitare:

diskutil cs elimina YOUR_DEVICE_ID

Sarai quindi in grado di formattarli come preferisci usando Terminal o Disk Utility


Non è chiaro cosa stai facendo qui per rendere il recupero HD. Potresti modificare gli elementi non correlati per mantenere questo thread snello e cattivo?
bmike
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.