Изменить емкость DMG

20

При замене моего Mac HDD на SSD я столкнулся со следующей проблемой:

Я создал образ DMG моего старого жесткого диска емкостью 320 ГБ. Файл DMG запомнил и сохранил емкость в образе, и проблема в том, что мой SSD имеет только 120 ГБ. Таким образом, DMG нельзя использовать, если я не могу каким-либо образом уменьшить емкость ...

РЕДАКТИРОВАТЬ : общий объем используемого пространства на изображении составляет всего 15 ГБ.

Я посмотрел, hdiutilно на самом деле я разработчик ruby ​​on rails, так что я не очень разбираюсь в этом ...

Есть ли какой-либо способ с этим или другим утилитой уменьшить емкость DMG?

Благодарность!

Тим Баас
источник

Ответы:

39

Я не видел хорошего способа с помощью графического интерфейса для этого - вы должны использовать, hdiutilкак вы просили. Это быстрая команда. Чтобы изменить размер (измените 25G на то, что вы хотите),

hdiutil resize -size 25G /PATH/TO/DISK/IMAGE.dmg

Другой способ сжать его - клонировать образ диска в разреженный пакет, а затем сжать его. Это может или не может работать, в зависимости от степени сжатия.

Сначала создайте образ диска, который отражает ваш старый образ диска:

hdiutil convert /location/of/disk.dmg -format UDSP -o /PATH/TO/NEWIMAGE.sparseimage

Затем сожмите полученное разрежение:

hdiutil compact /PATH/TO/NEWIMAGE.sparseimage

Если эти команды не работают, значит, это как-то связано с образом вашего диска и / или разрешениями.

Я потратил много времени, играя с ним, hdiutilи он далеко не безупречен - я обнаружил и отправил сообщения об ошибках в Snow Leopard, которые до сих пор не исправлены в Mountain Lion, поэтому, если у вас получится немного странное поведение, не надо быть отстраненным!

sofly
источник
Я пробовал это, но глагол изменения размера вызывает проблему с правами доступа, сейчас я создаю образ диска RW, чтобы посмотреть, работает ли он.
Тим Баас
С моим образом диска RW я смог использовать глагол изменения размера и сжать изображение до 120 ГБ, что привело к емкости 128,85 ГБ. Так что это правильный путь, но его все равно недостаточно для размещения на моем SSD ... Говорят, компактный глагол не работает compact failed - function not implemented.
Тим Баас
@TimBaas Вроде поздно, но если у вас проблемы с разрешениями (возможно, у вас нет прав на запись в DMG), вы можете использовать sudo hdiutil resize -size 25G /PATH/TO/DISK/IMAGE.dmg. Я просто сделал это с моим образом диска резервного копирования Time Machine, и, похоже, он не нарушал никаких разрешений.
Судо
Я преобразовал в разреженное изображение с вашей второй команды, но тогда ни то, ни другое compactне resizeбудет работать на нем. compactсказал, что это урезало 0 байтов, но у меня есть 40 ГБ свободного в нем. convertсказал, что размер слишком маленький. Том Mac OS Extended (В журнале).
Судо
1

Попробуй это:

hdiutil compact image.dmg

Но, как вы можете видеть в руководстве по hdiutil :

Depending on the location of files in the hosted filesystem, compact may or may not shrink the image.
klocek
источник
Спасибо за вашу реакцию .. При выполнении этой команды я получаю ответ, что у них проблема с правами доступа .. Возможно, потому что dmg является отформатированным образом диска только для чтения .. Теперь у меня есть Carbon Copy Cloner, создающий копию через FireWire ..
Тим Baas
Вы можете использовать Mac OS X Disk Utility для преобразования из ro в rw образ.
У меня все работает с CCC, спасибо за помощь в любом случае!
Тим Баас
1

После того, как cjc указал задать вопрос на apple.stackexchange.com, я сделал. Задавая вопрос, я попал на соответствующий квест, на который кто-то сказал попробовать Carbon Copy Cloner.

Carbon Copy Cloner клонировал файлы через FireWire на мой SSDisk, не задавая вопросов, и все так и должно быть ..

Вот вопрос, который я имею в виду:

Восстановить систему из DMG (исходный диск больше целевого)

Для тех, кто заинтересован в изменении размера образа диска:

Сделайте ваш образ диска доступным для чтения и записи в Дисковой утилите Mac:

Смонтируйте диск, выберите его и щелкните новый образ диска. Выберите read-write в раскрывающейся структуре образа диска и нажмите save. (Моя ОС голландская, так что это мои собственные переводы).

Используйте hdiutilдля изменения размера образа диска:

В терминале: hdiutil resize -size 100G /location/of/disk.dmg. Вы можете заменить 100G на нужный размер.

Необязательно (у меня не получилось), вы можете попробовать сжать его:

В терминале: hdiutil convert /location/of/disk.dmg -format UDSP -o /location/of/NEW/disk.dmg.

Это создает разреженное изображение.

Потом: hdiutil compact /location/of/SPARSE/disk.dmg.sparseimage

Это попытается освободить место на образе диска. Если это сработает, я думаю, вам, возможно, придется изменить размер DMG, чтобы уменьшить емкость (я не уверен) ..

Тим Баас
источник
0

Пробовал все это безрезультатно; hdiutil не позволит мне изменить размер ниже определенного порога (намного ниже, чем OP).

Простой ответ:

  1. Создайте новый файл DMG нужного размера.
  2. Скопируйте все файлы со старого DMG
  3. Закройте и снова откройте новый DMG и убедитесь, что все хорошо
  4. Мусор / бэкап / архив старого DMG.
Guest_8675309
источник
Я не уверен, как это сделать при копировании системы. cpдает мне кучу ошибок для специальных файлов.
Судо