Образ диска повреждён - что делать если .dmg не открывается на Mac.
Образ диска повреждён - что делать если .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 подписан, он откроется с предупреждением но работать будет.
Надеюсь один из способов сработал. Если интересует процесс установки программ вообще - см. полную инструкцию по установке.