在恢复模式下用终端修复磁盘错误,核心是绕过当前系统限制直接操作底层存储:先运行diskutil list确认目标卷标识符,再用fsck_apfs -fy /dev/diskxsy强制检查修复;若失败,改用diskutil repairvolume /dev/diskxsy封装式修复,并结合diskutil info查s.m.a.r.t.状态与log show诊断深层问题。
在恢复模式下用终端修复磁盘错误,核心是绕过当前系统限制,直接操作底层存储设备。图形界面的“磁盘工具”有时会因权限或卷状态受限而无法运行,此时终端命令更灵活、反馈更明确。
先确认目标磁盘和分区
打开终端后第一件事是看清当前有哪些磁盘和分区,避免误操作:
- 输入 diskutil list 回车,列出所有物理磁盘、APFS容器及宗卷(如
disk1s1、disk2s5) - 重点关注名称为“Macintosh HD”或“Macintosh HD - Data”的宗卷,及其对应的设备标识符(如
/dev/disk1s1) - 若看到多个相似名称,可通过大小、类型(APFS)、挂载状态辅助判断
对未挂载卷执行 fsck_apfs 强制检查
APFS 是 macOS 10.13 及以后默认格式,必须用 fsck_apfs,且需在恢复模式下对未挂载卷操作:
- 运行 fsck_apfs -fy /dev/diskXsY(把 X 和 Y 替换为实际数字,例如
fsck_apfs -fy /dev/disk1s1) - 若提示 “could not open device”,说明该卷被占用,先执行 diskutil unmountDisk /dev/diskX 再重试
- 输出含 “repaired” 或 “OK” 表示修复成功;若反复报错(如 “corruption detected”),可能需进一步处理
用 diskutil repairVolume 做封装式修复
相比直接调用 fsck,repairVolume 更友好,自动处理部分挂载与校验逻辑,适合多数日常错误:
- 命令格式:diskutil repairVolume /dev/diskXsY
- 它会尝试验证元数据、修复目录结构、重建快照引用等,失败时会给出比 fsck 更易懂的提示
- 若提示 “Volume is locked” 或 “not mounted”,可先加一句 diskutil mount /dev/diskXsY 尝试挂载
配合其他诊断命令定位问题根源
单纯修复不等于根治,结合日志和硬件状态判断是否为深层故障:
- 查 S.M.A.R.T. 状态:diskutil info /dev/diskX | grep "S.M.A.R.T.",显示 “Verified” 才算健康
- 看近期系统错误:log show --predicate 'eventMessage contains "disk" or eventMessage contains "I/O"' --last 24h
- 重置 NVRAM(影响启动参数):nvram -c,完成后重启再试修复
操作完建议重启并观察是否恢复正常。如果多次 fsck_apfs -fy 都失败,或 diskutil list 中磁盘显示异常(如 missing、invalid bsd name),就要考虑备份数据后抹除重建 APFS 容器了。










