DIY Fusion Drive: dodawanie Recovery HD do grupy woluminów CoreStorage

10

Po utworzeniu „DIY Fusion Drive” przy użyciu poniższych metod w 10.8 zastanawiam się teraz, jak dodać partycję RecoveryHD do wewnętrznego dysku.

Oto, co zrobiłem, aby utworzyć logiczną grupę woluminów na dwóch woluminach fizycznych (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

Działa to świetnie, ale teraz mój RecoveryHD zniknął. Chciałbym go dodać z powrotem (jest na dysku zewnętrznym, który sklonowałem z mojego oryginalnego dysku HD)

Oto jak teraz wygląda układ partycji:

$ 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

Czy ktoś zna polecenia diskUtil, aby dodać HD odzyskiwania? Idealnie po fakcie, gdzie jestem teraz?

Jess Bowers
źródło

Odpowiedzi:

6

Najpierw musisz podzielić dyski, umieszczając partycję odzyskiwania na jednym z dysków fizycznych. Nie może być częścią napędu Fusion, ponieważ jest mało prawdopodobne, aby można było uruchomić bezpośrednio na wolumin logiczny Core Storage (potrzebujesz osobnego modułu ładującego).

Zwróć uwagę na strukturę partycji w tym artykule Ars Technica na temat napędu Fusion.

Najlepszym sposobem na to jest prawdopodobnie rozpoczęcie od nowa poprzez ponowną instalację Mountain Lion na dysku SSD lub HDD, a następnie powtórzenie procesu Fusion z odpowiednią partycją.

Po zakończeniu standardowej instalacji sprawdź partycje, uruchamiając je diskutil list, co powinno dać wynik podobny do następującego:

/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

Zanotuj identyfikator Macintosh HDpartycji ( disk0s2w tym przypadku).

Następnie wykonaj te same kroki, które wykonałeś wcześniej, ale zmień diskutil corestorage create fusion_volume_grouppolecenie tak, aby określało disk0s2(lub cokolwiek w twoim przypadku jest równoważne) oraz identyfikator napędu, na którym nie zainstalowałeś OS X. Wynikowe polecenie powinno być podobne do, diskutil corestorage create fusion_volume_group disk0s2 disk1 ale upewnij się, że masz poprawne identyfikatory. Kluczem jest to, że chcemy utworzyć grupę woluminów z samej partycji Macintosh HD, a nie z całego dysku (aby partycje EFI i Recovery nie zostały wymazane). Następnie wykonaj pozostałą część procedury, tak jak poprzednio.

robmathers
źródło
Czy wiesz, jakie byłyby polecenia diskutil, aby wykonać tę operację?
Jess Bowers
Dodałem więcej informacji, które powinny działać, ale nie mam konfiguracji, na której mogę ją przetestować. Dysk Fusion jest w tej chwili dość nieudokumentowany, a my po prostu pracujemy nad tym, co kilka osób wymyśliło metodą prób i błędów. Pamiętaj, aby opublikować wyniki, które tu otrzymasz.
robmathers,
Myślę, że masz rację, określając disk0s2 zamiast disk0. Nie mogę tego dzisiaj zweryfikować, ponieważ weekend był czasem „rozerwania mojej maszyny i odbudowywania”. Teraz muszę pracować! Spróbuję to wkrótce przetestować.
Jess Bowers,
Właśnie zainstalowałem 10.8.2 na zupełnie nowych pustych woluminach CS (120 GB SSD + 640 GB HDD), aby sprawdzić, czy instalator ML doda nową partycję odzyskiwania - tak się nie stało. Więc powyższe instrukcje powinny być poprawne, spróbują przy następnym wdrożeniu testowym.
da4,
SUKCES! MacBook Pro z końca 2008 r., 2. HD w gnieździe napędu optycznego: główny dysk HD 320 GB zastąpiłem dyskiem SSD 256 GB. Następujący @robmather: Zainstalowałem Mountain Lion na dysku SSD; uruchomił MBP z zewnętrznego dysku; przeanalizował dane diskutil listwyjściowe, aby uzyskać identyfikator ID dysku dla „Macintosh HD” na dysku SSD. Wykorzystano to w połączeniu z poleceniami diskstil corestorage, aby utworzyć objętość syntezy. Uruchomiłem z Recovery Volume, zainstalowałem ML i przeprowadziłem migrację całego oryginalnego dysku na mój nowy wolumin fusion 560 GB. Wszystko działa, nawet Ubuntu na VMWare. Zamówiłem wolny / tani HD o pojemności 1 TB; wkrótce moje 4-letnie MBP uruchamia się w 8 GB, 1,25 TB, SSD!
Bruce Van Allen,
5

Ok, więc rozwiązałem problem bez ponownego formatowania lub ponownej instalacji. Mam nadzieję, że większość ludzi nie skończy w tej sytuacji. Zobacz odpowiedź na @robmathers, aby uzyskać porady dotyczące unikania usuwania Recovery HD w pierwszej kolejności.

OSTRZEŻENIE poniższe polecenia są dość niskiego poziomu i mogą spowodować utratę danych. Podejmij odpowiednie środki ostrożności (tworzenie kopii zapasowych, klonowanie itp.).

Ale dla każdego w mojej sytuacji, gdy RecoveryHD już nie ma, oto co zrobiłem:

  1. Wykonaj kopię zapasową wszystkich danych / sklonuj dysk
  2. Utwórz bootowalny USB (lub użyj istniejącego HD) z 10.8
  3. Uruchom komputer na tym napędzie alternatywnym (abyś nie modyfikował dysku HD, który właśnie zamontowałeś)
  4. Odmontuj Fusion HD
  5. Otwórz terminal, przejdź do administratora i postępuj zgodnie z tymi instrukcjami:

Podaj aktualną konfigurację i zanotuj, które dyski będziesz modyfikować. Twoje dokładne rozmiary i identyfikatory GUID będą inne niż moje. Ważne jest, aby używać swoich numerów zamiast moich .

diskutil corestorage list

Zanotuj identyfikator UUID dysku fizycznego, do którego dodajesz Odzyskiwanie.

diskutil list

Zwróć uwagę na dokładny rozmiar w bajtach Odzyskiwania na bieżącym dysku startowym (disk2s3 może być inny dla Ciebie).

diskutil info disk2s3

Zmień rozmiar woluminu fizycznego dla dysku, do którego chcesz dodać partycję odzyskiwania. Aby określić rozmiar, spójrz @ istniejącą partycję odzyskiwania na USB. W moim przypadku było to nieco poniżej 1 GB. W przypadku następującego polecenia pvUUID jest identyfikatorem UUID dysku, do którego dodajesz Odzyskiwanie, rozmiar jest o 1 GB mniejszy niż bieżący rozmiar.

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

UWAGA: może być konieczne wielokrotne odmontowywanie woluminów w poniższych krokach. OSX ma tendencję do agresywnego ponownego instalowania woluminów.

Ponownie podziel nową partycję „Recovery” z jHFS + na Apple_Boot. Najpierw zanotuj dokładny początek / rozmiar partycji.

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 

Teraz usuń partycję i ponownie dodaj ją z innym UUID (to UUID decyduje o typie partycji)

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

Teraz skopiuj całą partycję odzyskiwania z dobrej do nowej:

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

Ogromne podziękowania dla poniższych stron w celach informacyjnych. Przeczytaj je przed zanurzeniem, jeśli nie rozumiesz żadnego z tych kroków.

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

Jess Bowers
źródło
aktualizacja: ta konfiguracja działa dla mnie bezbłędnie od 11.12.
Jess Bowers
0

W tym poście znajduję kilka dobrych odpowiedzi. Opracowałem przewodnik krok po kroku na temat partycjonowania dysku twardego z partycją Windows (dla Windows 7/8 Bootcamp) w obrębie pierwszego miejsca o pojemności 2,2 TB i odbudowywania napędu fusion za pomocą trzech partycji.

Przydatny będzie mój przewodnik na http://jochem.ke-works.com/post/38498466700/bootcamp-on-3tb-fusion-drive-macosx

jochem
źródło
1
Odpowiedzi na Ask Different muszą być czymś więcej niż tylko linkiem. Można podać link, ale proszę streść go lub fragmentuj w odpowiedzi. Chodzi o to, aby odpowiedź była samodzielna.
Daniel
0

Jess Bowers opublikował naprawdę fajne rozwiązanie, ale działało dla mnie dobrze tylko do tego czasu:

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

A wynik był:

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

Rozwiązaniem jest najpierw zmiana rozmiaru woluminu logicznego. Dla następującego polecenia lvUUIDjest UUID woluminu logicznego i sizejest równy current size of the Logical Volume- size of the Recovery partition(lub 1GB less than the current sizejeśli postępujesz według rozwiązania Jess Bowers słowo po słowie):

diskutil coreStorage resizeVolume <lvUUID> <size>

I zaraz potem resizeDisk...reszta jego rozwiązania działała jak urok.

PS. Właśnie się zarejestrowałem, więc nie mogę komentować bezpośrednio, przepraszam.

użytkownik54088
źródło
0

Próba odzyskania komputera Mac Mini z programu Time Machine Backup

Mam komputer Mac Mini 2012 z napędem fusion ~ 120 GB + 1 TB.

Zrobiłem to trochę podczas próby instalacji podwójnego rozruchu Ubuntu i nie byłem w stanie przywrócić go z kopii zapasowej Time Machine z powodu „Wystąpił błąd podczas tworzenia dysku odzyskiwania”.

Aby to naprawić, usunąłem z dysku wszystkie woluminy wszystkich typów i zacząłem od nowa, pozostawiając 5 GB miejsca na partycję odzyskiwania do utworzenia.

Ponieważ teraz wiem, jak wyglądał stół (który wyślę z powrotem ... jutro po przywróceniu kopii zapasowej), jestem pewien, że mogłem to zrobić, zmieniając rozmiar.

NIEBEZPIECZEŃSTWO

Wszystkie te polecenia są bardzo niebezpieczne, jeśli masz dane na dyskach.

Używam rzeczywistych poleceń, których bym użył, czyli takich, których musiałby użyć ktoś inny z fabrycznie zainstalowanym napędem fusion.

O ile nie próbujesz dodać dysku odzyskiwania, ponieważ dysk jest już całkowicie pomieszany, NIE zalecałbym wykonywania tych kroków.

JEDNAK mogą one być przydatne jako przydatne odniesienia oprócz innych instrukcji w tych postach.

Sprawdzanie objętości

Sprawdź, co tam jest, i najpierw dokonaj właściwego osądu:

# See all physical partitions
diskutil list

# See all core storage volumes
diskutil cs list

Usuwanie wszystkich woluminów

Następnie usuń wszystko, co należy usunąć:

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

W razie potrzeby ponownie odtwórz tabelę partycji:

# 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

Utwórz podstawową pamięć masową

Będzie to „Macintosh HD”, jak wiesz i kochasz

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

Uwaga: możesz ponownie uruchomić komputer na tym etapie, aby upewnić się, że woluminy są w odpowiedniej kolejności.

Odmontuj wszystkie rzeczy

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

Zwolnij miejsce

Celem wcześniejszego utworzenia „Recovery HD” - przy założeniu scenariusza, w którym chcesz przywrócić z kopii zapasowej Time Machine - jest po prostu zarezerwowanie dodatkowego miejsca na końcu jednego z dysków, aby nie został wchłonięty przez żaden inny wolumin .

Teraz nadszedł czas, aby zwolnić kopię zapasową, aby proces przywracania mógł ją ponownie utworzyć.

Najpierw sprawdź ponownie, aby zobaczyć, jakie partycje istnieją. Liczby należy dopasować wyjście diskutil, ale jeśli nie albo restart lub zaufanie gptponad diskutil.

Te sizenie są wymienione w bajtach, ale sektorach, które prawdopodobnie są 4KiB. Lepiej jest powiedzieć, który z nich jest stosunek, niż dokładny rozmiar.

gpt -r show /dev/disk0

Teraz usuń partycję odpowiadającą „Recovery HD”. Po ponownym uruchomieniu, który zmienił się z disk0s3na disk0s4dla mnie.

gpt remove -i 4

Po tym przestałem wyświetlać błąd związany z niemożnością utworzenia partycji odzyskiwania. Jutro dowiem się, czy odzyskiwanie TM rzeczywiście działało. Nie jestem pewien, czy tak będzie, ponieważ nie słyszę zbyt wiele na temat aktywności dysku na dysku kopii zapasowej. : - /

Zasoby

Uwaga: zmiana rozmiaru podstawowej pamięci

Wiele rzeczy, na które patrzyłem, pokazało tylko, jak zmienić rozmiar ORAZ utworzyć nowy wolumin, ale możesz zmienić rozmiar bez tworzenia nowego woluminu.

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

Uwaga: Ustaw typ odzyskiwania HD

Nie udało mi się osiągnąć sukcesu, tworząc pusty wolumin odzyskiwania. Jeśli jednak masz plik BaseSystem.dmg i możesz go przywrócić, możesz ustawić typ woluminu jako ukrytą partycję odzyskiwania.

# 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
CoolAJ86
źródło
-1

Oto wideo przedstawiające ten proces oraz kilka testów porównawczych: http://www.youtube.com/watch?v=I_odnNpv-FQ

Polecenia potrzebne w celu:

lista diskutil

diskutil cs tworzy Fusion diskx diskx

UWAGA: Możesz zastąpić Fusion dowolną nazwą logicznej grupy woluminów

lista cs diskutil

diskutil coreStorage createVolume YOUR_DEVICE_ID_HERE jhfs + „Macintosh Fusion” 100%

UWAGA: Możesz zamienić „Macintosh Fusion” na dowolną nazwę dysku. Pamiętaj, aby używać „”, jeśli chcesz spacji w swoim imieniu, tak jak my, w przeciwnym razie nie będziesz ich potrzebować.

Po zakończeniu instalacji otwórz terminal i włącz indeksowanie:

sudo mdutil -i off

Jeśli chcesz przywrócić 2 oddzielne dyski, uruchom ponownie instalator, otwórz Terminal i wpisz:

diskutil cs usuń YOUR_DEVICE_ID

Będziesz wtedy mógł je sformatować w dowolny sposób, używając narzędzia Terminal lub Disk Utility

użytkownik34140
źródło
Nie jest jasne, co robisz, aby odzyskać HD. Czy możesz edytować niepowiązane elementy, aby zachować wątek i wredność?
bmike