分享

彻底移除你的 Boot Camp 分区

 昱雄藏书 2020-07-28

如何彻底移除你的 Boot Camp 分区?

03月18日

王禹效

王禹效

注意:本教程理论上来说适用于 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 中回归了。

移除 Windows 并恢复分区已经在 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 安装及显卡驱动优化有需求,可以参考我的另外两篇文章:

Mac 如何安装 Windows 10?

如何大幅提升 Boot Camp Windows 10 图形性能?

 

更新 9:

在极少的情况下,对于老旧系统,若你的 Windows 卸载过程中没有使用 BOOT CAMP 自带的「移除 Windows 分区」的方式,可能会造成删除完 Windows 之后 Mac 引导丢失的问题。具体表现为启动系统按下 Option 之后找不到 Mac 的选项。这个问题不在本文的讨论范畴内,但如果你不幸遇到了,可以尝试以下方法:

无论你的电脑处在什么状态,长按电源键 10 秒对电脑进行强制关机。接着点按开机按钮并松开,同时按下「Command + Option + R」进入网络修复模式,这时候你会看到如下图标,稍等片刻。

网络修复模式

网络修复模式

进入该模式后,在罗列出的选项中选择「磁盘工具」,选择你的 Mac 磁盘,并点击上方的「急救」按钮,稍等片刻。此操作 Mac 会自动寻找丢失的启动项并尝试修复,修复完成后重启电脑即可。

磁盘急救

磁盘急救

 

更新 10:

我写了一篇新文章讲解终端的用法,若你想要入门终端,可以查看这篇文章:

Terminal 终端:入门指南及进阶技巧

 

更新 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

 

转载原文出处:https:///post/43699

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多