diskutil 是 macOS 系统下非常强大的磁盘管理命令行工具,用于查看、分区、格式化、挂载、卸载、修复、加密等磁盘操作。
在 Mac 的终端(Terminal)里几乎所有磁盘操作都能通过 diskutil 完成,是系统运维和 SRE 场景中必备的命令之一。
1.基本语法
你可以先用:
查看所有可用的子命令(官方帮助也非常详细)。
2.常用子命令分类总览
| 分类 |
子命令 |
作用说明 |
| 信息查看 |
list |
显示所有磁盘与分区信息 |
|
info |
查看指定磁盘/分区的详细信息 |
| 挂载/卸载 |
mount |
挂载磁盘或分区 |
|
unmount / unmountDisk |
卸载单个卷或整个磁盘 |
| 格式化/分区 |
eraseDisk |
清空整个磁盘并重新分区格式化 |
|
partitionDisk |
重新分区磁盘 |
|
eraseVolume |
仅格式化某个卷 |
| 修复与校验 |
verifyDisk / repairDisk |
校验或修复磁盘结构(类似 fsck) |
|
verifyVolume / repairVolume |
校验或修复卷(Volume) |
| 挂载点与卷管理 |
renameVolume |
重命名卷 |
|
enableJournal / disableJournal |
启用/禁用 HFS+ 日志功能 |
| 加密管理 |
coreStorage |
管理 FileVault 加密卷(旧版系统) |
|
apfs |
管理 APFS 容器、卷(macOS 10.13+) |
3.常用示例
3.1.查看所有磁盘和分区
输出示例:
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *512.1 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk1 511.9 GB disk0s2
3.2.查看某个磁盘或卷的详细信息
1 2
| diskutil info disk1 diskutil info /Volumes/Macintosh\ HD
|
3.3.挂载和卸载磁盘
1 2 3
| diskutil mount disk2s1 diskutil unmount disk2s1 diskutil unmountDisk /dev/disk2
|
unmountDisk 会卸载该磁盘下的所有分区。
3.4.格式化磁盘
⚠️ 危险操作,请确认磁盘号!
1
| diskutil eraseDisk APFS "MySSD" /dev/disk2
|
- 格式化
/dev/disk2 整个磁盘为 APFS 格式并命名为 MySSD
支持的文件系统类型:
| 文件系统 |
说明 |
APFS |
新一代苹果文件系统 |
JHFS+ |
Mac OS Extended (Journaled) |
MS-DOS FAT32 |
FAT32 格式 |
ExFAT |
跨平台大容量格式 |
Free Space |
空闲分区 |
3.5.创建分区
1
| diskutil partitionDisk /dev/disk2 GPT JHFS+ Data 100G ExFAT Share R
|
创建两个分区:
- 第一个 100G HFS+ 格式,名为 Data
- 第二个占用剩余空间的 ExFAT 格式,名为 Share
3.6.修复磁盘或卷
1 2 3 4
| diskutil verifyDisk /dev/disk2 diskutil repairDisk /dev/disk2 diskutil verifyVolume /Volumes/Data diskutil repairVolume /Volumes/Data
|
3.7.重新命名卷
1
| diskutil renameVolume /Volumes/OldName NewName
|
3.8.创建空的 APFS 容器和卷
1 2
| diskutil eraseDisk APFSContainer newContainer /dev/disk3 diskutil apfs addVolume disk3s2 APFS NewVolume
|
3.9.弹出外部磁盘
1
| diskutil eject /dev/disk2
|
3.10.查看 APFS 卷与容器的结构
输出结构类似:
APFS Container (1 found)
|
+-- Container disk1 D9A8F8F9-7E10-4E6F-9821-8C79E7E02F89
+-- Volume Macintosh HD - Data
+-- Volume Macintosh HD
4.实用组合场景
4.1.自动挂载外接硬盘
1 2
| diskutil list | grep "External" diskutil mount /dev/disk3s1
|
4.2.制作可启动U盘(macOS 安装盘)
1 2
| diskutil eraseDisk JHFS+ InstallUSB /dev/disk2 sudo /Applications/Install\ macOS\ Sonoma.app/Contents/Resources/createinstallmedia --volume /Volumes/InstallUSB
|
5.图形化 vs 命令行
| 项目 |
Disk Utility.app |
diskutil 命令 |
| 易用性 |
图形化界面 |
需要命令行基础 |
| 功能范围 |
常用操作 |
所有系统级操作 |
| 自动化 |
无法批量 |
可脚本化操作 |
| 风险 |
较低 |
高,需确认磁盘号 |
6.常见安全提示
- 使用前务必通过
diskutil list 确认目标磁盘号
- 建议在执行
eraseDisk 或 partitionDisk 前使用 diskutil info 再次确认
- 系统卷(macOS 启动盘)通常无法在运行时直接格式化