给笔记本 Macbook pro 2012 版添加了一个 ssd,ssd 买的是 intel 530 系列,容量为 240G,看中的是:1. 存储上使用 MLC 颗粒,主控芯片没研究; 2. 看评论都提到 intel 牌子的稳定性好,当然大家只是说了一下,没说明怎么稳定; 3. 公司服务器上有用到 intel 的 ssd,工作期间暂无遇到故障。
系统版本是 Yosemite 10.10(14A361p),测试版本。
ssd 的更换上,考虑两个方案:
- 直接用 ssd 替换现有的硬盘,只使用 ssd
- 现有的硬盘不动,把 ssd 安装到光驱位,两者位置最好不要调换
准备工作包括有:
- 检查螺丝刀能否拆开笔记本,需要两把螺丝刀:拆卸笔记本背部的十字螺丝刀(也用于拆光驱)、硬盘四角的六角螺丝刀(我是用小钳子转松拧开)。购买 ssd 前我为了减轻笔记本重量先拆掉了光驱,硬盘则更容易拆卸。
- 买一个 ssd
- 对于方案1,买一个外置的 usb 硬盘盒,用来容纳换下来的机械硬盘
- 对于方案2,买一个光驱位托架,容纳 ssd
- 数据要实现无缝迁移,不重装系统,不丢失配置。预备方案:a. 使用软件 Carbon copy cloner,但对系统版本有限制; b. 在「终端」使用 rsync + bless。
硬件上,我本想使用方案1,只使用 ssd,这样笔记本就可以随意地移动,但是我发现系统的「磁盘工具」认不到该 ssd,心好累。额外再买了一个光驱托架,尝试方案2,倒正常了。
硬盘位置认不到 ssd 的问题,考虑到该 ssd 已经有最新 intel 的固件,也看到有人评价在同型号笔记本上能正常使用(系统是10.9),怀疑是测试版本的系统导致。硬盘位置和光驱位置的这两个 sata3 接口初步判定是一样的,故障原因可能有:
- 测试版本的系统
- ssd 的固件,当前的版本是
DC32
- 笔记本上的两个 sata3 接口的兼容性,两个都是
Intel 7 Series Chipset
,以及AHCI Version 1.30 Supported
对于方案1,更换思路为:
- 把笔记本的硬盘拆出来,放到外置 usb 硬盘盒
- 拿到空白未格式化的 ssd, 直接装到硬盘位置。想法就是尽可能早地确认 ssd 在「最终位置」上能否正常工作
- 开机按住 option,能够看到外置 usb 硬盘里的系统,启动该系统,这是之前一直在使用的系统
- 进到系统后,打开「磁盘管理」工具,但我在该软件中看不到 ssd,该方案中断,否则可以继续
- 在「磁盘管理」中对 ssd 进行分区
- 安装并使用 Carbon copy cloner 来转移数据,如果 ssd 空间比机械硬盘的小,需要在「用户」目录中排除一些文件。相比TimeMachine,看中就是这个软件的这点可选择性。好吧,我也没TimeMachine备份。
- 迁移数据后设置从 ssd 启动系统
- 拔掉外置 usb 硬盘
对于方案2,更换思路为:
- 拆下光驱,把 ssd 放到光驱托架
- 从现有的机械硬盘启动系统
- 打开「磁盘管理」工具,能看到光驱位置上新装的 ssd,否则该方案中断
- 在「磁盘管理」中对 ssd 进行分区
- 安装并使用 Carbon copy cloner 来转移数据
- 迁移数据后设置从 ssd 启动系统
暂时勉强接受方案2,但在数据迁移中,由于系统是测试版本的 Yosemite,需要使用最新版本也是测试版本的 Carbon copy cloner beta 5, 然后发现根本没有转移数据到新 ssd 上,简单的事情变麻烦了。对于「更换硬盘、数据迁移」这两者,觉得上面的更换步骤太容易了。
苦逼的手动迁移过程如下,其实做完后,反而觉得这个方式更简单。
打开「终端」,使用命令rsync + bless
来做数据迁移,也好,又少了一个依赖的软件。
rsync操作,参考HOWTO: Backup Your Mac With rsync
新建一个文件backup_excludes.txt
,排除一些文件,以及排除几个大容量的目录,这些目录最后再手动按需要复制到 ssd 上就好了popozhu $ cat backup_excludes.txt */.Trash /private/tmp/* /private/var/run/* /Users/popozhu/Documents/* .Spotlight-*/
rsync 命令使用简单的几个参数就可以了,由于目标盘是一个空白磁盘,不需要参数
--delete
。同步的源目录自然是当前系统的根目录,而目标目录,通过命令df -h
找到 SSD 盘在系统中的挂载点,比如我给 ssd 命名为MacintoshSSD
,其挂载到/Volumes
下,目标目录最后为/Volumes/MacintoshSSD
rsync -av -x -S --exclude-from backup_excludes.txt / /Volumes/MacintoshSSD &
一开始 rsync 会计算一个文件列表,可以在进程管理器中看到一个rsync进程读取越来越多的数据。然后就是漫长的读写等待,我同步80G数据,大概3个小时 Orz。后来的 rsync 时,我打开 itunes 让其播放音乐,然后静音,避免电脑进入睡眠,然后睡觉了。
由于在 rsync 使用了参数
-v
,同步时会输出当前处理的文件,可以大概估算下同步到哪个目录。rsync 同步,能保留文件、目录的用户id、分组id,以及权限,这些是非常重要的。总之是没有差别地迁移「系统文件」+「用户数据」到新的 ssd。需要了解哪些文件、目录是必须的,哪些又是没必要的。但既然使用到「终端」,我想这个问题应该不是什么大问题:清楚知道当前命令在做什么事情。
bless操作
看了上面的博客,才知道bless
这个命令,简单来说,就是引导 EFI 的加载程序从 ssd 的那个目录加载操作系统。
对于当前 ssd 的挂载点/Volumes/MacintoshSSD
,需要执行:sudo bless -folder /Volumes/MacintoshSSD/System/Library/CoreServices
一开始我不知道要 bless,从 ssd 启动时等了好久,还以为我 rsync 后文件有错误,看到上面博客提到的
bless
,如获至宝。至此,设置从 ssd 启动系统就可以了。
当然,我做的不止这些。在对 ssd 格式化之后,做 rsync 之前,我使用 diskutil 在 SSD 上也建立了一个恢复分区Recovery SSD
,从机械硬盘上的Recovery HDD
分区拷贝了一份数据。因为后续我只想使用 ssd,机械硬盘是打算外置留在家里做备份使用的。那么假若系统有故障需要恢复,就可以直接启动 ssd 上的恢复分区。
至于开启Trim,那则是默认要做的。
另外,也用xbench 1.3
这个free软件,做了一下磁盘读写测试,记录下来。计划一段时间后再做一次对比,看看读写性能变化如何。
哎,安装了两个硬盘,笔记本的发热量反而变大了,由于考虑到有机械硬盘,我还是不敢大动作移动笔记本。方案2蛮鸡肋的。
又遇到,使用 ssd,解决了磁盘io缓慢, cpu 变得狂野起来,cpu 使用率很容易就飙高,也进一步加大笔记本发热,Orz
由于使用了光驱托架容纳 ssd,还得准备接受光驱托架故障的情况。。。
anyway,最后还是成功用上了 ssd 并完美迁移了系统和我的个人数据,开机即用,文件都跟原来一样的感觉。
2014-10-27 更新:
更换两天后,还是买了个光驱支架,把 ssd 安装到光驱位置,同时拆掉了机械硬盘,单独使用 ssd。
最后确定,硬盘位置不支持该 ssd。
– EOF –