Mac怎么用hdiutil管理磁盘映像_Mac如何创建挂载和转换DMG磁盘镜像文件【命令】

大晨吖_4838

大晨吖_4838

2026-03-21

947人浏览

原创

hdiutil是macos原生磁盘映像管理工具,支持创建、挂载、卸载、转换、验证及信息查询等完整操作,无需安装,适用于脚本自动化与高级控制。

mac怎么用hdiutil管理磁盘映像_mac如何创建挂载和转换dmg磁盘镜像文件【命令】

如果您需要在 macOS 中通过命令行对磁盘映像(.dmg、.sparseimage、.sparsebundle 等)执行创建、挂载、卸载、转换或验证等操作,则必须使用系统原生工具 hdiutil。该命令功能完整、无需额外安装,适用于自动化脚本、批量处理及高级用户精确控制场景。

一、创建加密或非加密磁盘映像

此方法用于从零生成指定大小、格式与加密类型的磁盘映像文件,支持稀疏映像(自动扩容)与固态映像(固定大小),适用于构建安全容器或分发模板。

1、打开“应用程序 > 实用工具 > 终端”。

2、执行以下命令创建一个 500MB 的 AES-256 加密稀疏映像:
hdiutil create -type SPARSE -fs 'APFS' -volname "SecureData" -encryption AES-256 -agentpass "/Users/用户名/Desktop/SecureData.sparseimage"

3、按回车后,终端将提示两次输入密码;输入相同高强度密码并确认。

4、若需创建非加密的固态 .dmg 文件(如用于分发),运行:
hdiutil create -size 2g -fs 'APFS' -volname "InstallPackage" "/Users/用户名/Desktop/InstallPackage.dmg"

5、生成完成后,文件将保存至指定路径,但不会自动挂载。

二、挂载与卸载磁盘映像

挂载操作使磁盘映像在 Finder 中显示为可访问卷宗,卸载则断开连接并释放资源;两者均不修改映像内容本身,仅改变系统对其的可见性状态。

1、挂载指定 .dmg 文件(不弹出 Finder 窗口):
hdiutil attach -quiet "/Users/用户名/Desktop/Data.dmg"

2、挂载时强制静默且忽略验证(适用于已知可信映像):
hdiutil attach -quiet -noverify -noautofsck "/Users/用户名/Desktop/Archive.dmg"

3、挂载加密映像并从钥匙串读取密码(需提前存入):
hdiutil attach -stdinpass "/Users/用户名/Desktop/Protected.dmg"

4、卸载已挂载卷(根据挂载路径操作):
hdiutil detach "/Volumes/SecureData"

5、卸载所有当前挂载的磁盘映像:
hdiutil detach -all

三、转换磁盘映像格式

此方法用于更改映像的压缩方式、文件系统类型或容器格式,例如将读写映像转为只读压缩版以减小分发体积,或适配不同 macOS 版本兼容性要求。

1、将未压缩的读写 .dmg 转换为高压缩率只读格式(UDZO):
hdiutil convert "/Users/用户名/Desktop/Source.dmg" -format UDZO -o "/Users/用户名/Desktop/Compressed.dmg"

2、将稀疏映像(.sparseimage)转换为固态只读映像(.dmg):
hdiutil convert "/Users/用户名/Desktop/Working.sparseimage" -format UDBZ -o "/Users/用户名/Desktop/Final.dmg"

悟道
悟道

悟道是一款AI大模型工具,智源“悟道”大模型,中国首个+世界最大人工智能大模型。

下载

3、转换时指定新卷标名称:
hdiutil convert "/Users/用户名/Desktop/Old.dmg" -format UDZO -volname "NewLabel" -o "/Users/用户名/Desktop/New.dmg"

4、若源映像受密码保护,转换过程中会提示输入密码;也可通过 -stdinpass 参数传递。

5、转换完成后,原始文件保持不变,新文件独立生成。

四、验证与修复磁盘映像完整性

验证操作检查映像文件结构是否损坏、校验和是否匹配;修复则尝试重建损坏的目录结构或元数据,适用于下载中断、传输错误或意外断电导致的映像异常。

1、仅验证映像完整性(不挂载、不修改):
hdiutil verify "/Users/用户名/Desktop/CheckMe.dmg"

2、验证并输出详细诊断信息:
hdiutil verify -verbose "/Users/用户名/Desktop/CheckMe.dmg"

3、对已挂载的卷执行文件系统级修复(需具备读写权限):
hdiutil repair "/Volumes/CorruptedVolume"

4、强制跳过签名验证(适用于自制或未签名映像):
hdiutil verify -noverify "/Users/用户名/Desktop/Test.dmg"

5、若验证失败,终端将明确提示错误代码(如 “Error 1234”)及具体位置,不可忽略。

五、列出与查询磁盘映像信息

此方法用于快速获取映像的底层参数,包括容量、格式、加密状态、块大小、卷标、创建时间等,是排查挂载失败、格式不兼容或脚本调试的关键前置步骤。

1、列出所有当前挂载的磁盘映像及其设备节点:
hdiutil info

2、查询指定映像文件的详细属性(不挂载):
hdiutil imageinfo "/Users/用户名/Desktop/Query.dmg"

3、仅提取映像的加密类型与状态:
hdiutil imageinfo "/Users/用户名/Desktop/Query.dmg" | grep -i "encryption"

4、查看映像支持的挂载选项(如是否允许写入、是否启用Journaled):
hdiutil imageinfo "/Users/用户名/Desktop/Query.dmg" | grep -E "(format|partition|properties)"

5、若映像为稀疏类型,输出中将明确显示 “Type: SPARSE” 及当前逻辑/物理占用大小。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.31

1729

3

python中的format是什么意思
python中的format是什么意思

python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.06.27

1211

7

scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

969

5

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.25

2900

5

macOS怎么切换用户账户
macOS怎么切换用户账户

在 macOS 系统中,可通过多种方式切换用户账户。如点击苹果图标选择 “系统偏好设置”,打开 “用户与群组” 进行切换;或启用快速用户切换功能,通过菜单栏或控制中心的账户名称切换;还能使用快捷键 “Control+Command+Q” 锁定屏幕后切换。

2025.05.09

4584

14

PHP 命令行脚本与自动化任务开发
PHP 命令行脚本与自动化任务开发

本专题系统讲解 PHP 在命令行环境(CLI)下的开发与应用,内容涵盖 PHP CLI 基础、参数解析、文件与目录操作、日志输出、异常处理,以及与 Linux 定时任务(Cron)的结合使用。通过实战示例,帮助开发者掌握使用 PHP 构建 自动化脚本、批处理工具与后台任务程序 的能力。

2025.12.13

486

14

Figma AI自动化智能数据填充与交互生成实战
Figma AI自动化智能数据填充与交互生成实战

告别机械重复,详细演示如何用 AI 填充业务真实数据,并自动为页面添加交互连线,将静态设计稿快速转变为动态原型。

2026.05.13

305

17

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

2026.10.16

20

10

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

2026.10.16

0

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 186人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 20.5万人学习

好课诞生记
好课诞生记

共20课时 | 7.2万人学习