由于个人时间原因,笔者的有偿服务不再接受任何版本低于 macOS Mojave 机器的修复,实在抱歉。本文将由笔者维护更新状态转为放养,暂不会在私信/评论区回复,使用本教程前请三思。
随时加我微信: caryota 即可,我会在每周末统一回复修复。价格一律为 200/次,如需 24 小时内加急修复,价格为 350/次。虽然我可以修复任何 Mac 的情况,但是出于时间原因,我不再接受任何复杂情况修复,比如个人或第三方误操作导致磁盘情况复杂,iMac 混合硬盘修复等,若你的电脑属于复杂情况,我会微信告知。
注意:本教程理论上来说适用于 macOS Sierra 及以上系统,任何使用纯固态硬盘的 MacBook,MacBook Air,MacBook Pro, Mac Pro,iMac,iMac Pro; 但由于系统不同,不一定适用于使用「融合硬盘」的 iMac,融合硬盘的修复指令在文末。
若你需要我的帮助,或当前机型不在本文适用范围内,请参考文末有偿服务。iMac 将 Windows 10 安装在固态硬盘请参考关联阅读:解救融合硬盘版 iMac:将 Windows 10 放入内置固态硬盘中
过去,通过 Mac 系统自带的工具「启动转换助理」安装或者移除 Windows 10 十分方便;然而在 macOS 版本更新至 High Sierra 后,你可能发现「安装或移除 Windows 7或更高版本」的按钮变成了灰色,没法移除 Windows 分区;或者,移除分区后那一部分空间就「不见了」。
本文教你用命令行来解决这一卸载难题。
此操作需要一定动手能力,一共三步,分别是下文中的「2,3,4」。步骤完成后现有 Mac 系统不会有任何变化,Windows 10 系统会被彻底移除,Mac 系统将会重新拥有全部硬盘空间。
【此步已废弃,请从第二步开始即可】1. 打开「磁盘工具」- 从左侧选中「BOOTCAMP」- 从上方工具图标中选择「抹掉」工具 - 弹出的对话框「格式」那一栏选择「APFS」- 点击「抹掉」按钮。若你已经尝试了这一步,请看文末「更新 2」,并输入其中的指令。
2. 打开「终端」输入代码 diskutil list
,并按「Return」来显示所有磁盘信息,记下 BOOTCAMP
盘所对应的「IDENTIFIER」,我这里所对应的盘符是 disk0s3
;
3. 继续在「终端」输入代码 sudo diskutil eraseVolume free none disk0s3
并按「Return」来彻底移除刚刚记录下的这个磁盘,这里的 disk0s3 需要根据你的实际 BOOT CAMP 磁盘盘符替换;
4. 继续在「终端」输入代码 sudo diskutil apfs resizeContainer disk0s2 0
并按「Return」来将所有可用空间恢复到 Mac 盘,这里的 disk0s2 需要根据你的实际 Mac 磁盘盘符替换。
究其原因,是因为在 macOS High Sierra 中,系统的底层文件系统被彻底替换为 APFS, 但是系统自带的「磁盘工具」并未针对APFS 进行更新,很多常用操作(比如磁盘扩容)无法用它实现,导致现阶段移除 Windows 10 系统分区后重新分配这部分磁盘空间异常繁琐。
如果你安装了 Mac、Windows 10 双系统启动,但出于各种原因,需要将 Windows 10 移除、 使 Mac 恢复到刚买回来初始单个系统盘状态的,却发现「启动转换助理」不奏效,可是试试本文提供的命令行方法。
本文只专注于从 Mac 上移除 Windows 10 且料理后续磁盘问题,不会讲解如何安装双系统,如有需求欢迎在评论中提及,将会单独开文讲解流程。
更新:
- 若你使用的是 macOS High Sierra 以及更低版本的系统,则仍需按文中的方法移除 Windows 分区。
- 若你已经升级到 macOS Mojave,则可以直接前往「启动转换助理」,点击「移除 Windows 并恢复分区」即可,这一选项已经在 Mojave 中回归了。
更新 2:
文章的假设条件是,你没有使用系统自带的「磁盘工具」自行格式化 BOOTCAMP 磁盘。若你已经不小心格式化过了,则很可能在尝试文章第三步时报错。这是因为第三步的命令不适用于 APFS 磁盘。
解决方法是在运行第三步之前,输入下面这一条命令来将 APFS 格式的 BOOTCAMP 磁盘转化为 HFS 格式,命令为「sudo diskutil apfs deleteContainer disk0s3」,这里的 disk0s3 依旧是你在步骤二中找到的 BOOTCAMP 对应盘符。运行完这条指令后,继续跟着文中 3, 4 步骤走即可。
更新 3:
一点点题外话,有些人不确定第二部中的盘符如何找到,下面我机型简单说下。
若你的电脑为 Mac 的笔记本,如 Macbook, Macbook Air, Macbook Pro。这类电脑通常只有一块物理磁盘,你的 BOOTCAMP 盘符一定是类似于 disk0s3 这类格式。这里的数字 0,代表着电脑中的第一个(也是唯一的一个)物理磁盘,数字 3,代表着 BOOTCAMP 处在这块磁盘中的第三个分区。
若你的电脑是 iMac 的 Fusion Drive 版本,那么你的电脑中则会有两块物理磁盘,BOOTCAMP 一般会默认使用第二块硬盘,此时你的 BOOTCAMP 盘符就会变成 disk1s4 这类格式,这里的数字 1 代表着电脑中的第二个物理磁盘,数字 4,代表着 BOOTCAMP 处在这块磁盘中的第四个分区。
更新 4:
若你在运行完第三步之后,运行第四步时报错。请重新运行第二步查看磁盘列表,并检查其中是否出现了「Apple_KernelCoreDump」,若出现了这一部分,请重新运行第三步,消除这一部分分区,再进行第四步即可。
更新 5:
若你在运行完第三步之后,运行第四步时报错。请重新运行第二步查看磁盘列表,并检查其中是否出现了「Microsoft Reserved」,若出现了这一部分,请重新运行第三步,移除这一部分分区,再进行第四步即可。
更新 6:
最近有不少人用本教程修 iMac, iMac 融合硬盘的情况相较于本文的例子复杂很多。因此我在文章开头处更新了本文的适用范围,若你使用的是 iMac,请务必弄清楚每一步命令的实际用途,再尝试修复。贸然尝试,可能会把相对复杂的问题变得特别复杂。
更新 7:
iMac 融合硬盘修复时可能会用到的命令如下。因为 iMac 的具体情况比较复杂,因此目前只是将代码罗列在这里。若你了解硬盘命令的话可以尝试修复;若你刚刚接触硬盘命令的话,暂时不建议尝试。
进⼊入恢复磁盘
进入恢复系统:Command + R
显示磁盘信息
显示硬盘列:diskutil list
显示 cs 硬盘列:diskutil cs list
查看分区上限:sudo diskutil resizeVolume /dev/disk1s3 limits
重置空间:sudo diskutil resizeVolume /dev/disk1s2 100GB
强制断开驱动器
sudo diskutil unmountDisk force /dev/disk1
删除 EFI NO NAME
彻底移除逻辑磁盘: diskutil unmount /Volumes/Macintosh\ HD
显⽰示分区结构: gpt -r show /dev/disk1
删除 EFI NO NAME:gpt remove -i 4 /dev/disk1
BOOT 丢失重新还原
显⽰示分区结构:gpt -r show /dev/disk0
断开磁盘链接:diskutil umountdisk disk0
新增存储区块:gpt add -I 3 -b 1362424032 -s 1269536 -t 426F6F74-0000-11AA- AA11-00306543ECAC(128MiB (262144 sectors) free space following a partition;gpt add -b 409640 -s 195313624 -t hfs disk2)GUID UUID
新增 Boot 分区:newfs_hfs -v "Volume Name" -J /dev/disk2s8
新增 EFI 区块:gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk0
新增 HFS 区块:gpt add -I 2 -b 409640 -s 5450355 -t 48465300-0000-11AA-AA11-00306543ECAC disk0
解除磁盘锁:diskutil cs unlockVolume UUID
删除 APFS:diskutil apfs deleteContainer disk0s4
coreStorage 扩容
物理理扩容: diskutil cs resizeDisk 11111111-2222-3333-4444-555555555555 980g
逻辑扩容: diskutil cs resizeVolume 11111111-2222-3333-4444-555555555555 980g
更新 8:
若你对 BOOT CAMP 安装及显卡驱动优化有需求,可以参考我的另外两篇文章:
如何大幅提升 Boot Camp Windows 10 图形性能?
更新 9:
在极少的情况下,对于老旧系统,若你的 Windows 卸载过程中没有使用 BOOT CAMP 自带的「移除 Windows 分区」的方式,可能会造成删除完 Windows 之后 Mac 引导丢失的问题。具体表现为启动系统按下 Option 之后找不到 Mac 的选项。这个问题不在本文的讨论范畴内,但如果你不幸遇到了,可以尝试以下方法:
无论你的电脑处在什么状态,长按电源键 10 秒对电脑进行强制关机。接着点按开机按钮并松开,同时按下「Command + Option + R」进入网络修复模式,这时候你会看到如下图标,稍等片刻。
进入该模式后,在罗列出的选项中选择「磁盘工具」,选择你的 Mac 磁盘,并点击上方的「急救」按钮,稍等片刻。此操作 Mac 会自动寻找丢失的启动项并尝试修复,修复完成后重启电脑即可。
更新 10:
我写了一篇新文章讲解终端的用法,若你想要入门终端,可以查看这篇文章:
更新 11:
自从这帖子发布后,我大概在微信上帮忙修复了 50 台左右的电脑,大家都是很友善的人,也交了不少新朋友。但是最近一次遇到了一个奇葩令我很生气,一上来先讲价,等我帮他移除 BOOT CAMP 并合并分区全弄好了以后他又抛过来各种其他问题,我和他说明了其他问题需要额外收费之后他说我套路他。
现在特此声明,我不是专职修电脑的,有偿服务也只是在我的闲暇时间帮助新手或移除 BOOT CAMP 过程中遇到问题的人,在我尊重你并解决问题的同时,也请尊重我的时间。这项服务只包含移除 BOOT CAMP 分区并将剩余空间还原到 Mac 磁盘。
若你添加我的微信,请务必在下方看清你的电脑所属的类型及价格,不会讲价。若你本身有其他需求,请务必在我开始帮你处理前说清楚,我会根据所需用时向你报价,和则开始。
更新 12:
若移除完 BOOT CAMP 分区后,你可能发现 WIndows 10 还会默认启动,这其实是因为 Windows 10 在 EFI 中的启动项还在,下面这几句命令可以帮你移除掉它。注意:下面的盘符需要被替换为 EFI 所在盘符。
sudo mkdir /Volumes/EFI
sudo mount -t msdos /dev/disk0s1 /Volumes/EFI
cd /Volumes/EFI/EFI
rm -rf Microsoft
更新 13:
若你想深入理解 BOOT CAMP 的原理,这里有一篇很好的文章:
https://bbs.feng.com/read-htm-tid-6890655.html
有偿服务
这篇教程本身没问题,但由于每个人电脑硬盘个体差异较大,你可能会在按步骤走之后遇到问题。自这篇文章发布之后,有很多人加我微信寻求帮助,对我的日常安排造成了一定困扰,因此现在决定把它改成有偿服务。如果你不放心自己跟着教程走,或者运行时遇到了疑问,可以选择我对于这篇文章的有偿服务。
若你使用的是纯固态硬盘的 Mac 并采用 Sierra 或更新的系统,收费是 50 元人民币,预计用时 10 分钟,指导你移除 BOOT CAMP 分区并将剩余空间还原到 Mac 磁盘。若你使用的是纯机械硬盘的 Mac 或系统为 Sierra 之前的版本,收费是 70 元人民币,预计用时 30 分钟,指导你移除 BOOT CAMP 分区并将剩余空间还原到 Mac 磁盘。若你使用的是混合硬盘版的 iMac,需要解决移除 BOOT CAMP 分区的问题,收费是 100 - 200 元人民币,预计用时 1 小时,因为问题这个根据实际情况可能会非常麻烦,我会根据你的实际情况在开始之前给出报价。
由于个人时间原因,笔者的有偿服务不再接受任何版本低于 macOS Mojave 机器的修复,实在抱歉。本文将由笔者维护更新状态转为放养,暂不会在私信/评论区回复,使用本教程前请三思。
若你需要有偿服务,随时加我微信: caryota 即可,我会在每周末统一回复并完成修复。价格一律为 200/次,如需 24 小时内加急修复,价格为 350/次。虽然我可以修复任何 Mac 的情况,但是出于时间原因,我不再接受任何复杂情况修复,比如个人或第三方误操作导致磁盘情况复杂,iMac 混合硬盘修复等,若你的电脑属于复杂情况,我会微信告知。
如果你需要重新安装 Windows 的话,可以参考我的另一篇文章「Mac 如何安装 Windows 10」。若你需要激活码的话也可以加我的微信,我的一个朋友在卖。
我的微信:caryota
有偿服务额外说明请参考本文中的更新 11
微信打赏
若你觉得本文对你有帮助,也欢迎点击这里对我微信打赏「微信打赏给作者」。
> 开启 macOS 隐藏功能,就在专题 轻松玩转 Mac 命令 💻
> 下载 少数派 iOS 客户端、关注 少数派公众号,让智能设备更好用 ⚡️