要准确掌握mac物理磁盘分区布局及apfs卷角色,需依次执行diskutil list查看设备快照、diskutil apfs list解析容器内卷类型、sudo gpt -r show验证gpt分区表,并用df/mount/diskutil info等命令分别筛选挂载卷和获取元数据。

要准确掌握Mac上每一块物理磁盘的分区布局、APFS容器归属及各卷角色,必须绕过图形界面的简化展示,直读系统底层识别到的设备快照与分区表结构。
列出全部物理磁盘与分区拓扑
打开“终端”(可通过聚焦搜索输入「终端」启动)。
执行命令:diskutil list。
该命令输出即为当前系统识别到的完整设备快照:包含内部SSD(如disk0)、外接USB盘(如disk2)、每个设备下的分区(disk0s1、disk0s2)以及APFS容器内展开的各个卷(如Macintosh HD、Macintosh HD - Data)。【未挂载的磁盘或隐藏恢复分区也会显示,但EFI分区不会自动挂载——这正是它只在diskutil list里才露真容的原因】
展开APFS容器内各卷的隶属关系和角色
仅靠diskutil list无法区分APFS容器中各卷的逻辑角色(如System、Data、Preboot、Recovery),必须进一步解析容器结构。
执行命令:diskutil apfs list。
该命令会逐个列出所有APFS容器,并在每个容器下清晰标注各卷名称、类型(System/Data/Preboot/Recovery)、大小、UUID及是否已挂载。例如,“Macintosh HD - Data”会被明确标记为Data角色,而“Macintosh HD”则对应System角色——这是判断系统分区真实分工的关键依据。
验证底层GPT分区表真实性
当diskutil list与diskutil apfs list结果存在矛盾(比如某分区在前者中出现,但在后者中无对应卷),说明可能存在分区表损坏或人工误操作痕迹,此时需读取原始GPT数据交叉验证。
执行命令:sudo gpt -r show /dev/disk0(将/dev/disk0替换为你想查验的实际磁盘设备节点,如disk2)。
该命令直接读取磁盘首扇区的GPT头与分区条目,输出每段分区的起始LBA、大小、类型GUID及名称。注意:必须加sudo权限才能读取原始扇区;若提示“not found”,说明该磁盘使用MBR而非GPT(常见于老旧外置U盘)。
快速筛选已挂载且有名称的宗卷
方法一:用df定位活跃挂载点
运行:df -h | grep "/Volumes/"——只显示挂载在/Volumes下的用户数据卷及其使用率。
方法二:用mount过滤挂载详情
运行:mount | grep "mounted on /Volumes"——显示挂载命令行级细节,含读写权限、fstype和挂载选项。
方法三:用awk粗筛有名称且已挂载的宗卷(需基础awk知识)
运行:diskutil list | awk '/\/dev\/disk/{d=$0} /Name:.*[A-Za-z]/ && /Mount Point:/{print d; print}'——跳过无名分区与未挂载项,聚焦真实可用宗卷。
获取单个宗卷的完整元数据
第一步:确认目标宗卷挂载路径,例如/Volumes/MyBackup或设备节点disk2s1。
第二步:执行命令:diskutil info /Volumes/MyBackup 或 diskutil info disk2s1。
第三步:重点查看以下字段:
– S.M.A.R.T. Status(判断是否健康)
– APFS Container Reference(确认是否属于某个容器)
– Total Size / Used Space / Available Space(精确到字节的容量信息)
– Mount Point(实际装载路径)
– Protocol(接口协议,如NVMe/USB/Thunderbolt)
注意:若用UUID查询,格式为diskutil info "9A2B3C4D-5E6F-7G8H-9I0J-K1L2M3N4O5P6",引号不可省略。











