OSX下清除多个APFS容器

2018-04-06

小黑的OSX

OSX ”启动下转换助理“ 为创建Windows系统适应的卷 会同OSX原有的 APFS容器创建一个相同APFS容器,不是容器下新的宗卷。

起因

学弟小黑同学成功的在自己的MacBook安装了windows操作系统
在自己的机器上做了个双系统
删除win后发现被创建的win分区已经无法还原到OSX的分区

适用于新OSX,以APFS容器创建分区的系统

小黑的OSX

解决过程

因为对APFS了解并不多,解决过程相对折腾,踩到的坑比较多,消耗时间大;

解决问题需要使用 diskutil 工具,请根据自己的情况,认真阅读工具的使用说明后再对磁盘分区进行操作,谨慎操作,数据无价!

首先要知道,两个APFS容器(APFS Container)是相对分离的,APFS容器可以包含很多的“APFS Volume” APFS卷,

删除APFS容器

diskutil 工具提供的操作APFS的 apfs 系列子命令

apfs子命令系列中的 deleteContainer 可以删除掉APFS容器,
但是最终会以 Delete an APFS Container and reformat disks to HFS ,
将APFS容器转换为HFS格式的“磁盘”,
转换后就很蛋疼了,HFS不还占着空间么?

释放APFS容器删除后的 HFS”分区“

(在HFS 的处理问题,做了很多尝试,包括转换会APFS让两个APFS合并等…)

解决的方法是 将HFS以free的格式eraseVolume一遍,让HFS”释放”
执行命令:
diskutil eraseVolume free n disk0s3

(disk0s3在不同的机器上请用 diskutil list 命令自行检查)

还原空间至APFS容器

最后将OSX的APFS容器以填满空隙的方式
将free掉的HFS”分区“增加到mac分区中,命令:
diskutil apfs resizeContainer disk0s2 0

执行后结果如题目顶端图片所示… 算是成功的把多余又占空间的APFS清掉了

最后就是这样子啦 =。= 不知道原理什么的,会很蛋疼的摸索出来。


Comments: