mac下载的dmg文件双击无反应、挂载失败或提示“已损坏”,多数非真实损坏,而是因quarantine隔离属性、gatekeeper拦截、系统时间偏差或镜像结构异常所致;可通过验证文件大小与crc校验、清除隔离属性、临时绕过gatekeeper、强制挂载或调整系统时间等可逆操作解决。

Mac下载的dmg文件双击后没反应、挂载失败、提示“已损坏”或拖入应用程序后打不开,多数情况并非文件真损坏,而是系统因隔离属性、Gatekeeper拦截、时间校验失效或镜像结构异常主动阻止——这些都可通过针对性操作恢复安装流程。
确认文件是否真损坏
右键点击.dmg文件 → 选择“显示简介” → 查看“通用”标签页中“大小”是否为0字节或明显小于官网标注值。若大小异常,直接删掉重下。
打开终端 → 输入 hdiutil verify -verbose 后将.dmg文件拖入终端 → 回车。若返回“verified CRC32”即结构完好;若报“checksum error”或“invalid checksum”,说明传输中断或CDN污染,必须重下。
清除quarantine隔离属性(最常用)
方法一:终端一键清除
打开终端 → 输入 sudo xattr -rd com.apple.quarantine → 将.dmg文件直接拖入终端 → 按回车 → 输入管理员密码(输入时无显示,输完直接回车)。
这一步专治Safari/Chrome下载后被自动打上隔离标签导致的“已损坏”假警报。macOS 13及以上系统对quarantine更敏感,此操作成功率超90%。
方法二:针对已挂载但.app打不开的情况
若.dmg能挂载但拖进“应用程序”后的.app双击报错,把该.app文件拖进终端,执行:sudo xattr -rd com.apple.quarantine /Applications/xxx.app。【/Applications/xxx.app中间不能有空格,否则命令失败】
绕过Gatekeeper临时放行
第一步:打开“系统设置” → “隐私与安全性” → 往下滑动到“安全性”区域。
第二步:找到灰色提示文字,例如“xxx.dmg被阻止,因为它来自身份不明的开发者”。
第三步:点击右侧出现的“仍要打开”按钮 → 输入当前用户密码确认。
这一步仅对本次拦截生效,不修改全局策略,适合只想装一个软件且不愿调系统设置的用户。若没看到该提示,说明Gatekeeper未触发拦截,别在此处浪费时间。
强制挂载损坏提示的DMG
① 打开终端。
② 输入命令:hdiutil attach -noverify -ignorebadchecksums → 将.dmg文件拖入终端 → 回车。
③ 若挂载成功,访达会自动弹出窗口;若仍失败,说明镜像底层结构已损,需重下。
这个命令跳过CRC校验和签名验证,只做原始块读取,适用于部分因证书过期或校验位翻转导致误判的旧版镜像。但【不可用于来源不明的文件,跳过校验等于放弃安全边界】。
修复系统时间偏差(专治旧版软件)
旧版.dmg(如2018年前发布的开发工具、老版本Adobe套件)常因签名证书过期被拒。macOS用当前系统时间校验证书有效期,一旦时间超过证书截止日就判“损坏”。
① 断开Wi-Fi和网线,防止NTP自动同步时间;
② 打开终端 → 输入命令:sudo date -u 20201231(将系统时间设为UTC 2020年12月31日0点)→ 回车 → 输入密码;
③ 双击.dmg文件尝试挂载;
④ 安装完成后,立即联网让系统自动校正时间,或手动执行:sudo ntpdate -u time.apple.com。











