Reading view

There are new articles available, click to refresh the page.

在两台 Mac 间转移资料的坑与技巧

下午花了点时间把 MacBook Pro 的资料迁移到 Mac mini,我 Mac mini 的存储空间比 MacBook 要小……所以瘦身 Mac mini 也花了我不少时间,记得去 Containers 清理,系统自带的播客居然占了 20G 之多。

清理

~/Library/Logs

~/Library/Containers

/Library/Caches (系统缓存)

~/Library/Caches (用户缓存)

~/Library/Application Support (应用程序支持文件)


清理到可以装下了就开始正式转移数据吧,方法有很多,一个个说。

Migration Assistant 迁移助理

测试了一下,不能选择具体数据,只能一股脑迁移,虽然写着有 500 MB/s 的速度,但是前期整理感觉太慢了。而且迁移过程中不能使用,Pass。

iCloud 备份

首先空间贵,放照片就快没空间了。数据不在本地,速度和安全性永远都要打个问号,也 pass。

File Sharing 常规文件共享

将 MacBook Pro 配置为文件服务器,然后让 Mac mini 通过网络去连接它。

第一步:在 MacBook Pro(源 Mac)上设置共享

  • 点击  菜单 > 「系统设置」或 「系统偏好设置」
  • 找到并点击 「通用」,然后选择 「共享」
  1. 确认共享文件夹(关键):
  • 在「共享文件夹」列表中,默认应该有您的[您的用户名] 公共文件夹
  1. 确认用户和权限:
  • 在右侧的用户列表,确保您的管理员用户具有「读与写」的权限

第二步:在 Mac mini(目标 Mac)上连接

在 Mac mini 的「访达」(Finder) 中,点击菜单栏上的「前往」 > 「连接服务器」 (Command + K)。

  1. 输入服务器地址:
  • 在弹出的窗口中,输入 MacBook Pro 的网络地址。例如:smb://10.0.1.5smb://MacBook-Pro.local。实际操作中,不用输入,在下拉栏里能找到。点击「连接」

    • 系统会提示您输入用户名和密码。这里输入的是 MacBook Pro 的管理员用户名和密码。
  1. 访问文件:
  • 连接成功后,您会看到一个窗口,列出 MacBook Pro 上所有共享的文件夹。

  • 将资料拖拽到 Mac mini 即可

问题

提示:不能打开替身「本地文稿」,因为找不到原始项目。 说明你拖动的其实不是文件本体,而是一个替身(Alias),而那个替身指向的原始文件路径在目标设备上不存在。基本上是 MacBook Pro 开启了 iCloud 云盘,但是我很多文件是在本地的没有同步到 iCloud 也会出现。

这样在 Finder 中不要直接拖「文件夹图标」过去。而是:

  1. 打开那个文件夹

  2. 全选里面的文件

  3. 再拖过去

这样传输的是文件内容本身,不是替身引用。

通过外部硬盘

最传统的方法,速度依赖硬盘,将硬盘格式设置为 APFS 或 exFAT。

  1. 照片
  • 如果用 Photos 应用,打开 Photos,选中照片,点击 文件 > 导出 > 导出未修改原件,保存到硬盘
  1. Markdown
  • 在 Finder 中搜索 kind:markdown,将 .md 文件复制到硬盘的指定文件夹
  • 确保复制(而非移动),MacBook 原文件保留

手头的硬盘做 Time Machine 了,不然这个相比下面的目标磁盘模式只是多一个导入步骤。硬盘速度够快这就是最佳选择

Target Disk Mode 目标磁盘模式

接下里就是我用下来最好的方法了,

  • 确保两台 Mac 已用 Thunderbolt/USB-C 数据线连接
  • 确保源 Mac (MacBook Pro) 已关机

进入恢复模式:

  • 按住 MacBook Pro 的 电源按钮。
  • 继续按住,直到出现「正在载入启动选项」后松开电源按钮

选择恢复:

  • 点击上方菜单栏中,选择实用工具-共享磁盘,选择要共享的启动磁盘,然后点击「开始共享」

退出模式:

  1. 在目标 Mac (Mac mini)上,右键点击 MacBook Pro 的硬盘图标,选择「推出」。
  2. 在源 Mac (MacBook Pro) 上:
  • Apple 芯片 Mac: 在「共享磁盘」界面点击「停止共享」,然后选择「关机」或「重新启动」
  • Intel 芯片 Mac: 按住电源按钮直到关机

这样就完成了高速、有线、选择性且可控制去重的数据转移。

问题

我遇到了打开文件夹里面是空白,或者就像网络连接不稳定,出现文件,一闪而过的情况。这是因为:

权限或加密延迟: 即使输入了密码,系统在加载和验证用户主文件夹(包含文稿,图片等)的权限和 FileVault 加密状态时,会有延迟。

