Образ диска повреждён - что делать если .dmg не открывается на Mac.

Образ диска повреждён - что делать если .dmg не открывается на Mac.

Образ диска повреждён - что делать если .dmg не открывается на Mac

Скачали программу в формате .dmg, дважды кликнули по файлу, а macOS вместо того чтобы открыть образ выдаёт красное окно:

Не удалось открыть образ диска "X.dmg"Образ диска не распознан или повреждён.

Очень распространённая ошибка, особенно при скачивании с медленного интернета или через торренты. Рассказываю что делать - от самых простых способов до сложных.

Почему .dmg может быть повреждён

.dmg (Disk iMaGe) - это формат образа диска в macOS. Внутри одного .dmg файла может быть программа, папка, даже целая файловая система. Чтобы его открыть, macOS монтирует образ как виртуальный диск, из которого вы копируете программу в Applications.

Повреждение .dmg случается по нескольким причинам:

  1. Файл не докачался (самая частая причина). Браузер оборвал загрузку на 90%, но сохранил файл как есть. Визуально всё в порядке, но внутри не хватает байтов.
  2. Сетевые проблемы во время скачивания - пакеты потерялись или пришли с ошибкой
  3. Повреждение диска где хранится файл (SSD или HDD)
  4. Неправильная запись с флешки если файл переносили с другой машины
  5. Реальное повреждение исходного файла на сервере разработчика (редко)
  6. Неверная архитектура (попробовали открыть ARM-файл на Intel Mac)

В 90% случаев проблема именно в недокачанном файле. Начнём с этого.

Способ 1: перекачать файл

Да, банально, но работает в большинстве случаев.

  1. Удалите проблемный .dmg файл из папки Downloads (не "Переместить в Корзину", а именно удалите через Cmd+Delete или очистите Корзину)
  2. Откройте страницу скачивания заново
  3. Скачайте файл другим браузером - если качали через Safari, попробуйте Chrome или Firefox
  4. Не прерывайте загрузку, подождите до полной готовности
  5. Попробуйте открыть

Этого обычно хватает. Если проблема повторилась - значит дело не в браузере, а в чём-то ещё.

Способ 2: проверить SHA256

Если на сайте разработчика (или на mac-soft.ru) указана контрольная сумма SHA256 - это золотой метод проверки. Откройте Терминал и выполните:

shasum -a 256 ~/Downloads/programma.dmg

Замените programma.dmg на реальное имя файла. Терминал выдаст длинную строку из 64 символов. Сравните её с той что указана на сайте.

  • Совпадает - файл цел, проблема в другом
  • Не совпадает - файл точно повреждён, качайте заново (способ 1)

Если у вас нет указанной контрольной суммы - пропустите этот способ.

Способ 3: проверить через hdiutil

macOS имеет встроенную утилиту hdiutil для работы с образами дисков. Она может проверить и иногда починить проблемный .dmg:

hdiutil verify ~/Downloads/programma.dmg

Если образ целый, выдаст:

hashing [...]

verified

Если повреждён, будет сообщение об ошибке. Попробуйте починить:

hdiutil convert ~/Downloads/programma.dmg -format UDZO -o ~/Downloads/programma-fixed.dmg

Это конвертирует образ в новый с тем же форматом сжатия. Иногда при конвертации hdiutil "чинит" мелкие повреждения. Попробуйте открыть programma-fixed.dmg.

Способ 4: смонтировать через Терминал

Бывает что Finder отказывается монтировать образ, а Терминал справляется:

hdiutil attach ~/Downloads/programma.dmg

Если всё нормально, образ смонтируется и появится в списке дисков. Дальше открывайте его через Finder как обычно.

Если есть ошибки - они станут видны в Терминале, что поможет понять природу проблемы.

Способ 5: разрешить старые образы дисков

Иногда очень старые .dmg файлы не открываются потому что использовали устаревшие алгоритмы сжатия/шифрования которые macOS больше не поддерживает. В этом случае помогает команда:

hdiutil attach -noverify -nomount ~/Downloads/programma.dmg

Флаг -noverify пропускает проверку целостности (принудительно монтирует даже если есть мелкие проблемы), -nomount монтирует образ но не показывает его в Finder (полезно для отладки).

После этого в Disk Utility (Applications - Utilities - Disk Utility) появится смонтированный образ, с которым можно работать.

Способ 6: скачать через wget или curl

Если браузеры все портят загрузку, попробуйте через Терминал - wget или curl работают надёжнее:

curl -L -O 'https://example.com/programma.dmg'

Или:

wget 'https://example.com/programma.dmg'

(wget нужно установить через Homebrew: brew install wget)

Эти утилиты не обрывают загрузку, чётко показывают прогресс, и могут докачивать прерванные загрузки.

Что делать если ни один способ не помог

Редкий, но возможный случай - файл на сервере действительно повреждён. В этом случае:

  1. Напишите разработчику - укажите SHA256 и попросите проверить
  2. Попробуйте зеркало - многие программы есть на GitHub, macupdate, macsoft.ru и других каталогах
  3. Попробуйте старую версию - часто старые версии хранятся в архивах. На mac-soft.ru можно попросить добавить архивную версию
  4. Проверьте свой SSD - если другие .dmg тоже не открываются, возможно проблема в диске. Disk Utility - First Aid на системный том

Частые вопросы

А если это не .dmg а .pkg?Для .pkg (установочный пакет) команда проверки другая:

pkgutil --check-signature programma.pkg

Можно ли открыть .dmg как обычный архив?Можно через 7z или The Unarchiver - они умеют распаковывать .dmg как архив. Команда:

7z x programma.dmg

Внутри будет папка с .app файлом. Но это работает не для всех .dmg - зашифрованные или использующие необычные форматы не распакуются.

Что значит формат UDZO, UDBZ, ULFO?Это алгоритмы сжатия внутри .dmg:- UDZO - zlib (старый стандарт)- UDBZ - bzip2 (лучше сжимает)- ULFO - LZFSE (новый от Apple, самый быстрый)

Если вы создаёте .dmg сами через Disk Utility, выбирайте UDZO для максимальной совместимости со старыми Mac.

Нужен ли интернет для открытия .dmg?Для обычного монтирования - нет. Но для проверки подписи (если .dmg подписан) может быть нужен. Если нет интернета и .dmg подписан, он откроется с предупреждением но работать будет.

Надеюсь один из способов сработал. Если интересует процесс установки программ вообще - см. полную инструкцию по установке.