Создание динамически изменяемых Disk Image на macOS
Что такое Disk Image в двух словах
Disk Image — это файл, который имитирует оптический диск (DVD/CD). После открытия он монтируется как диск, и вы можете копировать на него файлы или запускать установщик. Пример: файл для установки Google Chrome, который вы скачиваете из интернета, часто является Disk Image.
Когда использовать фиксированный образ, а когда динамический
- Фиксированный образ (.dmg, стандартный) полезен для распространения установщиков, когда нужен предсказуемый размер и целостность.
- Динамический образ (sparse или sparsebundle) удобен для хранения личных данных, резервных копий или шифрованных контейнеров, которые должны «расти» по мере добавления данных.
Важно: динамический образ может занимать меньше места на диске в начале, но нарастает по мере заполнения до заданного максимума.
Быстрый обзор шагов создания обычного Disk Image
- Откройте Дисковую утилиту: «Программы» → «Служебные программы» → «Дисковая утилита» или через Spotlight.
- Выберите «Новый образ» в верхней панели.

- В появившемся меню можно задать имя и размер образа. В примере указан 500 МБ, но вы выбираете свой размер.

Примечание: здесь же можно включить шифрование через вкладку «Шифрование».

- Нажмите «Создать». Образ будет создан и смонтирован. Однако стандартный фиксированный образ будет занимать на диске именно тот объём, который вы указали при создании, даже если он заполнен частично.
Как сделать образ, который расширяется: sparse и sparsebundle
Apple позволяет создавать образы типов «sparse» и «sparsebundle». Они динамически увеличиваются по мере добавления файлов, до максимального значения, указанного при создании. Чтобы создать такой образ:
- При создании образа в Дисковой утилите в поле «Формат образа» выберите «sparse» или «sparsebundle».
- В меню «Разделы» (Partitions) выберите «Нет схемы разделов» («No Partition Map» или аналог в локализованной Дисковой утилите).

Разница между sparse и sparsebundle:
- sparse: единый файл-образ, который растёт по мере добавления данных.
- sparsebundle: набор «пачек» (bands) — набор файлов фиксированного размера, удобен для хранения на сетевых томах и работы с Time Machine.
Совет: используйте sparsebundle при работе с сетевыми файловыми системами или когда нужен более надёжный перенос частями.
Командная строка: hdiutil (альтернатива Дисковой утилите)
Если вы предпочитаете терминал или автоматизацию, можно использовать hdiutil. Примеры:
Создать sparse образ 500 МБ с HFS+:
hdiutil create -size 500m -fs HFS+ -volname "MySparse" -type SPARSE -encryption -stdinpass my-sparse.sparseimageСоздать sparsebundle (с пачками по 8 МБ):
hdiutil create -size 10g -fs HFS+ -volname "MyBundle" -type SPARSEBUNDLE -plist -ov my-bundle.sparsebundleВажно: если используете шифрование в командной строке, будьте внимательны с передачей пароля и правами доступа к файлам.
Шифрование и безопасность
- При создании образа можно включить шифрование (обычно AES-128 или AES-256). Это защитит данные, если файл образа попадёт к посторонним.
- Для критичных данных используйте надёжные пароли и храните их в менеджере паролей.
- Для корпоративной среды рассмотрите дополнительно FileVault для полного шифрования диска вместе с образами.
Важно: потеря пароля к зашифрованному образу означает необратимую потерю доступа к данным.
Траблшутинг: распространённые проблемы и решения
Проблема: образ не монтируется.
- Решение: проверьте целостность через Дисковую утилиту или командой hdiutil verify; проверьте права доступа.
Проблема: sparsebundle занимает много мелких файлов и тормозит при копировании по сети.
- Решение: увеличьте размер пачки (band-size) при создании sparsebundle или используйте стандартный sparse при локальном хранении.
Проблема: ограничение размера при попытке записать больше, чем доступно.
- Решение: убедитесь, что на физическом носителе есть достаточно свободного места до максимального размера образа.
Мини-методология: как выбрать параметры образа (шаги)
- Определите цель: дистрибутив, резервная копия, перенос данных, шифрование.
- Выберите формат: фиксированный (.dmg) для дистрибутивов; sparse/sparsebundle для растущих контейнеров.
- Установите разумный максимальный размер и, при необходимости, band-size (для sparsebundle).
- Примите решение о шифровании и запишите пароль в безопасном месте.
- Протестируйте монтирование, запись и восстановление на другом машине.
Рольовые чек-листы
- Для пользователя:
- Создать образ, смонтировать, скопировать тестовый файл, размонтировать и снова смонтировать.
- Для администратора:
- Настроить права доступа, проверить совместимость с сетевыми томами, задокументировать политику шифрования.
Критерии приёмки
- Образ монтируется и читается на целевой версии macOS.
- Данные корректно записываются и сохраняются после размонтирования.
- Шифрованный образ запрашивает пароль и без него данные недоступны.
- Для sparsebundle: отдельные файлы band не превышают указанного размера.
Когда это не подходит — контрпример
- Если вы распространяете инсталлятор приложения, фиксированный DMG будет предпочтительнее: он проще для конечного пользователя и обеспечивает одинаковый файл для всех.
- Если важна детерминированная контрольная сумма образа для верификации, используйте фиксированный образ.
Краткое резюме
Создавая образ типа sparse или sparsebundle и выбирая «без схемы разделов», вы получаете файл-контейнер, который растёт по мере заполнения, экономя место на носителе и обеспечивая гибкость. Для автоматизации используйте hdiutil, а для сетевых наборов файлов — sparsebundle.
Полезная справка — однострочный глоссарий:
- sparse: динамический единый файл-образ; sparsebundle: динамический набор файлов-пачек, удобен для сети.
Если есть вопросы или вы хотите пример скрипта для автоматического создания и монтирования образов, опишите задачу — добавлю пример.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента