2019/05/12

MacPro (2012) 改造 (m.2 NVMe SSD 起動ディスク化)

 RX560 から option ブートができないものかと情報を探していたら、違うものが見つかって、試したらうまく行ったので、その忘備録。


失敗すると復旧できない可能性があります。
全て自己責任でお願いします。


やったことは以下。
  • PCI-Express接続したM.2 NVMe SSDからのシステムブート

参考にしたのはこれ。
2つ目のドキュメントを読めばすべてわかる!のだが、それだと忘備録にならないので覚えている範囲でメモを残す。

当方の環境はこう。
  • Mac pro mid 2012 (mac 5,1)
  • Mac OS X Mojave
  • ASRock「Ultra Quad M.2 Card」
  • Samsung SSD 500GB 960EVO M.2 Type2280 PCIe3.0×4 NVMe1.2
  • MSI RADEON RX560 AERO ITX
  • (ATI RADEON HD 5870)
ちなみにSSDは、970EVO PLUSは未対応(ソース紛失)。なので、購入時には注意が必要。


手順はこう。
  1. 必要ツール、ファイルを入手する
  2. SIPをオフにする
  3. EFI Flashモードで起動する
  4. EFI-ROMをバックアップする
  5. バックアップしたEFI-ROMにパッチを適用する
  6. パッチ適用したEFI-ROMをフラッシュする
  7. PCI-eスロットにM.2 NVMe SSDを付けたPCI-eをセットする
  8. OSをクリーンインストールする

それでは、詳細に。


1. 必要ツール、ファイルを入手する

 必要なツール、ファイルはこれ。
  • ROMTool : EFI-ROMをバックアップ、フラッシュするツール
  • DXEInject : パッチ適用ツール
  • Nvme.ffs.zip : 今回の本命。このパッチをEFI-ROMに適用することで、PCI-eスロットに挿したNVMe SSDからのOSブートを可能にする。
 上2つは、ドキュメントのリンクからダウンロードできる。
 パッチは検索すれば見つかる。(たしかこれだったと思うのだが……)


2. SIPをオフにする

 Mojaveの場合、リファレンスカードでないとoptionブート等ができないので、HD5870に戻して実行する。

 リカバリーモードかインストールUSBから起動して、ターミナルからSIPをオフにする。

 > csrutil dsable

 実行したら、一度通常の再起動をして、disableになっているか確認する。

 > csrutil status

3. EFI Flashモードで起動する

 システムのファームウェアアップデートで出てくる、あれだ。
 電源断の状態から、電源ボタンを長押しして、”プー!”という音がしたら電源ボタンから手を離す。すると、EFI Flashモードで起動される。


4. EFI-ROMをバックアップする

 ROMToolを用いて、オリジナルROMをバックアップする。
(例 : macPro2012-original.bin)


5. バックアップしたEFI-ROMにパッチを適用する

 4.でバックアップしたオリジナルROMに、パッチを適用したEFI-ROMを作成する。
 ターミナルを開き、DXEinjectを実行することで、パッチを適用したEFI-ROMが作成される。

 > ./DXEInject ./macPro2012-original.bin ./macPro-nvme.bin ./nvme.ffs


6. パッチを適用したEFI-ROMをフラッシュする

 5.でパッチを適用したEFI-ROMを、ROMToolを用いてmac proに適用する。
 通常再起動してみて、通常起動するかを確認する。
 (ダメな場合はEFI Flashモードで再起動できるでしょう、という感覚だったので、ダメだったときの対処法はわからない。最悪Brickedかもしれない・・・


7. PCI-eスロットにM.2 NVMe SSDを付けたPCI-eカードをセットする

 文字通り。
 インストールするドライブ以外は外しておく。


8. OSをクリーンインストールする

 OSをインストールUSBからクリーンインストールする。インストール時にSSDをAPFSでフォーマットすると、インストール先にSSDが表示されるので、そこにインストールする。
 TimeMachineやCCCからバックアップのレストアだと、何故かうまく行かなかったので、クリーンインストールが正解なのだと思う。
 
私はここで失敗して、もとのOS領域をバックアップせずにSSD-RAIDを壊してしまったので、オリジナルのEFI-ROMが残っていない・・・((((;゚Д゚))))ガクガクブルブル



さて、起動成功した暁には、ディスクユーティリティーではこんな表示になると思う。



ディスクベンチマークはこんな感じ。




 これで、PCI-e接続したM.2 NVMe SSDドライブからOS起動ができるようになった。

 インストール後、プチフリが発生していたので、これは失敗か?と思ったのだが、これをインストールする際にグラボをHD 5870に戻していたのを思い出し、RX560に差し替えたらプチフリも解消して非常にスムーズな動作となった。

 また試しに、Western Digital/WD Blue WDS250G1B0CとRAID0にしてみたが、かえって遅くなってしまった。これなら960EVO単体のほうが全然いい。

 連休から着実に延命措置(破壊進行?)が進んでいるMac Proである。