DIY Fusion Drive: Hinzufügen von Recovery HD zu einer CoreStorage-Volume-Gruppe


10

Nachdem ich ein "DIY Fusion Drive" mit den folgenden Methoden in 10.8 erstellt habe, frage ich mich nun, wie ich dem internen Laufwerk eine RecoveryHD-Partition hinzufügen kann.

Folgendes habe ich getan, um eine logische Datenträgergruppe auf zwei physischen Datenträgern (128 G SSD / 750 GHD) zu erstellen.

(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

Das hat super funktioniert, aber jetzt ist mein RecoveryHD weg. Ich möchte es wieder hinzufügen (es befindet sich auf dem externen Laufwerk, das ich von meiner ursprünglichen Festplatte geklont habe).

So sieht das Partitionslayout im Moment aus:

$ 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

Kennt jemand die diskUtil-Befehle zum Hinzufügen der Wiederherstellungs-HD? Idealerweise nachträglich, wo bin ich jetzt?

Antworten:


6

Sie müssen zuerst die Laufwerke partitionieren und die Wiederherstellungspartition auf einem Ihrer physischen Laufwerke ablegen. Es kann nicht Teil des Fusion-Laufwerks sein, da es unwahrscheinlich ist, dass Sie direkt von einem logischen Core Storage-Volume booten können (Sie benötigen einen Bootloader separat).

Beachten Sie die Partitionsstruktur in diesem Artikel von Ars Technica über das Fusion-Laufwerk.

Der beste Weg, dies zu tun, besteht wahrscheinlich darin, neu zu starten, indem Sie Mountain Lion entweder auf der SSD oder der Festplatte neu installieren und dann den Fusion-Vorgang mit nur der richtigen Partition wiederholen.

Überprüfen Sie nach einer Standardinstallation Ihre Partitionen, indem Sie sie ausführen. diskutil listDies sollte eine ähnliche Ausgabe ergeben:

/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

Notieren Sie sich die Kennung der Macintosh HDPartition ( disk0s2in diesem Fall).

Führen Sie dann die gleichen Schritte aus, die Sie zuvor ausgeführt haben, ändern Sie jedoch den diskutil corestorage create fusion_volume_groupBefehl, um das disk0s2(oder was auch immer das Äquivalent in Ihrem Fall ist) und die Kennung des Laufwerks anzugeben, auf dem Sie OS X nicht installiert haben. Der resultierende Befehl sollte ähnlich sein, diskutil corestorage create fusion_volume_group disk0s2 disk1 aber stellen Sie sicher, dass Sie die richtigen Bezeichner haben. Der Schlüssel ist, dass wir eine Volume-Gruppe nur aus der Macintosh HD-Partition und nicht aus dem gesamten Laufwerk erstellen möchten (damit die EFI- und Recovery-Partitionen nicht gelöscht werden). Befolgen Sie dann den Rest des Verfahrens wie zuvor.


Wissen Sie, wie die diskutil-Befehle lauten würden, um diese Operation auszuführen?
Jess Bowers

Ich habe einige weitere Informationen hinzugefügt, die funktionieren sollten, aber ich habe kein Setup, an dem ich es tatsächlich testen kann. Das Fusion-Laufwerk ist zu diesem Zeitpunkt ziemlich undokumentiert, und wir arbeiten nur daran, was sich einige Leute durch Ausprobieren ausgedacht haben. Stellen Sie sicher, dass Sie alle Ergebnisse veröffentlichen, die Sie hier erhalten.
Robmathers

Ich denke, Sie haben Recht, wenn Sie disk0s2 und nicht disk0 angeben. Ich kann dies heute nicht überprüfen, da das Wochenende meine Zeit war, meine Maschine auseinander zu reißen und wieder aufzubauen. Jetzt muss ich arbeiten! Ich werde versuchen, dies bald zu testen.
Jess Bowers

Ich habe gerade 10.8.2 auf einem brandneuen leeren CS-Volume (120 GB SSD + 640 GB HDD) installiert, um zu sehen, ob das ML-Installationsprogramm eine neue Wiederherstellungspartition hinzufügen würde - dies war nicht der Fall. Die obigen Anweisungen sollten also korrekt sein und werden bei der nächsten Testbereitstellung versucht.
da4

ERFOLG! Ende 2008 MacBook Pro, 2. HD im Steckplatz für optische Laufwerke: Ich habe die Haupt-HD mit 320 GB durch eine SSD mit 256 GB ersetzt. Folgendes @robmather: Ich habe Mountain Lion auf der SSD installiert; startete den MBP von einem externen Laufwerk; studierte die diskutil listAusgabe, um den Festplatten-IDENTIFIER für "Macintosh HD" auf der SSD zu erhalten. Verwendet das mit den Corestorage-Befehlen von diskutil, um ein Fusionsvolumen zu erstellen. Vom Wiederherstellungs-Volume gestartet, ML installiert und die gesamte Originaldiskette auf mein neues 560-GB-Fusions-Volume migriert. Alles funktioniert, auch Ubuntu unter VMWare. Bestellte eine langsame / billige 1 TB HD; Bald schaltet mein 4 Jahre alter MBP 8 GB, 1,25 TB, SSD ein!
Bruce Van Allen

5

Ok, ich habe das Problem gelöst, ohne es neu zu formatieren oder neu zu installieren. Hoffentlich werden die meisten Menschen in dieser Situation nicht landen. In der Antwort von @robmathers finden Sie Tipps, wie Sie das Löschen Ihrer Recovery HD überhaupt vermeiden können.

WARNUNG Die folgenden Befehle sind relativ niedrig und können dazu führen, dass Sie Daten verlieren. Treffen Sie die richtigen Vorsichtsmaßnahmen (Backup, Klonen usw.).

Aber für jeden in meiner Situation, nachdem die RecoveryHD bereits verschwunden ist, habe ich Folgendes getan:

  1. Sichern Sie alle Daten / klonen Sie Ihr Laufwerk
  2. Erstellen Sie mit 10.8 einen bootfähigen USB-Stick (oder verwenden Sie eine vorhandene Festplatte)
  3. Starten Sie dieses alternative Laufwerk (damit Sie die aktuell gemountete Festplatte nicht ändern).
  4. Hängen Sie die Fusion HD aus
  5. Öffnen Sie das Terminal, wechseln Sie zum Superuser und befolgen Sie diese Anweisungen:

Listen Sie die aktuelle Konfiguration auf und notieren Sie sich, welche Laufwerke Sie ändern möchten. Ihre genauen Größen und GUIDs unterscheiden sich von meinen. Es ist wichtig, dass Sie Ihre Nummern anstelle meiner verwenden .

diskutil corestorage list

Notieren Sie sich die UUID des physischen Laufwerks, zu dem Sie die Wiederherstellung hinzufügen.

diskutil list

Notieren Sie sich die genaue Größe der Wiederherstellung in Byte auf der aktuellen Startdiskette (disk2s3 kann für Sie unterschiedlich sein).

diskutil info disk2s3

Ändern Sie die Größe des physischen Volumes für das Laufwerk, zu dem Sie die Wiederherstellungspartition hinzufügen möchten. Um die Größe zu bestimmen, suchen Sie in der vorhandenen Wiederherstellungspartition auf dem USB-Stick. In meinem Fall war es knapp 1 GB. Für den folgenden Befehl ist pvUUID die UUID des Laufwerks, zu dem Sie die Wiederherstellung hinzufügen. Die Größe ist 1 GB kleiner als die aktuelle Größe.

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

HINWEIS: Möglicherweise müssen Sie die Volumes in den folgenden Schritten wiederholt aushängen. OSX neigt dazu, die Volumes aggressiv neu bereitzustellen.

Partitionieren Sie die neue "Recovery" -Partition von einem jHFS + auf Apple_Boot. Notieren Sie sich zunächst den genauen Start / die genaue Größe der 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 

Entfernen Sie nun die Partition und fügen Sie sie erneut mit einer anderen UUID hinzu (die UUID bestimmt den Partitionstyp).

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

Kopieren Sie nun die gesamte Wiederherstellungspartition von der guten auf diese neue:

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

Vielen Dank an die folgenden Seiten als Referenz. Informieren Sie sich vor dem Eintauchen, wenn Sie einen dieser Schritte nicht verstehen.

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


Update: Dieses Setup läuft seit 11/12 einwandfrei für mich.
Jess Bowers

0

Ich finde einige gute Antworten in diesem Beitrag. Ich habe eine Schritt-für-Schritt-Anleitung zum erneuten Partitionieren der Festplatte mit einer Windows-Partition (für Windows 7/8 Bootcamp) innerhalb des ersten 2,2-TB-Speicherplatzes und zum Neuerstellen des Fusionslaufwerks mit drei Partitionen ausgearbeitet.

Sie finden meinen Leitfaden nützlich unter http://jochem.ke-works.com/post/38498466700/bootcamp-on-3tb-fusion-drive-macosx


1
Antworten auf Ask Different müssen mehr als nur ein Link sein. Es ist in Ordnung, einen Link einzufügen, aber bitte fassen Sie ihn zusammen oder extrahieren Sie ihn in die Antwort. Die Idee ist, die Antwort eigenständig zu machen.
Daniel

0

Jess Bowers hat eine wirklich schöne Lösung gepostet, aber sie hat nur bis zu dieser gut funktioniert:

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

Und die Ausgabe war:

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

Die Lösung besteht darin, zuerst die Größe des logischen Volumes zu ändern. Für den folgenden Befehl lvUUIDist die UUID des logischen Volumes sizegleich current size of the Logical Volume- size of the Recovery partition(oder 1GB less than the current sizewenn Sie der Lösung von Jess Bowers Wort für Wort folgen):

diskutil coreStorage resizeVolume <lvUUID> <size>

Und gleich danach resizeDisk...und der Rest seiner Lösung funktionierte wie ein Zauber.

PS. Ich habe mich gerade angemeldet, damit ich nicht direkt kommentieren kann, sorry.


0

Versuch, Mac Mini von Time Machine Backup wiederherzustellen

Ich habe einen Mac Mini 2012 mit einem ~ 120 GB + 1 TB Fusionslaufwerk.

Ich habe es ein wenig aufgebockt, als ich versucht habe, einen Ubuntu-Dual-Boot zu installieren, und konnte es aufgrund "Fehler beim Erstellen der Wiederherstellungsdiskette" nicht aus meiner Time Machine-Sicherung wiederherstellen.

Um dies zu beheben, habe ich alle Volumes aller Typen von der Festplatte entfernt und neu gestartet, sodass 5 GB Speicherplatz für die zu erstellende Wiederherstellungspartition übrig blieben.

Da ich jetzt weiß, wie die Tabelle letztendlich aussah (die ich morgen nach der Wiederherstellung des Backups zurückschicken werde), bin ich zuversichtlich, dass ich dies auch durch Größenänderung hätte tun können.

ACHTUNG

Alle diese Befehle sind sehr gefährlich, wenn Sie Daten auf Ihren Datenträgern haben.

Ich verwende die tatsächlichen Befehle, die ich verwenden würde. Dies sind die tatsächlichen Befehle, die jemand anderes mit einem werkseitig installierten Fusionslaufwerk verwenden müsste.

Sofern der Grund, warum Sie versuchen, ein Wiederherstellungslaufwerk hinzuzufügen, nicht darin besteht, dass Ihr Laufwerk bereits völlig durcheinander ist, würde ich NICHT empfehlen, diese Schritte auszuführen.

Sie können jedoch zusätzlich zu anderen Anweisungen in diesen Beiträgen als nützliche Referenzen dienen.

Volumen überprüfen

Schauen Sie nach, was da ist, und urteilen Sie zuerst richtig:

# See all physical partitions
diskutil list

# See all core storage volumes
diskutil cs list

Alle Volumes entfernen

Löschen Sie dann alles, was gelöscht werden muss:

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

Erstellen Sie die Partitionstabelle bei Bedarf von Grund auf neu:

# 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

Erstellen Sie einen Kernspeicher

Dies wird "Macintosh HD" sein, wie Sie wissen und lieben

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

Hinweis: Möglicherweise möchten Sie zu diesem Zeitpunkt neu starten, um sicherzustellen, dass die Volumes in der richtigen Reihenfolge sind.

Hängen Sie alle Dinge aus

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

Platz freigeben

Der Zweck der vorherigen Erstellung von "Recovery HD" - vorausgesetzt, Sie möchten aus einer Time Machine-Sicherung wiederherstellen - besteht lediglich darin, zusätzlichen Speicherplatz am Ende einer der Festplatten zu reservieren, damit diese nicht in ein anderes Volume aufgenommen werden .

Jetzt ist es Zeit, es wieder freizugeben, damit der Wiederherstellungsprozess es erneut erstellen kann.

Überprüfen Sie zunächst erneut, welche Partitionen vorhanden sind. Die Zahlen sollten die Ausgabe übereinstimmen diskutil, aber wenn nicht entweder Neustart oder Vertrauen gptauf diskutil.

Die sizes sind nicht in Bytes aufgeführt, sondern in Sektoren, die wahrscheinlich 4 KB groß sind. Es kann besser sein, anhand des Verhältnisses zu erkennen, welches welches ist, als anhand der exakten Größe.

gpt -r show /dev/disk0

Entfernen Sie nun die Partition, die "Recovery HD" entspricht. Nach einem Neustart, der sich für mich von disk0s3zu geändert hatte disk0s4.

gpt remove -i 4

Danach wurde der Fehler angezeigt, dass keine Wiederherstellungspartition erstellt werden konnte. Ich werde morgen herausfinden, ob die TM-Wiederherstellung tatsächlich funktioniert hat. Ich bin mir nicht sicher, ob dies der Fall sein wird, da ich nicht viel über die Festplattenaktivität auf dem Sicherungslaufwerk höre. : - /

Ressourcen

Hinweis: Ändern der Größe des Kernspeichers

Viele der Dinge, die ich mir angesehen habe, haben nur gezeigt, wie man die Größe ändert UND ein neues Volume erstellt. Sie können jedoch die Größe ändern, ohne ein neues Volume zu erstellen.

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

Hinweis: Stellen Sie den Typ von Recovery HD ein

Ich konnte keinen Erfolg erzielen, indem ich ein leeres Wiederherstellungsvolumen erstellte. Wenn Sie jedoch über BaseSystem.dmg verfügen und es wiederherstellen können, möchten Sie möglicherweise den Datenträgertyp als versteckte Wiederherstellungspartition festlegen.

# 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

Hier ist ein Video, das den Prozess beschreibt, sowie einige Benchmarks: http://www.youtube.com/watch?v=I_odnNpv-FQ

Befehle, die Sie benötigen, um:

diskutil Liste

diskutil cs erstellen Fusion diskx diskx

HINWEIS: Sie können Fusion durch eine beliebige Bezeichnung für Ihre logische Datenträgergruppe ersetzen

diskutil cs Liste

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

HINWEIS: Sie können "Macintosh Fusion" durch ein beliebiges Laufwerk ersetzen. Denken Sie daran, "" zu verwenden, wenn Sie wie wir ein Leerzeichen in Ihrem Namen haben möchten, andernfalls benötigen Sie diese nicht.

Öffnen Sie nach Abschluss der Installation das Terminal und schalten Sie die Indizierung ein:

sudo mdutil -i aus

Wenn Sie zu zwei separaten Laufwerken zurückkehren möchten, starten Sie das Installationsprogramm erneut, öffnen Sie das Terminal und geben Sie Folgendes ein:

diskutil cs lösche YOUR_DEVICE_ID

Sie können sie dann mithilfe des Terminal- oder Festplatten-Dienstprogramms nach Belieben formatieren


Es ist nicht klar, was Sie hier tun, um die Wiederherstellung HD zu machen. Könnten Sie die nicht verwandten Elemente herausarbeiten, um diesen Thread schlank und gemein zu halten?
bmike
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.