删除分区后无法回收Time Machine外置磁盘空间:booter报错如何解决?
Time Machine磁盘删分区后收不回空间?看这里!
先搞懂:“booter”到底是什么?
这里的“booter”其实就是启动支持小分区——简单说就是系统用来辅助启动、恢复操作的迷你分区。当你用resizeStack调整CoreStorage(也就是你用diskutil cs list看到的那种存储结构)容器大小时,系统要求这个容器得关联一个这样的booter分区,不然就不让你调整空间。你之前临时分区又删掉的操作,大概率是把这个分区的关联搞坏了,或者不小心把它给删了,所以命令才报错。
手把手教你找回那100GB空间
第一步:先搞清楚你的磁盘信息
你已经有diskutil list和diskutil cs list的输出了,先从里面找出这几个关键东西:
- 你的Time Machine外置盘的标识符(比如
/dev/disk2,数字看你自己的输出) - CoreStorage逻辑卷组(LVG)的UUID(就是一串带横杠的长字符)
- 确认那100GB空闲空间确实和Time Machine容器在同一个磁盘上
第二步:先把磁盘卸载了
调整空间前得确保磁盘没被挂载,打开终端输这个命令(把diskX换成你的实际磁盘号):
diskutil unmountDisk /dev/diskX
如果提示“正在使用”,先关掉Time Machine偏好设置,或者重启电脑再试就行。
第三步:修复一下分区表
有时候分区表乱了也会导致系统认不出空闲空间,先修一修:
diskutil repairDisk /dev/diskX
等修复完,再跑一遍diskutil list,看看空闲空间是不是能被正确识别了。
第四步:重新关联booter并拉满空间
如果修复后还是不行,那就手动让系统补全booter分区并调整大小:
- 从
diskutil cs list里复制逻辑卷组的UUID(就是Logical Volume Group后面那串长字符) - 把UUID替换到下面的命令里执行:
diskutil cs resizeStack 你的LVG_UUID 0b
这里的0b是告诉系统“把容器拉到最大可用空间”,同时系统会自动补上缺失的booter分区,完成后应该就能找回那100GB了。
第五步:验证一下
跑完命令后,再用diskutil cs list看看逻辑卷的大小,确认已经占满1TB了,然后挂载磁盘:
diskutil mountDisk /dev/diskX
打开Disk Utility检查一下,应该就正常了。
要是上面的方法都不行?还有终极方案
如果CoreStorage的方式搞不定,那就只能麻烦点备份数据再格式化了:
- 把Time Machine里的备份先临时拷到另一个足够大的外置盘里(别搞丢了!)
- 打开Disk Utility,选中你的1TB磁盘,点“抹掉”,格式选APFS(或者Mac OS扩展(日志式),看你系统版本),命名后抹掉整个磁盘
- 重新设置Time Machine,把备份数据导回去,这样整个磁盘的空间就完全归Time Machine用了
内容的提问来源于stack exchange,提问作者Tom Martin
相关产品推荐
相关产品推荐

