Образ диска повреждён - что делать если .dmg не открывается на Mac
Скачали программу в формате .dmg, дважды кликнули по файлу, а macOS вместо того чтобы открыть образ выдаёт красное окно:
Не удалось открыть образ диска "X.dmg"
Образ диска не распознан или повреждён.
Очень распространённая ошибка, особенно при скачивании с медленного интернета или через торренты. Рассказываю что делать - от самых простых способов до сложных.
Почему .dmg может быть повреждён
.dmg (Disk iMaGe) - это формат образа диска в macOS. Внутри одного .dmg файла может быть программа, папка, даже целая файловая система. Чтобы его открыть, macOS монтирует образ как виртуальный диск, из которого вы копируете программу в Applications.
Повреждение .dmg случается по нескольким причинам:
- Файл не докачался (самая частая причина). Браузер оборвал загрузку на 90%, но сохранил файл как есть. Визуально всё в порядке, но внутри не хватает байтов.
- Сетевые проблемы во время скачивания - пакеты потерялись или пришли с ошибкой
- Повреждение диска где хранится файл (SSD или HDD)
- Неправильная запись с флешки если файл переносили с другой машины
- Реальное повреждение исходного файла на сервере разработчика (редко)
- Неверная архитектура (попробовали открыть ARM-файл на Intel Mac)
В 90% случаев проблема именно в недокачанном файле. Начнём с этого.
Способ 1: перекачать файл
Да, банально, но работает в большинстве случаев.
- Удалите проблемный .dmg файл из папки Downloads (не "Переместить в Корзину", а именно удалите через Cmd+Delete или очистите Корзину)
- Откройте страницу скачивания заново
- Скачайте файл другим браузером - если качали через Safari, попробуйте Chrome или Firefox
- Не прерывайте загрузку, подождите до полной готовности
- Попробуйте открыть
Этого обычно хватает. Если проблема повторилась - значит дело не в браузере, а в чём-то ещё.
Способ 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)
Эти утилиты не обрывают загрузку, чётко показывают прогресс, и могут докачивать прерванные загрузки.
Что делать если ни один способ не помог
Редкий, но возможный случай - файл на сервере действительно повреждён. В этом случае:
- Напишите разработчику - укажите SHA256 и попросите проверить
- Попробуйте зеркало - многие программы есть на GitHub, macupdate, macsoft.ru и других каталогах
- Попробуйте старую версию - часто старые версии хранятся в архивах. На mac-soft.ru можно попросить добавить архивную версию
- Проверьте свой 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 подписан, он откроется с предупреждением но работать будет.
Надеюсь один из способов сработал. Если интересует процесс установки программ вообще - см. полную инструкцию по установке.
Комментарии (0)