Appearance
磁盘管理
本章将介绍 macOS 磁盘管理,包括磁盘工具、Time Machine 备份、存储空间管理等内容。
磁盘概述
文件系统
text
macOS 支持的文件系统:
APFS (Apple File System)
├── macOS 默认文件系统
├── 64 位架构
├── 原生加密支持
├── 快照功能
├── 空间共享
├── 克隆功能
└── 适用于 SSD
HFS+ (Mac OS Extended)
├── 旧版文件系统
├── 兼容性好
├── 适用于机械硬盘
└── 不支持 APFS 特性
FAT32/exFAT
├── 跨平台兼容
├── 适用于 U 盘
└── exFAT 支持大文件查看磁盘信息
bash
# 查看所有磁盘
diskutil list
# 查看磁盘详细信息
diskutil info disk0
# 查看磁盘空间
df -h
# 查看特定卷的信息
diskutil info /
# 查看物理磁盘
diskutil list physical
# 查看APFS容器
diskutil apfs list
# 使用系统报告查看
system_profiler SPStorageDataType磁盘工具
打开磁盘工具
bash
# 打开磁盘工具
open -a "Disk Utility"
# 或通过应用程序
# 应用程序 → 实用工具 → 磁盘工具
# 命令行方式
open /System/Applications/Utilities/Disk\ Utility.app磁盘急救
bash
# 检查磁盘
diskutil verifyVolume /
# 修复磁盘
diskutil repairVolume /
# 检查并修复启动磁盘
# 需要在恢复模式下运行
# 查看磁盘状态
diskutil info / | grep "Volume Status"
# 验证APFS容器
diskutil apfs verifyVolume disk1
# 修复APFS容器
diskutil apfs repairVolume disk1格式化磁盘
bash
# 查看可用格式
diskutil listFilesystems
# 格式化磁盘(警告:会删除所有数据)
# APFS 格式
diskutil eraseDisk APFS "MyDisk" GPT disk2
# Mac OS Extended (Journaled)
diskutil eraseDisk JHFS+ "MyDisk" GPT disk2
# exFAT(跨平台)
diskutil eraseDisk ExFAT "MyDisk" GPT disk2
# FAT32
diskutil eraseDisk FAT32 "MYDISK" MBR disk2
# 加密APFS
diskutil eraseDisk APFS "MyDisk" GPT disk2
diskutil apfs encryptVolume disk2s1 -user disk -passphrase "密码"分区管理
bash
# 查看分区
diskutil list
# 添加分区
diskutil addPartition disk0s2 APFS "NewPartition" 100g
# 删除分区
diskutil deletePartition disk0s3
# 调整分区大小
diskutil resizeVolume disk0s2 200g
# 查看可调整的大小
diskutil resizeVolume disk0s2 limits
# 合并分区(需要删除相邻分区)
diskutil mergePartitions JHFS+ "Merged" disk0s2 disk0s3Time Machine 备份
设置 Time Machine
text
设置 Time Machine:
系统设置 → 通用 → Time Machine
备份目标:
├── 外置硬盘
├── AirPort Time Capsule
├── 网络存储 (NAS)
└── 其他 Mac
首次备份:
1. 选择备份磁盘
2. 选择要排除的项目
3. 开始备份
4. 等待首次备份完成Time Machine 命令行
bash
# 查看 Time Machine 状态
tmutil status
# 查看备份目标
tmutil destinationinfo
# 开始备份
tmutil startbackup
# 停止备份
tmutil stopbackup
# 查看备份历史
tmutil listbackups
# 恢复特定文件
tmutil restore /Volumes/Backup/Backups.backupdb/Mac/2024-01-01/Users/用户名/Documents/file.txt ~/Documents/
# 删除旧备份
tmutil delete /Volumes/Backup/Backups.backupdb/Mac/2024-01-01
# 设置排除项
tmutil addexclusion ~/Downloads
tmutil removeexclusion ~/Downloads
# 查看排除项
tmutil isexcluded ~/Downloads本地快照
bash
# 查看本地快照
tmutil listlocalsnapshots /
# 创建本地快照
tmutil localsnapshot
# 删除本地快照
tmutil deletelocalsnapshots 2024-01-01-120000
# 禁用本地快照
sudo tmutil disablelocal
# 启用本地快照
sudo tmutil enablelocal从 Time Machine 恢复
text
恢复方法:
方法一:迁移助理
1. 打开迁移助理(应用程序 → 实用工具)
2. 选择从 Time Machine 备份传输
3. 选择要恢复的数据
4. 等待传输完成
方法二:恢复模式
1. 进入恢复模式
2. 选择"从 Time Machine 备份恢复"
3. 选择备份源和备份点
4. 等待恢复完成
方法三:浏览备份
1. 点击菜单栏 Time Machine 图标
2. 选择"进入 Time Machine"
3. 浏览历史版本
4. 选择要恢复的文件存储空间管理
查看存储使用
bash
# 查看磁盘空间
df -h
# 查看目录大小
du -sh ~
# 查看当前目录下各文件夹大小
du -sh *
# 查看最大的文件/文件夹
du -sh * | sort -rh | head -10
# 查找大文件
find ~ -size +100M -type f 2>/dev/null
# 使用 ncdu 工具(需安装)
brew install ncdu
ncdu ~清理存储空间
bash
# 清理系统缓存
rm -rf ~/Library/Caches/*
# 清理下载文件夹
rm -rf ~/Downloads/*
# 清理日志文件
rm -rf ~/Library/Logs/*
sudo rm -rf /var/log/*
# 清理 Xcode 派生数据
rm -rf ~/Library/Developer/Xcode/DerivedData/
# 清理 Homebrew 缓存
brew cleanup --prune=all
# 清理 npm 缓存
npm cache clean --force
# 清理 pip 缓存
pip cache purge
# 清理 Docker
docker system prune -a存储优化
text
macOS 存储优化功能:
系统设置 → 通用 → 存储空间
优化功能:
├── 存储在 iCloud 中
│ ├── 桌面和文稿
│ ├── 照片
│ └── 信息
├── 自动清倒废纸篓
├── 优化存储空间
│ ├── 自动删除已观看的视频
│ ├── 自动下载邮件附件
│ └── 仅保留最近使用的文件
└── 减少杂乱
├── 查找大文件
├── 查找重复文件
└── 查找旧文件外置磁盘管理
挂载和卸载
bash
# 查看已挂载的卷
ls /Volumes/
# 挂载磁盘
diskutil mount disk2s1
# 卸载磁盘
diskutil unmount /Volumes/MyDisk
# 强制卸载
diskutil unmount force /Volumes/MyDisk
# 弹出磁盘
diskutil eject disk2
# 挂载所有磁盘
diskutil mountDisk disk2
# 卸载所有分区
diskutil unmountDisk disk2外置磁盘格式选择
text
外置磁盘格式选择指南:
仅 macOS 使用:
├── APFS(SSD)
└── Mac OS Extended(机械硬盘)
macOS 和 Windows:
├── exFAT(推荐)
└── FAT32(小于 32GB)
macOS、Windows 和 Linux:
└── exFAT
跨平台大文件:
└── exFAT
加密存储:
└── APFS(加密)磁盘映像
创建磁盘映像
bash
# 创建空白磁盘映像
hdiutil create -size 10g -fs APFS -volname "MyDisk" ~/Desktop/mydisk.dmg
# 从文件夹创建磁盘映像
hdiutil create -volname "MyFolder" -srcfolder ~/Documents/MyFolder -ov -format UDZO ~/Desktop/myfolder.dmg
# 创建可读写磁盘映像
hdiutil create -size 10g -fs APFS -volname "MyDisk" -format UDRW ~/Desktop/mydisk.dmg
# 创建加密磁盘映像
hdiutil create -size 10g -fs APFS -volname "Secure" -encryption AES-256 ~/Desktop/secure.dmg
# 格式说明:
# UDZO - 压缩(只读)
# UDRW - 读写
# UDSP - 稀疏磁盘映像
# UDSB - 稀疏捆绑磁盘映像管理磁盘映像
bash
# 挂载磁盘映像
hdiutil attach ~/Desktop/mydisk.dmg
# 挂载到指定位置
hdiutil attach ~/Desktop/mydisk.dmg -mountpoint /Volumes/MyDisk
# 卸载磁盘映像
hdiutil detach /Volumes/MyDisk
# 强制卸载
hdiutil detach /Volumes/MyDisk -force
# 转换磁盘映像格式
hdiutil convert mydisk.dmg -format UDZO -o mydisk_compressed.dmg
# 查看磁盘映像信息
hdiutil imageinfo mydisk.dmg
# 验证磁盘映像
hdiutil verify mydisk.dmg稀疏磁盘映像
bash
# 创建稀疏磁盘映像(按需增长)
hdiutil create -size 100g -fs APFS -volname "Sparse" -type SPARSE ~/Desktop/sparse.sparseimage
# 创建稀疏捆绑磁盘映像(更适合备份)
hdiutil create -size 100g -fs APFS -volname "Bundle" -type SPARSEBUNDLE ~/Desktop/bundle.sparsebundle
# 压缩稀疏磁盘映像
hdiutil compact ~/Desktop/sparse.sparseimage
# 调整稀疏磁盘映像大小
hdiutil resize -size 200g ~/Desktop/sparse.sparseimage磁盘加密
FileVault
bash
# 查看 FileVault 状态
fdesetup status
# 启用 FileVault
sudo fdesetup enable
# 禁用 FileVault
sudo fdesetup disable
# 查看加密进度
fdesetup status -verbose
# 添加恢复密钥
sudo fdesetup changerecovery -personal
# 查看授权用户
fdesetup list
# 添加用户
sudo fdesetup add -usertoadd 用户名加密外置磁盘
bash
# 加密 APFS 卷
diskutil apfs encryptVolume disk2s1 -user disk -passphrase "密码"
# 解密 APFS 卷
diskutil apfs decryptVolume disk2s1 -passphrase "密码"
# 查看加密状态
diskutil apfs list | grep "Encryption"
# 创建加密磁盘映像
hdiutil create -size 10g -fs APFS -volname "Encrypted" -encryption AES-256 ~/Desktop/encrypted.dmg磁盘性能
检测磁盘性能
bash
# 使用 diskutil 测试
diskutil info disk0 | grep "Solid State"
# 查看磁盘类型
system_profiler SPStorageDataType | grep "Medium Type"
# 使用命令行测试读写速度
# 写入测试
dd if=/dev/zero of=/tmp/testfile bs=1m count=1024
# 读取测试
dd if=/tmp/testfile of=/dev/null bs=1m
# 清理测试文件
rm /tmp/testfile
# 使用第三方工具
brew install --cask blackmagic-disk-speed-test
brew install fioTRIM 支持
bash
# 查看 TRIM 状态
system_profiler SPStorageDataType | grep TRIM
# 启用 TRIM(第三方 SSD)
sudo trimforce enable
# 禁用 TRIM
sudo trimforce disable
# 注意:启用 TRIM 可能影响数据恢复小结
本章介绍了 macOS 磁盘管理的主要内容:
- 磁盘概述:了解文件系统和磁盘信息
- 磁盘工具:使用图形和命令行工具
- Time Machine:设置和管理备份
- 存储管理:清理和优化存储空间
- 外置磁盘:挂载和格式化外部存储
- 磁盘映像:创建和管理 DMG 文件
- 磁盘加密:FileVault 和卷加密
- 磁盘性能:检测和优化磁盘性能
下一步
下一章我们将学习 用户账户,了解 macOS 用户管理方法。
