MacBook Pro 2013-2015 更換 NVMe SSD 紀錄

其實我有點懶得重寫,所以我只打算把之前自己在 MacRumors 上的留言整理一下 XD,有興趣的人不好意思就得麻煩你爬一下原文啦。

首先,基本上所有需要的資訊都在原始討論串的第一則貼文(目前已轉為一篇 wikiPost,並且有在持續更新)。這篇討論串大概是 MacRumors 上關於 Mac 討論度最高的一篇了。除了 MacBook Pro 2013-2015 的機型之外,還有部份的 MacBook Air,以及 MacBook Pro 2016-2017 只有 2 孔 ThunderBolt 孔的機型可以更換。

我有在這篇討論串裡面分享我轉移到 NVMe SSD 的紀錄跟心得。不過,有幾件事情從那之後有一點改變,在參考上述連結的流程時請注意到以下的事項,包括:

    1. 當時 MacBook Pro 2013-2014 機型有睡眠後無法正常喚醒的問題。
    原本 Apple 一直沒有讓 2013-2014 機型拿到 2015 機型可以正常處理 NVMe SSD 睡眠跟喚醒的韌體(其實就只是個更新問題),直到 2020 年年底一次安全性更新後韌體版本號 (Boot Rom version) 大躍進,我記得我的 MacBook Pro 2014 那時候的韌體版本號從 1XX 跳到 429 開頭,在那時候大家就發現再也不需要做特別的設定來處理睡眠喚醒問題,更換成 NVMe SSD 的 MacBook 可以直接正常使用。所以更換成 NVMe SSD 之前建議先作一次作業系統更新(不一定要更新大版,繼續留在 Mojave 也是可以的,只要確定有把安全性更新裝到最新就可以了)免去處理睡眠喚醒的問題,你也就可以跳過我上面連結中寫的 Step 4 了。

    2. 當時我的硬碟並沒有用 FileVault 加密。
    最近一次把整顆硬碟複製回原本內建 SSD 的過程讓我發現,如果 FileVault 有開的話,一定要先解掉再複製還原才會成功。

    3. 當時我的作業系統是 High Sierra、硬碟格式是 HFS+,現在作業系統則是 Mojave、硬碟格式是 APFS。

最後一點比較麻煩。這件事情的差異在於,直到 High Sierra 使用者都還是可以在安裝時選擇硬碟格式使用 HFS+(雖然得靠 command line,有興趣的話請參考我以前寫的這篇),而 HFS+ 的硬碟格式相對簡單,複製跟還原硬碟時大概不會有太大的疑惑。但 APFS 就不一樣了。在使用 APFS 作為硬碟格式的作業系統底下,如果打開 Disk Utility,你就會發現它的邏輯是每一個 Partition(它會顯示為一個 APFS Container)底下可以建多個 Volume,所以在複製或還原的時候到底要選 Container 還是要選 Volume 就會有點疑惑。

就我所知,在 macOS 的開機碟所在的 Partition (Container) 底下會有至少三個 Volume(順帶一提,如果你有用 BootCamp 裝 Windows,那還會有另一個 Partition,但底下不會有別的 Volume)。第一個就是很容易理解的主要 Volume,通常會叫做 Macintosh HD⁩;第二個叫做 Preboot,第三個則是 Recovery,相信看名字應該大概都可以猜到他們的作用。通常你不會看到後面這兩個 Volume,因為他們在作業系統中沒有被掛載 (mount) 上去。想看看自己的電腦上這些亂七八糟的 Partition 跟 Volume,可以在 Terminal 中下以下的指令

diskutil list

但為什麼會說「至少」有三個 Volume 而不是「總共」呢?因為會有幾個 Volume 還真不知道... 我有時候會看到有叫做 VM 的 Volume,以及 macOS 會在沒辦法連線到 Time Machine 時做本機端的 Snapshot(其實也就是類似本機版本的 Time Machine 備份的概念啦)。每一個 Snapshot 也會是一個 Volume。

我其實不是很確定這會不會影響複製還原硬碟的過程,我單純是因為 Snapshot 佔了硬碟不少空間就先清掉才去複製還原。但我一開始複製還原失敗去查錯誤訊息 OSStatus error 22 時,有看到一些沒有清掉 Snapshot 的話複製還原會失敗的說法(但我實際上沒做對的地方是忘了解除 FileVault)。要刪除本機上的 Snapshot 的話,可以參考這裡

總之,由於這次我是把 NVMe SSD (1TB) 的資料複製還原回原本 MacBook Pro 內建的 SSD(256GB,一半分割給 BootCamp,所以只有 128GB),所以我除了先把一些用不到的東西清掉以外,還得先把 NVMe SSD 上開機碟所在的 Partition 壓縮到 128GB 以下。要這麼做,可以透過 Disk Utility 新增一個 Partition,然後直接把開機碟所在的 Partition 壓到能選的最小尺寸。

但請注意!!!這個過程會非常、非常、非常的久!大概需要好幾個小時才能搞定(因為要把四散在硬碟中各個地方的資料全部都移到最前面去),所以請確保你可以至少半天以上不會用到它才開始這個流程,不然一旦開始的話是沒辦法中斷的喔!!!

在把 Partition 壓縮完之後,在 Disk Utility 中,我是選擇要還原的目標 Container(要轉移過去的目標)上按 Restore,然後來源選擇要備份的原始 Volume(要轉移過去的來源。你會發現其實 Container 會是灰色的,你也只能選 Volume),這樣就能順利複製還原了。這個過程我這次是在作為來源的 SSD 上的作業系統內執行的,我想在 Recovery 裡面做也應該是沒問題的(就像我上次一樣),但當然是不可能在被當作目標的 SSD 上的作業系統內執行啦。至於要還原的目標選擇 Volume 而不是 Container 能不能成功,那就得看有沒有有經驗的讀者可以分享了。

另外,如果你使用的 NVMe SSD 剛好是 Sabrent Rocket(這隻真的是個好東西,用了 Phison E12 控制器加上 Toshiba NAND 顆粒,速度快、溫度又低,而且竟然還是 Made in Taiwan!),並且想要升級 SSD 的韌體的話,可以參考我在同一個討論串中另一個留言

如果你的 MacBook Pro 或 MacBook Air 還想要再撐一下,再戰個兩、三年的話,換 NVMe SSD 真的是一個不錯的選擇(像我這次還原回去內建的 SSD 有感變慢 XD),也希望這篇能夠幫助到你啦。Happy hacking!

留言

這個網誌中的熱門文章

[macOS High Sierra] 避免High Sierra將檔案系統升級為APFS

[S7換機紀錄] 完全自訂S7的實體按鍵

[S7換機紀錄] 如何減輕AMOLED傷害你的眼睛