MacBook Air (Early 2015) のSSDを960 EVOに換装しました。 MBAをNVMeのSSDに換装したという情報は日本語では少なかったのでメモ書き。 他のMacでも、High Sierra以上かつ対応するアダプタを使用すればこのgistは参考になると思います。
また、さすがにこの環境でWindowsやLinuxを動かしているという人は 検索した範囲ではまだ見つかりませんでしたね。
結論を言うと、macOSはじめWindows 10やArch Linuxでも動いていますが、注意する点がありました:
- サスペンド中のハイバネート移行に問題があります
- Linuxでは
initramfs
を生成し直す必要があるかもしれません(私はこれでハマった)
今日(2018/01/12)でArch Linuxを3日使用していますが、これ以外の問題は今の所は無いようです。 温度もサーマルパッドを使用したからか、純正よりも低いようです。
SSDを換装したMac
- MacBook Air (Early 2015)
OS
- macOS High Sierra 10.13.2
- Arch Linux
- Windows 10 1709
使用したNVMe SSD
- Samsung 960 EVO 500GB
-
一度でもmacOS High Sierraをインストールしていること
High SierraのFirmwareでNVMeがサポートされました。
-
sintechのアダプタ
-
絶縁テープ
-
P5のドライバ(裏蓋ネジ用)
-
T5のドライバ(SSD止めネジ用)
M.2をMBA2015の端子形状に変換するアダプタが必要です。 私はsintechの NGFF M.2 PCIe SSD Card as 2013 2014 2015 MacBook SSD (ST-NGFF2013) を購入しました (中国からの輸入ですが、発送から5日で届いて驚きました。ハヤスギイ)。 現在(2018/01/12)はドライバとセットの物のみが販売されているようです。リンク
このアダプタは絶縁に問題があり、macOSでkernel panicが発生したと報告があります。そのため、カプトンテープなどで絶縁すると良いでしょう。このように
また、Amazon.co.jpにも変換アダプタはありましたが、そちらはネジ穴の位置がズレていました(ネジは閉まりましたが)。私の場合はさらにハンダが短絡していたので使えませんでした。
Windowsでは未検証ですが、Arch LinuxやmacOSでは サスペンド中にハイバネートに移行するとMacがSSDを見失うようです。
ただし、少なくともそれらのOSすべてでサスペンドや単独のハイバネート(長時間放置した場合の動作は未検証)は動作しました。 Arch Linuxでサスペンドして一晩放置した後でも復帰しました。
systemctl hybrid-sleep
して長時間放置した後に、
電源ボタンを押下してもOSが起動しませんでした。
ただし、電源ボタン長押しで断電源した後に電源を投入したら、この後は普通にハイバネートから復帰しました。
macOSの標準のスリープ
では、サスペンドとハイバネートを同時に行って、電源がある限りはサスペンドから復帰するようです。
(しかし、ずっと電源に繋いでいたためバッテリー切れということは無いはずですが、すみません。よくわかりません。)
次のコマンドでサスペンドのみをするように設定できます:
# サスペンドのみを使用
$ sudo pmset -a hibernatemode 0
ちなみに、単独のハイバネートは成功しました (ただし長時間放置した後の復帰は未検証):
# ハイバネートのみを使用
$ sudo pmset -a hibernatemode 25
# 今すぐスリープ
$ pmset sleepnow
Sleeping now...
参考: Mac OS Xのスリープ方式(ハイバネーション)を変更する方法 – ソーシャルゲーム基盤 運用側から見渡す解像度
私の場合は、initramfs
を再生成しないとArch LinuxがSSDを見つけられませんでした。
Arch Linuxのinitramfs
を再生成するには、LinuxのLive ISOで普段使用しているArch Linuxにchroot
する必要があります。(私はManjaro LinuxのLive ISOを使用しました)
次のコマンドを実行してください:
# ここではarch-chrootコマンドでchrootします。
# arch-chrootはarch-install-scriptsパッケージにあります:
sudo pacman -S arch-install-scripts
# 普段使用しているArch Linuxのルートディレクトリをマウント
sudo mkdir /mnt/Arch
sudo mount /dev/YOUR_ARCH_PARTITION /mnt/Arch
# Arch LinuxにEFIパーティションをマウント
sudo mount /dev/YOUR_EFI_PARTITION /mnt/Arch/boot
# Arch Linuxにchroot
sudo arch-chroot /mnt/Arch
# chroot環境内でinitramfsを再生成
sudo mkinitcpio -p linux
長尾製作所 M.2 SSD用ヒートシンクカバーSS-M2S-HS02 をAmazonで購入して使用しました。 厚みは、サイドフレームを外せば、軽く裏蓋を押さえつけることでギリギリ閉まりました。 ヒートシンクは使っていないですが、コレ単体でも十分に冷却されているようで、純正SSDをサーマルパッド無しで使用していたときよりも温度は低いようです。
裏蓋を開けて確認したところ、思った以上にSSDが歪んでいました。 そこで、現在はAmazonで購入したアイネックス M.2 ヒートシンク用 放熱シリコーンパッド HT-13を上に載せています。温度は少し高くなったように感じますが、それでも純正よりは低そうです。
ここから下のセクションは参考にしたリンク集です。
MBA2013以降は、SATAから11+14, 12+16pinのPCIeに移行しました。
NVMeはHigh Sierraでサポートされました。
こんにちは。
私も MacBook Pro に Samsung EVO を換装しましたが、本来認識しているリンク幅が x4 となるところ、 システム情報によると x2 になっていて、うまく認識がいっていないようです。使っている変換アダプタに問題があるのか疑っていますが、kitakar5525 さんはそういう経験や情報をお持ちだったりしますでしょうか?
構成
Mac : MacBook Pro (Retina, 13-inch, Early 2015)
SSD : Samsung SSD 500GB 960 EVO M.2 Type2280 PCIe3.0×4 NVMe1.2
変換アダプタ : sintech ST-NGFF2013
※どうやらこのsintech変換アダプタ以降に ST-NGFF2013 B とか ST-NGFF2013 C というアップデート版の変換アダプタが出ていることから、kernel panic の件も含めて、sintech の変換アダプタは不具合があったのかもしれないと疑っています
参考 sintech http://eshop.sintech.cn/index.php?main_page=advanced_search_result&search_in_description=1&keyword=NGFF+M.2+PCIe+SSD+Card+as+2013&x=0&y=0