Сделай сам Fusion Drive: добавление Recovery HD в группу томов CoreStorage

10

После создания «DIY Fusion Drive» с использованием методов, описанных в 10.8, я теперь задаюсь вопросом, как добавить раздел RecoveryHD на внутренний диск.

Вот что я сделал, чтобы создать группу логических томов на двух физических томах (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

Это работало отлично, но теперь мой RecoveryHD ушел. Я хотел бы добавить его обратно (он находится на внешнем диске, который я клонировал с моего оригинального HD)

Вот как выглядит раздел на данный момент:

$ 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

Кто-нибудь знает команды diskUtil для добавления восстановления HD? В идеале после факта, где я сейчас нахожусь?

Джесс Бауэрс
источник

Ответы:

6

Сначала вам нужно разделить диски, поместив раздел восстановления на один из ваших физических дисков. Он не может быть частью диска Fusion, поскольку маловероятно, что вы сможете загрузиться непосредственно в логический том Core Storage (вам нужен отдельно загрузчик).

Обратите внимание на структуру разделов в этой статье Ars Technica о диске Fusion.

Лучший способ сделать это, вероятно, начать заново, переустановив Mountain Lion на SSD или HDD, а затем повторить процесс Fusion, выбрав только соответствующий раздел.

После того, как вы сделали стандартную установку, проверьте разделы, запустив их diskutil list, и вы получите результат, подобный следующему:

/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

Запишите идентификатор Macintosh HDраздела ( disk0s2в этом случае).

Затем выполните те же действия, которые вы выполняли ранее, но измените diskutil corestorage create fusion_volume_groupкоманду таким образом, чтобы указать disk0s2(или любой другой эквивалент в вашем случае) и идентификатор диска, на котором вы не устанавливали OS X. Полученная команда должна быть похожа на, diskutil corestorage create fusion_volume_group disk0s2 disk1 но убедитесь, что вы правильно идентифицировали идентификаторы. Ключевым моментом является то, что мы хотим сделать группу томов только из раздела Macintosh HD, а не из целого диска (чтобы разделы EFI и Recovery не уничтожались). Затем выполните остальную часть процедуры, как вы делали раньше.

robmathers
источник
Знаете ли вы, какие команды diskutil будут выполнять эту операцию?
Джесс Бауэрс
Я добавил дополнительную информацию, которая должна работать, но у меня нет настройки, на которой я могу ее протестировать. На этом этапе диск Fusion довольно недокументирован, и мы просто отрабатываем то, что придумали несколько человек методом проб и ошибок. Не забудьте опубликовать любые результаты, которые вы получите здесь.
Робматерс
Я думаю, что вы правы в отношении указания disk0s2, а не disk0. Я не могу проверить это сегодня, так как выходные были моим временем «разорвать мою машину на части и восстановить». Теперь я должен работать! Я постараюсь проверить это в ближайшее время.
Джесс Бауэрс
Я только что установил 10.8.2 на новые пустые тома CS (120 ГБ SSD + 640 ГБ HDD), чтобы посмотреть, добавит ли установщик ML новый раздел для восстановления - это не так. Так что приведенные выше инструкции должны быть правильными, попробую при следующем тесте развернуть.
da4
УСПЕХ! В конце 2008 года MacBook Pro, 2-й жесткий диск в слоте для оптических дисков: я заменил основной жесткий диск объемом 320 ГБ на твердотельный накопитель емкостью 256 ГБ. После @robmather: я установил Mountain Lion на SSD; загрузил MBP с внешнего диска; изучил diskutil listвывод, чтобы получить идентификатор диска для «Macintosh HD» на SSD. Используется с командами diskutil's corestorage для создания тома fusion. Загрузился с Recovery Volume, установил ML и перенес весь оригинальный диск на мой новый 560GB fusion том. Все работает, даже Ubuntu на VMWare. Заказал медленный / дешевый 1TB HD; скоро мой 4-летний MBP получит 8 ГБ, 1,25 ТБ, SSD!
Брюс Ван Аллен
5

Итак, я решил проблему без переформатирования или переустановки. Надеюсь, большинство людей не попадут в эту ситуацию. Посмотрите ответ @robmathers, чтобы узнать, как избежать удаления Recovery HD.

ПРЕДУПРЕЖДЕНИЕ. Следующие команды являются довольно низкоуровневыми и могут привести к потере данных. Примите надлежащие меры предосторожности (резервное копирование, клонирование и т. Д.).

Но для всех, кто в моей ситуации после RecoveryHD уже нет, вот что я сделал:

  1. Резервное копирование всех данных / клонировать ваш диск
  2. Создайте загрузочный USB (или используйте существующий HD) с 10,8
  3. Загрузитесь с этим альтернативным диском (так что вы не изменяете HD, который вы в настоящее время смонтировали)
  4. Размонтировать Fusion HD
  5. Откройте терминал, переключитесь на суперпользователя и следуйте этим инструкциям:

Перечислите текущую конфигурацию и запишите, какие диски вы будете модифицировать. Ваши точные размеры и GUID будут отличаться от моих. Очень важно использовать ваши номера вместо моих .

diskutil corestorage list

Обратите внимание на UUID физического диска, к которому вы добавляете Recovery.

diskutil list

Обратите внимание на точный размер в байтах Recovery на текущем загрузочном диске (disk2s3 может отличаться для вас).

diskutil info disk2s3

Измените размер физического тома для диска, на который вы хотите добавить раздел восстановления. Чтобы определить размер, посмотрите @ существующий раздел восстановления на USB. В моем случае это было чуть менее 1 ГБ. Для следующей команды pvUUID - это UUID диска, на который вы добавляете Recovery, размер на 1 ГБ меньше текущего размера.

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

ПРИМЕЧАНИЕ. Возможно, вам придется несколько раз отключить тома в следующих шагах. OSX имеет тенденцию агрессивно перемонтировать тома.

Переразделите новый раздел «Восстановление» из jHFS + в Apple_Boot. Во-первых, обратите внимание на точное начало / размер раздела.

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 

Теперь удалите раздел и заново добавьте его с другим UUID (именно UUID определяет тип раздела)

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

Теперь скопируйте весь раздел Recovery с хорошего на этот новый:

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

Большое спасибо за ссылки на следующие сайты. Прочтите их, прежде чем погрузиться, если вы не понимаете ни одного из этих шагов.

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

Джесс Бауэрс
источник
обновление: эта установка работает без нареканий для меня с 11/12.
Джесс Бауэрс
0

Я нахожу некоторые хорошие ответы в этом посте. Я разработал пошаговое руководство по перераспределению жесткого диска с разделом Windows (для Bootcamp Windows 7/8) в пределах первого пространства объемом 2,2 ТБ и восстановлению диска Fusion с использованием трех разделов.

Вы найдете мое руководство полезным на http://jochem.ke-works.com/post/38498466700/bootcamp-on-3tb-fusion-drive-macosx

Jochem
источник
1
Ответы на разные вопросы должны быть чем-то большим, чем просто ссылка. Это нормально, чтобы включить ссылку, но, пожалуйста, суммируйте или извлеките ее в ответе. Идея состоит в том, чтобы сделать ответ самостоятельно.
Даниил
0

Джесс Бауэрс опубликовала действительно хорошее решение, но оно работало хорошо только для меня:

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

И вывод был:

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

Решение состоит в том, чтобы сначала изменить размер логического тома. Для следующей команды lvUUIDUUID логического тома sizeравен current size of the Logical Volume- size of the Recovery partition(или 1GB less than the current sizeесли слово за словом следует решению Джесс Бауэрс):

diskutil coreStorage resizeVolume <lvUUID> <size>

И сразу после этого resizeDisk...и остальная часть его решения сработала как шарм.

PS. Просто подписался, поэтому я не могу комментировать напрямую, извините.

user54088
источник
0

Попытка восстановить Mac Mini из Time Machine Backup

У меня Mac Mini 2012 с термоядерным накопителем ~ 120 ГБ + 1 ТБ.

Я немного приподнял его, пытаясь установить двойную загрузку Ubuntu, и не смог восстановить его из резервной копии Time Machine из-за «Произошла ошибка при создании диска восстановления».

Чтобы исправить это, я удалил все тома всех типов с диска и начал заново, оставив 5 ГБ места для создаваемого раздела восстановления.

Поскольку теперь я знаю, как выглядит таблица (которую я опубликую… завтра после восстановления резервной копии), я уверен, что мог бы сделать это и путем изменения размера.

ОПАСНОСТЬ

Все эти команды очень опасны, если у вас есть данные на вашем диске (дисках).

Я использую фактические команды, которые я буду использовать, которые являются фактическими командами, которые кто-то другой с установленным на заводе приводом Fusion должен будет использовать.

Если причина, по которой вы пытаетесь добавить диск для восстановления, заключается в том, что ваш диск уже полностью испорчен, я НЕ рекомендовал бы выполнять следующие действия.

ОДНАКО, они могут быть полезными ссылками в дополнение к другим инструкциям в этих постах.

Проверка объемов

Посмотрите, что там, и сначала сделайте правильное суждение:

# See all physical partitions
diskutil list

# See all core storage volumes
diskutil cs list

Удаление всех томов

Затем удалите все, что нужно удалить:

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

При необходимости создайте таблицу разделов с нуля:

# 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

Создать основное хранилище

Это будет "Macintosh HD", как вы знаете и любите

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

Примечание. На этом этапе вы можете перезагрузиться, чтобы убедиться, что тома находятся в правильном порядке.

Размонтировать все

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

Освободить место

Цель создания «Recovery HD» ранее - в предположении сценария, в котором вы хотите восстановить резервную копию Time Machine, - просто зарезервировать дополнительное пространство на конце одного из дисков, чтобы он не был поглощен каким-либо другим томом. ,

Теперь пришло время освободить его обратно, чтобы процесс восстановления мог создать его снова.

Сначала проверьте еще раз, чтобы увидеть, какие разделы существуют. Числа должны соответствовать выходным diskutil, но если не как перезагрузке или доверие gptболее diskutil.

В sizes не указаны в байтах , но секторов, которые, вероятно , по 4Kb. Может быть лучше сказать, что есть что по соотношению, чем по точному размеру.

gpt -r show /dev/disk0

Теперь удалите раздел, соответствующий «Recovery HD». После перезагрузки , которая изменилась с disk0s3на disk0s4меня.

gpt remove -i 4

После этого я перестал получать сообщение о невозможности создать раздел восстановления. Завтра я узнаю, действительно ли восстановление ТМ сработало. Я не уверен, что так и будет, так как я мало слышу о том, как работает диск на резервном диске. : - /

Ресурсы

Примечание: изменение размера основного хранилища

Многие из вещей, на которые я смотрел, только показали, как изменить размер и создать новый том, но вы можете изменить размер, не создавая новый том.

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

Примечание: установить тип восстановления HD

Я не смог добиться успеха, создав пустой том для восстановления. Однако, если у вас есть BaseSystem.dmg и вы можете его восстановить, вы можете выбрать тип тома для скрытого раздела восстановления.

# 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
источник
-1

Вот видео, описывающее процесс, а также некоторые тесты: http://www.youtube.com/watch?v=I_odnNpv-FQ

Команды, которые вам понадобятся для того, чтобы:

список рассылки

diskutil cs создать Fusion diskx diskx

ПРИМЕЧАНИЕ. Вы можете заменить Fusion на любое имя, которое вы бы назвали своей группой логических томов.

Дискутил cs список

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

ПРИМЕЧАНИЕ. Вы можете заменить «Macintosh Fusion» на то, что вы хотите назвать своим диском. Не забывайте использовать "", если вы хотите, чтобы в вашем имени был пробел, как у нас, иначе они вам не понадобятся.

После завершения установки откройте терминал и включите индексацию:

sudo mdutil -i выкл

Если вы хотите вернуться к двум отдельным дискам, снова загрузитесь в установщик, откройте терминал и введите:

discutil cs удалить YOUR_DEVICE_ID

После этого вы сможете отформатировать их так, как захотите, используя Terminal или Disk Utility.

user34140
источник
Не понятно, что вы здесь делаете для восстановления HD. Не могли бы вы отредактировать несвязанные элементы, чтобы сохранить эту тему скудной и злой?
bmike