我下载了一些商业 Mac 软件(CSSEdit)的 DMG,但我发现 DMG 无法挂载。我尝试了同一家公司的另一个映像,然后尝试了其他软件的一些映像。其中大约一半可以挂载,一半则不能。错误始终是“没有可挂载的文件系统”
我的 google-foo 只发现了一些孤立事件,并反复建议重新启动(我重启了两次)。磁盘也无法从磁盘实用程序安装(尝试从那里验证或修复也没有任何效果)。我还尝试使用几个不同的程序多次重新下载此映像。
我最近已更新至 10.5.8,以防万一。
这是我尝试从命令行挂载 DMG 时得到的内容的粘贴。
loki:下载 peter$ hdiutil 附加 CSSEdit\ 2.6.dmg -Verbose 正在初始化… DIBackingStoreInstantiatorProbe:接口 0,分数 100,CBSDBackingStore DIBackingStoreInstantiatorProbe:接口 1,分数 -1000,CBundleBackingStore DIBackingStoreInstantiatorProbe:接口 2,分数 -1000,CRAMBackingStore DIBackingStoreInstantiatorProbe:接口 3,分数 100,CCarbonBackingStore DIBackingStoreInstantiatorProbe:接口 4,分数 -1000,CDevBackingStore DIBackingStoreInstantiatorProbe:接口 5,分数 -1000,CCURLBackingStore DIBackingStoreInstantiatorProbe:接口 6,分数 -1000,CVectoredBackingStore DIBackingStoreInstantiatorProbe:选择 CBSDBackingStore DIBackingStoreInstantiatorProbe:接口 0,分数 100,CBSDBackingStore DIBackingStoreInstantiatorProbe:接口 1,分数 -1000,CBundleBackingStore DIBackingStoreInstantiatorProbe:接口 2,分数 -1000,CRAMBackingStore DIBackingStoreInstantiatorProbe:接口 3,分数 100,CCarbonBackingStore DIBackingStoreInstantiatorProbe:接口 4,分数 -1000,CDevBackingStore DIBackingStoreInstantiatorProbe:接口 5,分数 -1000,CCURLBackingStore DIBackingStoreInstantiatorProbe:接口 6,分数 -1000,CVectoredBackingStore DIBackingStoreInstantiatorProbe:选择 CBSDBackingStore DIFileEncodingInstantiatorProbe:接口 0,分数 -1000,CMacBinaryEncoding DIFileEncodingInstantiatorProbe:接口 1,分数 -1000,CAppleSingleEncoding DIFileEncodingInstantiatorProbe:接口 2,分数 -1000,CEncryptedEncoding DIFileEncodingInstantiatorProbe:没有什么可选择的。 DIFileEncodingInstantiatorProbe:接口 0,分数 900,CUDIFEncoding DIFileEncodingInstantiatorProbe:选择 CUDIFEncoding DIFileEncodingNewWithBackingStore: CUDIFEncoding DIFileEncodingNewWithBackingStore:实例化器返回 0 DIFileEncodingInstantiatorProbe:接口 0,分数 -1000,CSegmentedNDIFEncoding DIFileEncodingInstantiatorProbe:接口 1,分数 -1000,CSegmentedUDIFEncoding DIFileEncodingInstantiatorProbe:接口 2,分数 -1000,CSegmentedUDIFRawEncoding DIFileEncodingInstantiatorProbe:没有什么可选择的。 DIDiskImageInstantiatorProbe:接口 0,分数 0,CDARTDiskImage DIDiskImageInstantiatorProbe:接口 1,分数 0,CDiskCopy42DiskImage DIDiskImageInstantiatorProbe:接口 2,分数 -1000,CNDIFDiskImage DIDiskImageInstantiatorProbe:接口 3,分数 1000,CUDIFDiskImage CRawDiskImage:数据分叉长度 0x000000000022EE83(2289283)不是 512 的倍数。 DIDiskImageInstantiatorProbe:接口 5,分数 -100,CRawDiskImage DIDiskImageInstantiatorProbe:接口 6,分数 -100,CShadowedDiskImage DIDiskImageInstantiatorProbe:接口 7,分数 0,CSparseDiskImage DIDiskImageInstantiatorProbe:接口 8,分数 0,CSparseBundleDiskImage DIDiskImageInstantiatorProbe:接口 9,分数 -1000,CCFPlugInDiskImage DIDiskImageInstantiatorProbe:接口 10,分数 -100,CWrappedDiskImage DIDiskImageInstantiatorProbe:选择 CUDIFDiskImage DIDiskImageNewWithBackingStore:CUDIFDiskImage DIDiskImageNewWithBackingStore:实例化器返回 0 正在验证… 验证完成… 错误 0(未知错误:0)。 预期 CRC32 $DA5349F2 正在附加… DI_kextWaitQuiet:即将调用 IOServiceWaitQuiet…… DI_kextWaitQuiet:IOServiceWaitQuiet 耗时 0.000008 秒 2009-08-06 21:48:36.456 diskimages-helper[1607:381b] -serveImage:连接驱动器 { 自动磁盘挂载=1; “hdiagent 驱动器标识符” = “921062E3-5965-477A-85C8-C93979468CF9”; “卸载超时” = 0; } 2009-08-06 21:48:36.462 diskimages-helper[1607:381b] -serveImage:连接到 myDrive 0x00004707 2009-08-06 21:48:36.463 diskimages-helper[1607:381b] -serveImage:使用 myDrive 0x0x0 注册 _readBuffer 0x0x468000 2009-08-06 21:48:36.463 diskimages-helper[1607:381b] -serveImage:激活驱动器端口 0x0x4807 2009-08-06 21:48:36.463 diskimages-helper[1607:381b] _serveImage:设置缓存已启用=TRUE 返回成功。 2009-08-06 21:48:36.464 diskimages-helper[1607:381b] _serveImage:在 IO 线程上设置=TRUE 返回 SUCCESS。 2009-08-06 21:48:36.464 diskimages-helper[1607:381b] -serveImage:启动服务器循环 - myPort 为 0x0x4807 音量检查已完成… 安装… ^[[Adiskimages-helper: DI_kextDriveGetRequest 返回 0x00000025 (37) ((os/kern) 对象终止)。 正在附加… 错误 109(没有可安装的文件系统)。 精加工… DIHLDiskImageAttach() 返回 109 hdiutil:连接失败 - 没有可安装的文件系统 loki:下载 peter$ hdiutil imageinfo CSSEdit\ 2.6.dmg -Verbose hdiutil:imageinfo:处理“CSSEdit 2.6.dmg” DIBackingStoreInstantiatorProbe:接口 0,分数 100,CBSDBackingStore DIBackingStoreInstantiatorProbe:接口 1,分数 -1000,CBundleBackingStore DIBackingStoreInstantiatorProbe:接口 2,分数 -1000,CRAMBackingStore DIBackingStoreInstantiatorProbe:接口 3,分数 100,CCarbonBackingStore DIBackingStoreInstantiatorProbe:接口 4,分数 -1000,CDevBackingStore DIBackingStoreInstantiatorProbe:接口 5,分数 -1000,CCURLBackingStore DIBackingStoreInstantiatorProbe:接口 6,分数 -1000,CVectoredBackingStore DIBackingStoreInstantiatorProbe:选择 CBSDBackingStore DIFileEncodingInstantiatorProbe:接口 0,分数 -1000,CMacBinaryEncoding DIFileEncodingInstantiatorProbe:接口 1,分数 -1000,CAppleSingleEncoding DIFileEncodingInstantiatorProbe:接口 2,分数 -1000,CEncryptedEncoding DIFileEncodingInstantiatorProbe:没有什么可选择的。 DIFileEncodingInstantiatorProbe:接口 0,分数 900,CUDIFEncoding DIFileEncodingInstantiatorProbe:选择 CUDIFEncoding DIFileEncodingNewWithBackingStore: CUDIFEncoding DIFileEncodingNewWithBackingStore:实例化器返回 0 DIFileEncodingInstantiatorProbe:接口 0,分数 -1000,CSegmentedNDIFEncoding DIFileEncodingInstantiatorProbe:接口 1,分数 -1000,CSegmentedUDIFEncoding DIFileEncodingInstantiatorProbe:接口 2,分数 -1000,CSegmentedUDIFRawEncoding DIFileEncodingInstantiatorProbe:没有什么可选择的。 DIDiskImageInstantiatorProbe:接口 0,分数 0,CDARTDiskImage DIDiskImageInstantiatorProbe:接口 1,分数 0,CDiskCopy42DiskImage DIDiskImageInstantiatorProbe:接口 2,分数 -1000,CNDIFDiskImage DIDiskImageInstantiatorProbe:接口 3,分数 1000,CUDIFDiskImage CRawDiskImage:数据分叉长度 0x000000000022EE83(2289283)不是 512 的倍数。 DIDiskImageInstantiatorProbe:接口 5,分数 -100,CRawDiskImage DIDiskImageInstantiatorProbe:接口 6,分数 -100,CShadowedDiskImage DIDiskImageInstantiatorProbe:接口 7,分数 0,CSparseDiskImage DIDiskImageInstantiatorProbe:接口 8,分数 0,CSparseBundleDiskImage DIDiskImageInstantiatorProbe:接口 9,分数 -1000,CCFPlugInDiskImage DIDiskImageInstantiatorProbe:接口 10,分数 -100,CWrappedDiskImage DIDiskImageInstantiatorProbe:选择 CUDIFDiskImage DIDiskImageNewWithBackingStore:CUDIFDiskImage DIDiskImageNewWithBackingStore:实例化器返回 0 格式:UDZO 备用存储信息: 类名:CUDIFEncoding 备用存储信息: 名称:CSSEdit 2.6.dmg 网址:file://localhost/Users/peter/Downloads/CSSEdit%202.6.dmg 类名:CBSDBackingStore 网址:file://localhost/Users/peter/Downloads/CSSEdit%202.6.dmg 名称:CSSEdit 2.6.dmg 分区信息: 0: 校验和值:$675BE18B 分区号:0 校验和类型:CRC32 姓名:gehele schijf (Apple_HFS : 0) 校验和类型:CRC32 分区: 可附加:true 分区方案:无 块大小:512 可燃性:真 分区: 0: 分区长度:18432 分区合成: true 分区提示:Apple_HFS 分区名称:整个磁盘 分区文件系统: 高频振动 + (HFS+): 分区开始:0 特性: 分区:false 软件许可协议:false 压缩:true 内核兼容:true 加密:false 校验和:真 校验和值:$DA5349F2 尺寸信息: 总字节数:9437184 压缩字节数:2289283 压缩比:0.26906180417644582 CUDIFEncoding 浪费的字节数:0 部门数量:18432 非空字节总数:8507904 总空字节数:929280 CUDIFEncoding 使用字节数:2289283 CUDIFEncoding 字节总数:2289283 类名:CUDIFDiskImage 格式说明:UDIF只读压缩(zlib) udif-ordered-chunks: true 部分: 0:/用户/peter/Downloads/CSSEdit 2.6.dmg 调整大小限制(每个 hdiutil resize -limits): 16624 18432 18432 hdiutil:图像信息:结果:0
答案1
我刚刚遇到了同样的问题,磁盘映像是Disk Utility
自己创建的。就我的情况而言,磁盘映像是whole disk image
,即它包含一个裸文件系统,没有任何分区图。 和Disk Utility
都不起作用hdiutil attach disk.dmg
,两者都抱怨可怕的“没有可安装的文件系统”问题。
有帮助的是从命令行安装它,只需两个简单的步骤:
hdiutil attach -noverify -nomount disk.dmg
这只会创建设备节点。现在运行
diskutil list
并记下diskN
图像的一部分,其中 N 是正整数。
最后,要安装设备,请执行以下操作:
diskutil mountDisk /dev/diskN
diskN
您之前确定的设备标识符在哪里。
请注意,您正在安装整个磁盘,而通常您会安装一个切片,例如disk0s2
。
请注意,如果您遇到的磁盘映像与我的类似,这会有所帮助。尽管如此,它仍应适用于分区磁盘映像,请参阅man diskutil
。
答案2
一般来说,如果您收到“没有可安装的文件系统”,通常意味着磁盘映像已损坏......请尝试重新下载磁盘映像,或从另一个浏览器下载磁盘映像......
我偶尔发现使用 Firefox 下载磁盘映像时会出现问题。这种情况很少见,但确实发生过……
答案3
我在包含所有最重要文件的 AES-128 加密 dmg 上遇到了同样的问题,这种文件值得花费数千美元让 Drivesavers 恢复。我甚至无法将 dmg 复制到另一个驱动器(无法读取或写入 -36)。我的 G4(是的,我是老派的)运行的是 10.4.11。
这有效:
- 从外部硬盘启动也运行 10.4.11。
- 使用 Stellar Phoenix 快速恢复功能查找并将 dmg 恢复到外部硬盘。所有后续工作都在该副本上进行。
- 运行磁盘工具中内置的驱动器操作系统版本。
- 在磁盘工具中,转到左上角的“文件”菜单,选择“打开磁盘映像”。
- 然后,已安装的卷将作为 dmg 的子目录出现在左栏中,就像硬盘上的任何其他卷一样,只是呈灰色(即:不可见)。
- 我使用 tinkertool 显示所有不可见的文件,但已安装的卷仍然没有出现在桌面上。
- 尝试使用磁盘工具修复,但没有成功。
- 但是,启动 DiskWarrior 4.0 后,安装的卷也出现在那里。
- 运行目录修复(简单的,而不是清除)并在“报告”阶段选择“预览”。
- DiskWarrior 报告称新版本和旧版本现在都出现在 dektop 上。
- 我在桌面上看不到它们(那里有太多垃圾并且可能错过了),但打开一个新的 Finder 窗口确实在左栏中显示了预览音量。
- 从预览卷中抓取我的文件并将其复制到外部驱动器。
- 赞美宇宙中一切美好和正确的事物。
- 允许 DiskWarrior 完成重建,重建成功,完成后安装修复的卷。
希望这可以帮助。
答案4
我也遇到过这个问题。最后,对我有用的是 Data Rescue。
什么没起作用
我尝试按照上述建议操作,将 dmg 复制到读/写格式。我尝试了磁盘实用程序转换和终端中的 hdiutil 命令,但在这两种情况下,Finder 都会在进程结束时挂起,我不得不重新启动计算机(强制重新启动 Finder 没有帮助)。
有效的方法
我尝试在磁盘实用程序中安装该映像。如上所述,这不起作用,但该映像现在在磁盘实用程序的左栏中显示为灰色名称。此步骤是必要的,以便 Data Rescue 可以看到损坏的磁盘映像。接下来,启动 Data Rescue。通过“快速扫描”,Data Rescue 找到了整个文件夹结构,我可以选择要恢复的文件。总而言之,这只花了 2-3 分钟。
感谢 sozuke80 提供的数据救援提示!
// 尼克拉斯