По моему мнению, это может быть возможно, но это не эффективно, потому что для этого вам нужно будет извлечь и уменьшить одну часть исходного изображения dd, а затем собрать все три части. Кроме того, вы должны манипулировать таблицей разделов gpt внутри заново собранного необработанного образа dd, редактируя его в шестнадцатеричном виде. Тогда вы должны dd
поддержать изображение.
Вместо этого сделайте следующее, что значительно меньше времени и, вероятно, менее подвержено ошибкам:
- Разделите новый диск на 3 раздела: EFI, основной системный том и раздел Recovery HD
- Поскольку EFI и раздел восстановления имеют фиксированные размеры и определенные стартовые блоки, вы можете просто
dd
вставить EFI и Recovery HD в вашем dd raw образе в соответствующие разделы вашего нового SSD
- Чтобы скопировать содержимое старого основного тома, подключите необработанный образ dd и
rsync
содержимое к новому основному тому.
Здесь я предполагаю, что у вас есть внешний диск с полной OS X (El Capitan) для подготовки SSD. Все имена / идентификаторы или размеры устройств являются лишь примерами и могут отличаться от вашей реальной среды / результатов.
Подготовка вашего нового SSD:
- Откройте Дисковую утилиту и сотрите новый диск (Имя: SSD / Формат: OS X Extended (В журнале) / Схема: таблица разделов GUID)
Откройте терминал и войдите diskutil list
. Результат должен быть (размеры могут немного отличаться от ваших):
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *480.0 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS SSD 479.6 GB disk0s2
/dev/disk1...
В Терминал войти sudo gpt -r 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 936755120 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
937164760 262151
937426911 32 Sec GPT table
937426943 1 Sec GPT header
Теперь размонтируйте disk0 и удалите второй раздел:
diskutil umountDisk disk0
sudo gpt remove -i 2 disk0
Добавьте раздел восстановления. Раздел восстановления всегда имеет размер 1269536 блоков и начинается с общего размера диска в блоках - 1269576 блоков (в моем примере это: 937426944 - 1269576 = 936157368)
sudo gpt add -i 3 -b 936157368 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk0
Введите еще sudo gpt -r 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 935747728
936157368 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
937426904 7
937426911 32 Sec GPT table
937426943 1 Sec GPT header
В пустое пространство между разделами i = 1 и i = 3 добавьте новый раздел. Стартовый блок и размер определяются данными, указанными выше:
sudo gpt add -i 2 -b 409640 -s 935747728 -t 48465300-0000-11AA-AA11-00306543ECAC disk0
Размонтируйте disk0 и отформатируйте новый том:
diskutil umountDisk disk0
sudo newfs_hfs -J -v "SSD" /dev/disk0s2
Восстановление ваших данных:
- Смонтируйте ваш необработанный образ диска, дважды щелкнув по нему.
Введите diskutil list
. Вы должны увидеть новую запись, похожую на эту:
/dev/disk0 (internal, physical):
...
/dev/disk3 (disk image):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme +1.0 TB disk3
1: EFI EFI 209.7 MB disk3s1
2: Apple_HFS Macintosh HD 1.0 TB disk3s2
3: Apple_Boot Recovery HD 650.0 MB disk3s3
dd EFI и Recovery HD с образа на SSD:
sudo dd if=/dev/disk3s1 of=/dev/disk0s1 bs=4096
diskutil umountDisk disk0
sudo dd if=/dev/disk3s3 of=/dev/disk0s3 bs=4096
Смонтируем основной том SSD:
diskutil mount disk0s2
rsync содержимое основного тома образа диска (который должен быть виден на вашем рабочем столе в отличие от разделов EFI / Recovery HD) с основным томом SSD:
sudo rsync -a /Volumes/Volume_name_of_Diskimage/ /Volumes/SSD
Это очень простой пример команды rsync. Вы можете уточнить команду rsync (опции / исключения) в соответствии с тем или иным связанным сценарием.
Пожалуйста, проверьте все имена устройств в различных командах, содержащих dd
или gpt
тщательно, или вы удалите или перезапишите важные разделы / данные нежелательно.
dd
) на хорошо работающий вращающийся диск объемом 1 ТБ и изменили его размер.