Mac 上少部分 dmg 文件打开失败,找不到问题所在,不知道是 bug 还是啥问题,请大佬指教。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
paststrange
V2EX    macOS

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

  •  
  •   paststrange 151 天前 2019 次点击
    这是一个创建于 151 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一、问题复现 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  
       151 天前   1
    这里似乎有相关讨论: https://forums.macrumors.com/threads/diskimagemounter-cant-be-opened-36.2023648/
    按这个讨论,应该是某个版本的 bug ,可以先打开磁盘工具然后再打开 dmg 文件。如果确实是这样的话,其实不如升级系统了
    paststrange
        2
    paststrange  
    OP
       151 天前
    @ern #1 主要我现在就是最新的 macos15.4.1 折腾死我了 一晚上都在排查 也找不到结果
    wellblink
        3
    wellblink  
       151 天前 via iPhone
    重启解决
    paststrange
        4
    paststrange  
    OP
       151 天前
    @wellblink #3 重启解决不了 已经重启数次了
    paststrange
        5
    paststrange  
    OP
       151 天前
    新问题:我发现部分 png 图片也有这个问题,应用程序“PictureView.app”无法打开。-36 ,难道是硬盘或者系统问题?
    di11wei
        6
    di11wei  
       150 天前 via iPhone
    是不是文件权限问题,我记得 onyx 这个程序有个清理和修复的功能,可以试试
    macidea
    nbsp;   7
    macidea  
       150 天前
    @paststrange -36 错多数是文件或存储设备有问题。 你这个复现的 dmg 问题,看来还不是文件坏掉。
    我曾经有很多年前低版本系统生成的 dmg 在新系统中发生过不能打开,后来是在低版本系统上打开。
    paststrange
        8
    paststrange  
    OP
       150 天前
    @di11wei #6 今天刚好更新 MacOS15.5 系统 我准备回家升级系统试试看有没有问题 再试试这个 onyx
    paststrange
        9
    paststrange  
    OP
       150 天前
    @macidea #7 今天刚好更新 MacOS15.5 系统 我准备回家升级系统试试看有没有问题 百思不得其解
    paststrange
        10
    paststrange  
    OP
       150 天前
    试了下重装系统也还是有问题,难道说我要抹掉所有数据重装吗,(┬_┬)
    paststrange
        11
    paststrange  
    OP
       149 天前
    sudo xattr -r -d com.apple.quarantine 一下解决了,神奇
    congjinyebaiya
        12
    congjinyebaiya  
       147 天前
    终于遇到同样问题的了。前几天国补刚买了 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
       147 天前
    @congjinyebaiya #12 哈哈 我偷懒了 实际上我那条命令之后省略了要加 dmg 文件 其实我是加了的 因为这条命令我通常是用来解决 app 打开显示已损坏的情况 从来没想到用在 dmg 文件上
    paststrange
        14
    paststrange  
    OP
       147 天前
    @congjinyebaiya #12 另外 “我回忆了一下,大概可能应该是因为我安装了解压缩软件 `Keka`,然后在关联格式的时候导致 `.dmg` 的扩展属性被更改了,因为我实在是想不到其他的可能性。” 你这么一说 我似乎也是有过一次用 maczip 打开 dmg 的情况 我也深度怀疑过这个问题 但是我尝试了更改打开方式为 DiskImageMounter.app 没起效,就没关注这个了
    congjinyebaiya
        15
    congjinyebaiya  
       146 天前
    @paststrange 但是很快我就发现了一个问题,这条命令因为针对的是某个安装包,所以执行的效果也只对单个包有用,不太清楚如果要对所有.dmg 进行删除扩展属性的操作的话应该怎么做,毕竟每次安装都手动清楚太麻烦了
    paststrange
        16
    paststrange  
    OP
       146 天前
    @congjinyebaiya #15 我是只有部分 dmg 文件有这个问题,其他大部分 dmg 文件没这个问题,所以就还好
    paststrange
        17
    paststrange  
    OP
       146 天前
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     6034 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 02:34 PVG 10:34 LAX 19:34 JFK 22:34
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86