10 votes

DIY Fusion Drive : Ajout de Recovery HD à un groupe de volumes CoreStorage

Après avoir créé un "DIY Fusion Drive" en utilisant les méthodes ci-dessous dans 10.8, je me demande maintenant comment ajouter une partition RecoveryHD au disque interne.

Voici ce que j'ai fait pour créer un groupe de volumes logiques sur deux volumes physiques (128G SSD/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

Cela a bien fonctionné, mais maintenant mon RecoveryHD a disparu. J'aimerais le récupérer (il se trouve sur le disque externe que j'ai cloné à partir de mon disque d'origine).

Voici à quoi ressemble l'agencement de la partition pour le moment :

$ 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

Quelqu'un connaît-il les commandes diskUtil pour ajouter le disque dur de récupération ? Idéalement après coup, ce qui est mon cas actuellement ?

6voto

Ged Byrne Points 481

Vous devrez d'abord partitionner les disques, en plaçant la partition de récupération sur l'un de vos disques physiques. Elle ne peut pas faire partie du disque de fusion car il est peu probable que vous puissiez démarrer directement sur un volume logique de Core Storage (vous avez besoin d'un chargeur de démarrage séparé).

Prenez note de la structure de la partition dans cet article d'Ars Technica sur le lecteur Fusion.

La meilleure façon de procéder est probablement de repartir à zéro en réinstallant Mountain Lion sur le SSD ou le disque dur, puis de répéter le processus de fusion avec la partition appropriée.

Une fois que vous avez fait une installation standard, vérifiez vos partitions en exécutant diskutil list ce qui devrait donner un résultat similaire à celui-ci :

/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

Notez l'identifiant du Macintosh HD partition ( disk0s2 dans ce cas).

Ensuite, effectuez les mêmes étapes que précédemment, mais modifiez l'adresse de l'utilisateur. diskutil corestorage create fusion_volume_group afin de spécifier le disk0s2 (ou l'équivalent dans votre cas), et l'identifiant du lecteur que vous utilisez. n'a pas installer OS X sur. La commande résultante devrait être similaire à diskutil corestorage create fusion_volume_group disk0s2 disk1 mais assurez-vous que vous avez les bons identifiants. La clé est que nous voulons créer un groupe de volumes à partir de la seule partition Macintosh HD, et non du disque entier (afin que les partitions EFI et Recovery ne soient pas effacées). Ensuite, suivez le reste de la procédure comme vous l'avez fait auparavant.

5voto

Len Holgate Points 12579

Ok, j'ai résolu le problème sans reformater ni réinstaller. J'espère que la plupart des gens ne se retrouveront pas dans cette situation. Voir la réponse de @robmathers pour des conseils sur la façon d'éviter de supprimer votre Recovery HD en premier lieu.

AVERTISSEMENT les commandes suivantes sont de très bas niveau et peuvent vous faire perdre des données. Prenez les précautions nécessaires (sauvegarde, clonage, etc.).

Mais pour tous ceux qui sont dans ma situation après que le RecoveryHD soit déjà parti, voici ce que j'ai fait :

  1. Sauvegarde de toutes les données / clonage de votre disque
  2. Créer une clé USB amorçable (ou utiliser un disque dur existant) avec 10.8
  3. Démarrez sur ce disque alternatif (afin de ne pas modifier le disque dur que vous avez monté).
  4. Démontez le Fusion HD
  5. Ouvrez le terminal, passez en super-utilisateur et suivez ces instructions :

Dressez la liste de la configuration actuelle, et notez les lecteurs que vous allez modifier. Vos tailles et GUIDs exacts seront différents des miens. Il est crucial d'utiliser vos chiffres plutôt que les miens. .

diskutil corestorage list

Prenez note de l'UUID du lecteur physique auquel vous ajoutez la récupération.

diskutil list

Prenez note de la taille exacte en octets du Recovery sur le disque de démarrage actuel (disk2s3 pourrait être différent pour vous).

diskutil info disk2s3

Redimensionnez le volume physique du lecteur auquel vous voulez ajouter la partition de récupération. Pour déterminer la taille, regardez la partition de restauration existante sur la clé USB. Dans mon cas, elle était légèrement inférieure à 1 Go. Pour la commande suivante, pvUUID est l'UUID du lecteur auquel vous ajoutez la restauration, la taille est de 1 Go inférieure à la taille actuelle.

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

REMARQUE : vous devrez peut-être démonter les volumes à plusieurs reprises au cours des étapes suivantes. OSX a tendance à remonter les volumes de manière agressive.

Repartitionnez la nouvelle partition "Recovery" d'un jHFS+ vers Apple_Boot. Tout d'abord, prenez note du début et de la taille exacte de la partition.

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 

Maintenant, supprimez la partition, et réinsérez-la avec un UUID différent (l'UUID est ce qui détermine le type de partition).

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

Maintenant, copiez toute la partition de récupération de la bonne partition vers la nouvelle :

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

Nous remercions les sites suivants pour leur référence. Lisez-les avant de vous lancer, si vous ne comprenez pas certaines de ces étapes.

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

0voto

user1987442 Points 91

Je trouve quelques bonnes réponses dans ce post. J'ai élaboré un guide étape par étape pour repartitionner le disque dur avec une partition Windows (pour Windows 7/8 Bootcamp) dans le premier espace de 2,2 To et reconstruire le disque de fusion en utilisant trois partitions.

Vous trouverez mon guide utile sur http://jochem.ke-works.com/post/38498466700/bootcamp-on-3tb-fusion-drive-macosx

0voto

user54088 Points 1

Jess Bowers a posté une solution vraiment sympa mais elle n'a bien fonctionné pour moi que jusqu'à celle-ci :

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

Et le résultat était :

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

La solution est de redimensionner d'abord le volume logique. Pour la commande suivante, lvUUID est l'UUID du volume logique et size est égal à current size of the Logical Volume - size of the Recovery partition (ou 1GB less than the current size si vous suivez mot à mot la solution de Jess Bowers) :

diskutil coreStorage resizeVolume <lvUUID> <size>

Et juste après ça resizeDisk... et le reste de sa solution a fonctionné comme un charme.

PS. Je viens de m'inscrire et je ne peux donc pas commenter directement, désolé.

0voto

coolaj86 Points 282

Essayer de récupérer un Mac Mini à partir d'une sauvegarde Time Machine

J'ai un Mac Mini 2012 avec un disque de fusion de ~120GB + 1TB.

J'ai un peu foiré en essayant d'installer un dual boot Ubuntu et je n'ai pas pu le restaurer à partir de ma sauvegarde Time Machine à cause de "There was an error creating recovery disk".

Pour résoudre ce problème, j'ai supprimé tous les volumes de tous types du disque et j'ai recommencé, en laissant 5 Go d'espace pour la partition de récupération à créer.

Puisque je sais maintenant à quoi ressemble la table au final (que je posterai... demain après que la sauvegarde soit restaurée), je suis sûr que j'aurais pu faire cela en redimensionnant également.

DANGER

Toutes ces commandes sont très dangereuses si vous avez des données sur votre ou vos disques.

J'utilise les commandes réelles que j'utiliserais, qui sont les commandes réelles que quelqu'un d'autre avec un lecteur de fusion installé en usine devrait utiliser.

À moins que la raison pour laquelle vous essayez d'ajouter un lecteur de récupération soit que votre lecteur est déjà complètement endommagé, je ne recommanderais PAS de suivre ces étapes.

CEPENDANT, ils peuvent servir de références pratiques en plus des autres instructions contenues dans ces articles.

Inspection des volumes

Regardez pour voir ce qu'il y a et faites d'abord des jugements appropriés :

# See all physical partitions
diskutil list

# See all core storage volumes
diskutil cs list

Suppression de tous les volumes

Ensuite, supprimez tout ce qui doit l'être :

# 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>

Recréez la table de partition à partir de zéro, si nécessaire :

# 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

Créer un stockage de base

Ce sera le "Macintosh HD" que vous connaissez et aimez.

# 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%

Remarque : vous pouvez souhaiter redémarrer à ce stade pour vous assurer que les volumes sont dans le bon ordre.

Démonter tout ce qui est

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

Libérer de l'espace

L'objectif de la création préalable d'un "Recovery HD" - dans l'hypothèse où vous souhaitez restaurer à partir d'une sauvegarde Time Machine - est simplement de réserver un espace supplémentaire à la fin d'un des disques afin qu'il ne soit pas absorbé par un autre volume.

Il est maintenant temps de le libérer pour que le processus de restauration puisse le créer à nouveau.

Vérifiez d'abord à nouveau les partitions existantes. Les chiffres devrait correspondent à la sortie de diskutil mais si ce n'est pas le cas, redémarrez ou faites confiance gpt sur diskutil .

Le site size ne sont pas listés en octets mais en secteurs, qui sont probablement 4KiB. Il est peut-être plus facile de savoir lequel est lequel par le ratio que par la taille exacte.

gpt -r show /dev/disk0

Maintenant, supprimez la partition correspondant à "Recovery HD". Après un redémarrage qui avait changé de disk0s3 à disk0s4 pour moi.

gpt remove -i 4

Après cela, je n'ai plus eu l'erreur de ne pas pouvoir créer une partition de récupération. Je découvrirai demain si la restauration de TM a réellement fonctionné. Je ne suis pas sûr que ce soit le cas, car je n'entends pas beaucoup d'activité sur le disque de sauvegarde. :-/

Ressources

Note : redimensionnement de la mémoire centrale

La plupart des documents que j'ai consultés montraient uniquement comment redimensionner ET créer un nouveau volume, mais vous pouvez redimensionner sans créer de nouveau 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!

Note : Définir le type de disque dur de récupération

Je n'ai pas pu obtenir de succès en créant un volume de récupération vierge. Cependant, si vous avez le BaseSystem.dmg et que vous êtes en mesure de le restaurer, vous pouvez définir le type de volume comme étant une partition de récupération cachée.

# 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

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