MacBook使用一块移动硬盘做Win To Go及Time Machine备份

前言

博主使用的MacBook Air,256G闪存,可用空间约251G,曾经的分区表为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *251.0 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk1 215.4 GB disk0s2
3: Bootcamp 35.2 GB disk0s3
4: Winows Recovery 212.4 MB disk0s3

/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme – +215.4 GB disk1
Physical Store disk0s2
1: APFS Volume Macintosh HD 152.3 GB disk1s1
2: APFS Volume Preboot 20.1 MB disk1s2
3: APFS Volume Recovery 520.0 MB disk1s3
4: APFS Volume VM 3.2 GB disk1s4

(这是使用diskutil list命令输出的结果)

GUID分区表,共四个分区,分别是EFI引导分区、APFS的Mac主分区(在更新macOS 10.13之前为HFS+)、NTFS的Bootcamp分区以及Windows Recovery分区。
在最初安装Bootcamp时,考虑到Windows系统只是用来运行某些没有macOS版本或无法移植到macOS的程序(例如《红色警戒2》),Bootcamp分区的大小仅分配了35G。然而,在8月中旬昆特牌国服开启公测后,入坑的博主发现Bootcamp分区的大小似乎不够用了(来把昆特牌吧)。
由于Bootcamp是磁盘上靠后的分区,并不能用常规操作向前扩充,吞并APFS分区的空间(DiskGenius使用计算器+手动改分区表数据似乎属于非常规操作,且面临着分区出现问题的危险),所以只能考虑备份Bootcamp分区内容,然后将其移除,并在主硬盘上重新划分Bootcamp分区。
不过,新的问题又产生了:Mac主分区的大小也很有限(毕竟是安装了Adobe全家桶、Autodesk Maya、XCode等程序的),并不足以重新划分出较大的Bootcamp分区以安装Windows。于是只得寻求其他解决方案。比较显而易见的解决方案有:

  • 换个Mac(没有了信仰灯和MagSafe)
  • 换个硬盘(MacBook Air的闪存是BGA封装的,并不能像SATA的SSD那样直接拆)
  • 装个SD卡(高性能大容量的SD卡价格感人,并且不适合NTFS文件系统)

这些都不是最优解。在综合了各方面的考虑后,最终选定了如下方案:

  • 使用移动硬盘,一个分区做Win To Go,另一个分区做Time Machine备份。其中移动硬盘选择的是西数Elements 500G。

安装方法

准备必要的硬件

  • MacBook Air
  • 移动硬盘(安装时会全盘格式化,请务必备份好全部数据)
  • 可以运行Windows的PC

下载必要的文件

创建Win To Go

使用系统自带工具或下载第三方软件,将Windows镜像装载到虚拟光驱。将移动硬盘连接到PC上。在PC上打开Win To Go安装工具,如图所示(目前已更新到4.8.0.0)。

点击『浏览』,在虚拟光驱中找到install.wim文件并选中;在下方选择目标磁盘,即需要安装的移动硬盘。右侧高级选项中,『常用』栏下选择VHD,以及UEFI+GPT,『分区』栏下手动输入第二个分区的大小,单位为MB;程序会自动调整第一个分区的大小;第三个分区若无需要,填0即可。第一个分区即作为Win To Go分区,第二个分区作为Time Machine备份分区。请再次确认移动硬盘上所有分区的文件都已备份。接下来点击『创建』,就将进行全盘格式化,并建立引导,创建Win To Go相关文件。

配置Windows

完成上一步后,将移动硬盘接入Mac。重新启动系统,按住Option/alt键,进入引导磁盘选项。选择EFI分区,启动后按照提示完成Windows系统的配置即可。配置完Windows系统后,安装Bootcamp驱动。重新启动后即可应用更改。
注:在macOS与Windows下,触控板滚动方向是相反的,这一点可能会使用户感到不适,解决方案是修改注册表:
在Windos下通过Win+R打开『运行』,输入regedit,在打开的注册表编辑器中,依次选择\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID,即可查看所有可用的键盘、鼠标。对于每个输入设备,点开下级目录,查看其Device Parameters下是否具有属性FlipFlopWheelFlipFlopHScroll,若有,将其数据值由0改为1即可。

配置Time Machine

此时再进入macOS系统,使用磁盘工具(在应用程序-实用工具目录中),选择移动硬盘,将其第二个分区(如果显示了EFI引导分区,则是第三个分区)格式化为macOS日志式。如果已经开启了Time Machine,系统将会提示你将此硬盘作为Time Machine备份硬盘。接下来打开Time Machine进行初次备份即可。
完成这些操作后,便成功地使一块移动硬盘成为Win To Go启动盘及Time Machine备份盘。

附现在的分区表:

更多

这里介绍一种在macOS上读写NTFS磁盘的方法,这样可以方便的在不同系统中传输文件。默认情况下,macOS是无法向NTFS磁盘写入的——这个功能由于种种原因被禁用了。我们使用一种Hack的方法将其启用即可。
macOS在挂载NTFS磁盘时加载的脚本为/sbin/mount_ntfs,参数为:

1
mount_ntfs -o nodev -o noowners -o nosuid /dev/disk2s1 /Volumes/DATA

这时,只要加上额外的参数,就可以启用对NTFS磁盘的写入。具体方法是:

1
2
3
4
sudo -s #输入密码,获取root权限
cd /sbin
mv mount_ntfs mount_ntfs_orig
vim mount_ntfs

mount_ntfs重命名为mount_ntfs_orig,然后再新建一个mount_ntfs,输入以下内容:

1
2
#!/bin/sh
/sbin/mount_ntfs_orig -o rw,nobrowse "[email protected]"

这样就可以欺骗系统,运行带有额外参数的指令。这里的nobrowse是为了避免挂载上来的还是只读模式,但是它同时会导致磁盘不可见,也就是挂在后不会在桌面和Finder中显示,需要手动到/Volumes下打开。如果这样不爽的话,你可以尝试

1
2
#!/bin/sh
/sbin/mount_ntfs_orig -o rw "[email protected]"

将磁盘推出再挂载,如果一切正常的话,就可以愉快的使用了。


参考文章:OS X 原生可读写挂载NTFS分区

本文更新于2018年5月

🍭支持一根棒棒糖!
0%