V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
paststrange
V2EX  ›  macOS

Mac 上少部分 dmg 文件打开失败,找不到问题所在,不知道是 bug 还是啥问题,请大佬指教。

  •  
  •   paststrange · 25 天前 · 1387 次点击

    一、问题复现 1.在访达中: 双击该 dmg 文件提示:“应用程序“DiskImageMounter.app”无法打开。-36”; 2.在 qspace pro 上: ( 1 )双击打开该 dmg 文件无反应; ( 2 )右键--打开方式--DiskImageMounter(默认)提示“未能完成操作。( OSStatus 错误-36 。);未能开启应用程序“DiskImageMounter.app”,因为发生了杂项错误。” 二、故障排除 1.家里还有一台 macmini ,使用访达或 qspace 连接该 macmini 的文件夹,在本地 mac 上正常打开该 dmg 文件; 2.dmg 文件复制到 nas 上,使用访达或 qspace 连接该 NAS 的文件夹,在本地 mac 上打开 nas 上的这个 dmg 也没问题; 3.本地 mac 打开其他 dmg 文件也没问题; 4.使用终端命令 hdiutil attach file.dmg 也没问题。

    17 条回复    2025-05-17 22:19:29 +08:00
    ern
        1
    ern  
       25 天前   ❤️ 1
    这里似乎有相关讨论: https://forums.macrumors.com/threads/diskimagemounter-cant-be-opened-36.2023648/
    按这个讨论,应该是某个版本的 bug ,可以先打开磁盘工具然后再打开 dmg 文件。如果确实是这样的话,其实不如升级系统了
    paststrange
        2
    paststrange  
    OP
       25 天前
    @ern #1 主要我现在就是最新的 macos15.4.1 折腾死我了 一晚上都在排查 也找不到结果
    wellblink
        3
    wellblink  
       24 天前 via iPhone
    重启解决
    paststrange
        4
    paststrange  
    OP
       24 天前
    @wellblink #3 重启解决不了 已经重启数次了
    paststrange
        5
    paststrange  
    OP
       24 天前
    新问题:我发现部分 png 图片也有这个问题,应用程序“PictureView.app”无法打开。-36 ,难道是硬盘或者系统问题?
    di11wei
        6
    di11wei  
       24 天前 via iPhone
    是不是文件权限问题,我记得 onyx 这个程序有个清理和修复的功能,可以试试
    macidea
        7
    macidea  
       24 天前
    @paststrange -36 错多数是文件或存储设备有问题。 你这个复现的 dmg 问题,看来还不是文件坏掉。
    我曾经有很多年前低版本系统生成的 dmg 在新系统中发生过不能打开,后来是在低版本系统上打开。
    paststrange
        8
    paststrange  
    OP
       24 天前
    @di11wei #6 今天刚好更新 MacOS15.5 系统 我准备回家升级系统试试看有没有问题 再试试这个 onyx
    paststrange
        9
    paststrange  
    OP
       24 天前
    @macidea #7 今天刚好更新 MacOS15.5 系统 我准备回家升级系统试试看有没有问题 百思不得其解
    paststrange
        10
    paststrange  
    OP
       24 天前
    试了下重装系统也还是有问题,难道说我要抹掉所有数据重装吗,(┬_┬)
    paststrange
        11
    paststrange  
    OP
       23 天前
    sudo xattr -r -d com.apple.quarantine 一下解决了,神奇
    congjinyebaiya
        12
    congjinyebaiya  
       21 天前
    终于遇到同样问题的了。前几天国补刚买了 Mac mini ,然后刚激活后的几天还能正常安装,然后就发现任何 .dmg 都无法正常打开,提示跟你说的一模一样 “应用程序“DiskImageMounter.app”无法打开。-36”,网上找了一堆答案,都是牛头不对马嘴无法解决问题,然后顺着楼主的帖子真的解决了。

    浅浅讲一下,我的理解是:macOS 的安装程序 `.dmg` 本质上是一个镜像,双击安装其实是通过 macOS 自带的 `DiskImageMounter.app` 来挂载镜像然后安装,双击镜像挂载镜像本质上就实现目的来说和执行 `hdiutil attach /path/to/xxx.dmg` 一样的,都是挂载镜像,然后启动安装。

    现在报 `“应用程序“DiskImageMounter.app”无法打开 -36”`,其实是因为`.dmg`文件的扩展属性被意外或者错误更改了,我的理解是大概类似于 Windows 上的 `.exe` 文件,本来在 Windows 中是被定义为应用安装包,现在由于某种问题而被更改了,Windows 应用安装程序无法识别 `.exe` 文件为应用安装包,所以就无法安装。(这点我也不太百分百保证,我也是根据我的想法配合 Gemini 的解释来理解)

    `.dmg` 文件本来的默认扩展属性是应用程序安装包,现在被错误更改为其他之后,`DiskImageMounter.app` 也就无法把 `.dmg` 当作应用程序安装包来挂载安装。

    我回忆了一下,大概可能应该是因为我安装了解压缩软件 `Keka`,然后在关联格式的时候导致 `.dmg` 的扩展属性被更改了,因为我实在是想不到其他的可能性。

    再回到楼主的解决方法,其实刚开始我输入 `sudo xattr -r -d com.apple.quarantine` 之后并没有解决我的问题,执行后终端报错:`Not enough arguments for option -d. Expected at least 2 but got 1`。原因在于 `xattr -d` 命令用于删除文件的扩展属性。它的基本用法是 xattr -d <属性名称> <文件路径> 。我输入的命令 ` sudo xattr -r -d com.apple.quarantine` 只指定了要删除的属性名称 `com.apple.quarantine`,但是没有指定要从哪个文件上删除这个属性,所以系统提示参数不足。

    正确的删除 `com.apple.quarantine` 属性的命令应该是 `sudo xattr -d com.apple.quarantine /path/to/your/app-name.dmg`,其中需要将 `/path/to/your/app-name.dmg` 替换为实际下载的.dmg 文件的完整路径。

    然后我又搜索了下 `com.apple.quarantine` 这个属性,它是 `macOS Gatekeeper` 安全机制的一部分,它会标记从互联网下载的文件 。当用户第一次打开带有这个属性的应用时,系统会进行检查(例如开发者签名、是否经过公证等),并可能弹出警告,例如“文件已损坏”或“无法验证开发者” 。所以移除这个属性可以解决这类安全提示导致无法打开应用的问题。

    再多提一嘴,严格意义上第一次(因为真实的第一次是大学的时候在一台 HP 的机子上折腾黑苹果 2333 )使用 macOS ,大家都说 Windows 问题很多,苹果很省心。对于开发而言,各种环境和软件安装,macOS 真的非常非常好用,对我的需求而言很接近甚强过 Linux ,而且因为相比 Linux 有好用的 GUI ,我觉得体验非常好。

    但在另一方面,如果在使用 macOS 的过程中遇到系统方面的一些问题,比如这个,可能因为用户量的关系,能搜到的相关问题和解答真的少的可怜,相比之下 Windows 虽然大家都在吐槽,但因为用户足够多,在遇到问题之后解决问题的便利程度上还是要好过 macOS 很多。

    PS:还有就是 Finder 这个 icon 平时没感觉,遇到问题报错的时候看起来真的很有攻击性

    https://imgur.com/WRBU67d
    paststrange
        13
    paststrange  
    OP
       21 天前
    @congjinyebaiya #12 哈哈 我偷懒了 实际上我那条命令之后省略了要加 dmg 文件 其实我是加了的 因为这条命令我通常是用来解决 app 打开显示已损坏的情况 从来没想到用在 dmg 文件上
    paststrange
        14
    paststrange  
    OP
       21 天前
    @congjinyebaiya #12 另外 “我回忆了一下,大概可能应该是因为我安装了解压缩软件 `Keka`,然后在关联格式的时候导致 `.dmg` 的扩展属性被更改了,因为我实在是想不到其他的可能性。” 你这么一说 我似乎也是有过一次用 maczip 打开 dmg 的情况 我也深度怀疑过这个问题 但是我尝试了更改打开方式为 DiskImageMounter.app 没起效,就没关注这个了
    congjinyebaiya
        15
    congjinyebaiya  
       20 天前
    @paststrange 但是很快我就发现了一个问题,这条命令因为针对的是某个安装包,所以执行的效果也只对单个包有用,不太清楚如果要对所有.dmg 进行删除扩展属性的操作的话应该怎么做,毕竟每次安装都手动清楚太麻烦了
    paststrange
        16
    paststrange  
    OP
       20 天前
    @congjinyebaiya #15 我是只有部分 dmg 文件有这个问题,其他大部分 dmg 文件没这个问题,所以就还好
    paststrange
        17
    paststrange  
    OP
       20 天前
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   971 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 19:53 · PVG 03:53 · LAX 12:53 · JFK 15:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.