网络共享延迟: 尽管使用了物理线缆连接,它依然在运行一个简化的网络服务。访问数千个文件时,网络协议的响应速度不如直接磁盘访问。,但 Apple 芯片 Mac 的「共享磁盘」模式在逻辑上运行的是网络服务,属于 SMB (Server Message Block) 共享。

没有完美的方案,只能想办法解决。

解决办法

  1. 在文件夹内刷新当前视图 (Command + R)

  2. 分批次进行复制

    为了避免一次性清点几千个文件导致的长时间准备和不稳定,建议分批次进行复制。

    照片: 优先复制整个 照片图库.photoslibrary 文件。它是一个大文件,但系统清点起来比几千个小文件快得多

    Markdown:一次只拖动复制一个大文件夹。

  3. 开关源 Mac 的「共享按钮」,尝试重新连接


要是啥时候有甜品级(致钛 TiPlus 7100,三星 990 Evo Plus)的内存好价(1TB,500 以内),我肯定要买一下来备着,两年前的夏天最便宜的时候终究还是错过了……

PrimoCache:让固态硬盘作为缓存给机械硬盘加速

对于电脑硬盘,固态肯定是全方面优于机械硬盘的选择,不过按照马克思主义矛盾论的观点,这就存在一个 “低速的 HDD 与高价的 SSD” 之间的矛盾。目前我的笔记本使用 128G+1T 的组合,处于并将长期处于 “个人电脑硬盘的基本矛盾” 之中。

直到,我遇到了 PrimoCache 这款软件。推荐给大家。

PrimoCache 是一款可以将物理内存、SSD 硬盘或闪存盘等虚拟成硬盘缓存的软件。它可以自动将硬盘中读取的数据存入物理内存等速度较快的设备,当系统再次需要该数据时它可以很快从缓存设备中读取,而无需再次访问速度较慢的硬盘,从而有效提升物理硬盘的访问性能。

中文官网:http://www.romexsoftware.com/zh-cn/primo-cache/index.html
平台:Windows(其实 *nix 下也有类似的)
软件类型:共享软件

两个月后更新:

经过 2 个月的实际体验,这款软件并没有宣传的那么完美。少数软件一运行就会完全死机(跑跑卡丁车,并确定是由该软件造成的),整个系统也似乎有一种不稳定的感觉(偶尔弹出一些意义不明的错误提示)。另外还有额外的内存占用。

总之,不推荐将系统盘加速,也不推荐大多数情况下的使用。除非你有一些常玩的游戏,但由于几十 GB 的体积巨大不能放入 SSD,才值得使用此软件。

缓存技术

这种理念我认为非常好,Cache 技术也是计算机硬件软件当中一个使用非常广泛的技术。这和最初的英特尔快速存储技术(RST)以及英特尔傲腾技术类似。都是使用少量高速的 SSD 作为缓存,为低速的 HDD 加速, 使得电脑拥有 HDD 的大容量的同时,拥有接近于 SSD 的速度。

至于什么数据会被缓存到 SDD 中?这是由算法控制的,自动选择 HDD 中最常用的那些数据。

PrimoCache 与 RST 或者傲腾的区别在于,这款软件不需要你使用最新的 Intel 主板,或者是购买 Intel 家的傲腾内存,它兼容一切现有的 SSD。

PrimoCache 还支持使用内存作为一级缓存,SSD 作为二级缓存

是的,这也是 PrimoCache 的一个特有的功能,内存的每秒读写速度单位在 GB 级别,比 SSD 高了一个量级,能有效为 SSD 加速。(不过我还没有直观感受到差异,大概在这时瓶颈已经不在 IO 了)

效果展示

我现在终于可以把动辄几十 G 的游戏放心的放在机械硬盘了,然后使用 PrimoCache 让他们拥有令人满意的读取速度。

我使用了 12G SSD 作为二级缓存,1G RAM 作为一级缓存,运行测速工具对机械硬盘测速结果如下:

未使用缓存:

使用缓存:

注意,由于缓存的原理是将常用数据放在 SSD、RAM 中,需要时快速获取,所以使用测试软件随机读取或写入时并没有预存这个过程,并不能反映实际效果。
但是我们也可以看到明显的进步了。

注意事项

发现的缺点:

  • 使用二级缓存 SSD 时,需要占用一定量的内存用于存储映射。
  • 这是一个收费软件,虽然有破解版。
  • 之前出现了一次显卡被降频,关闭该软件后恢复。但后来开启该软件又没有出现类似状态。

此外,虽然我的 RAM 有 16GB,但我也只使用了不到 2GB 作为硬盘缓存,因为我觉得目前大多数大型软件都会使用 RAM 为自己加速,我们没必要多此一举。并且充裕的 RAM 本身也是提升电脑响应速度的途径。

❌