macos diskutil磁盘管理命令

diskutil 是 macOS 系统下非常强大的磁盘管理命令行工具,用于查看、分区、格式化、挂载、卸载、修复、加密等磁盘操作
在 Mac 的终端(Terminal)里几乎所有磁盘操作都能通过 diskutil 完成,是系统运维和 SRE 场景中必备的命令之一。


1.基本语法

1
diskutil [子命令] [参数...]

你可以先用:

1
diskutil

查看所有可用的子命令(官方帮助也非常详细)。


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.查看所有磁盘和分区

1
diskutil list

输出示例:

/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 卷与容器的结构

1
diskutil apfs list

输出结构类似:

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 确认目标磁盘号
  • 建议在执行 eraseDiskpartitionDisk 前使用 diskutil info 再次确认
  • 系统卷(macOS 启动盘)通常无法在运行时直接格式化