2023年にASUS H97-PRO GAMERのm.2スロットでSSDを増設してUbuntu環境を整えた話

## はじめに
機械学習を勉強している過程で現環境(Windows+Anaconda、colab)では不自由さを感じ、SSDを増設してGPU＋Linux環境を作ることにしました。
しかし私のPCは自作したのが2015年Haswell世代(正確にはHaswell Refresh世代)ということで、マザーボードも年季が入っており、SSDをm.2スロットで認識させるだけでもかなり苦労したので、知見の共有ということで記事にします。

## PCスペック
- CPU
    - Intel Core i5-4690
- マザーボード
    - ASUS H97-PRO GAMER
- GPU
    - NVIDIA GeForce RTX 2080
- 購入したSSD
    - Crucial クルーシャル P2シリーズ 1TB(1000GB) 3D NAND NVMe PCIe M.2 SSD CT1000P2SSD8

令和にわざわざP2シリーズ買う人間いるのかよ…とメーカーに驚かれそうですが、現時点ではP5シリーズが出ており、当然ですがPCが対応しているのであればそちらを購入すべきです。
今回私がこちらを購入した理由としては、スロットの空き状況からm.2スロットを使用する必要があったのと費用を安く抑えたかったからです。H97-PRO GAMERのm.2スロットですが、このスロットはPCIe 2.0 x2で動作するため、最近主流のPCIe 3.0や4.0をサポートしておらず、最新の対応したSSDを購入しても性能を生かせません。そこでm.2対応かつPCIe 2.0に対応したこちらに辿り着きました。
SSD購入時には双方の端子に注意。マザーボードの仕様書に記載がありますが、私のマザーボードはKey MだったのでSSDもKey Mのものを選びました。

https://www.amazon.co.jp/gp/product/B08QZFXY1X

## 増設作業
仕様書を見てスロット位置を確認してやりましょう。

http://dlcdnet.asus.com/pub/ASUS/mb/LGA1150/H97-PRO_GAMER/J9495_H97-PRO_GAMER_WEB.pdf

増設する際には電源を切ることを忘れずに。
（SSD接続後の固定用ネジ締めも山場の一つだった気がします）
（磁石付きプラスドライバーを買おう！）

## SSDの認識作業
SSDを増設した後、PCの電源を入れ、BIOSを起動させましょう。
そこで認識していれば作業は簡単だったのですが、全く認識せず。
BOOTメニューにSSDが表示されないどころか、m.2スロット関連の設定すらも表示されない始末。

結論からいうと以下の対応で認識に成功しました。
- BIOSのアップデート
- Onboard Devices項目の「PCI Express X4_3 Slot(Black)Bandwidth」をM.2 Modeに変更

仕様書には「2.6.3 PCHストレージ設定」と「2.6.7 オンボードデバイス設定」をご覧くださいとの記載がありますが、そもそも認識していない場合は上記でSSDを認識させる必要があります。
また環境によっては「SATA Mode Selection」を[RAID]に設定するといった対応も必要とのことですが、私の場合は[AHIC]のままで認識・動作しています。

それでは個別に説明していきます。

### BIOSアップデート
BOISのアップデートはメーカーからは非推奨行為とされていますので、実行する場合は自己責任でお願いします。

まずBIOSとは何かといいますと、Basic Input Output Systemの略で、キーボードやマウス、CPU、SSD、モニターなどを制御と管理をするソフトウェアのことです。
現在ではUEFIと言ったりするらしいです。

BOISのアップデートですが、失敗した場合には修理が必要になります。そのため必要性がない限りはしないというのが共通認識になっています。
そもそもBOISアップデートは保証の対象外です。
改めてになりますが、実行する場合は自己責任でお願いします。

さて、本題のBOISアップデートですが、3種類あります。
- EZアップデート
こちらはWindows上でBOISイメージを更新する方法です。
アップデート中にOSが死んだ場合、マザボもろとも使用できなくなります
- USBメモリを使用したアップデート
最も一般的なアップデート方法です。USBメモリがない場合インターネットから直接できるらしいです。BIOSアップデート中に停電が起きた場合マザボもろとも消し飛びます。
- サポートDVDやUSBメモリを使用したBOISイメージ復旧
こちらは最後の命綱となるものです。

今回は安全を考えて2つめのUSBメモリを使用したアップデートを行いました。

以下、具体的な手順です。

ASUSダウンロードセンターにアクセスし、BIOSイメージをダウンロードします。

https://www.asus.com/jp/support/Download-Center/

上記のページでマザボのモデル名を入力し、「ドライバーとツール」をクリックします。
そこのページに飛ぶとBIOSのイメージがダウンロードできるかと思います。
基本的に最新版しかなく、それで問題ないかと思います。万が一ダウンロードするイメージを間違えた場合でも、直前に「イメージ」が違うと弾いてくれるそうです。

マニュアルも上記から「マニュアル」のページに飛ぶとダウンロードできます。BIOSアップデート手順についても載っていますので、確認を含めて一度読んでおきましょう。

次に、USBにイメージを入れていきます。
私はUSBをフォーマットしてから、ダウンロードしたイメージを格納しました。
これでイメージファイルが完成です。

では、BIOSをアップデートしていきましょう。
PCの電源を切り、USBを挿し、BIOS起動します。

基本的にはマニュアルに従う形になります。
1. Advanceモードにし、Toolを選択
2. ASUS EZ Flash 3 Utilityを選択
3. ストレージ(USBメモリ)でのアップデートを選択
4. イメージを格納したUSBを選択し、イメージを選択
5. アップデートしますか？という文がでてくるので、Yesを選択
6. アップデートがスタートします
7. 停電が起きないことを祈ります
8. 完了するとポップが出てくるのでOKを選択

これでアップデート完了です。

こちらの動画が非常に参考になります。

https://www.youtube.com/watch?v=44hV_FLr_os


### BIOSでの設定変更
まずは、マニュアルのM.2スロット関連のところに目を通しておきましょう。
基本的はそこに従う形になります。
しかし本来であればBIOSをアップデートした時点でBIOSのメニュー(PCH Stotage設定かPCH PCI Express設定)にm.2の項目が出てこない場合があり、その際には細かな設定変更が必要なようです。
m.2の項目がない！という方はBIOSの設定を弄ってみましょう。
まずOnboard Devices項目を開きます。
次にPCI Express X4_3 Slot(Black)Bandwidthという項目を「M.2 mode」にします。
こうすることでm.2でのSSDを認識してくれるはずです。

参考にさせていただいた記事

http://blog.livedoor.jp/custompctake/archives/52009861.html

こちらの情報はどこにも載っていなく非常に参考になりました。
9年越しではありますが、感謝を申し上げます。

## Ubuntuのインストール
ここからは定番の作業となるので、参考させていただいたサイトを紹介して終わりにしようかと思います。
基本的な流れは以下です。
1. ubuntuのインストーラを用意する(USBなど)
2. PCの電源を切り、ubuntuインストール先以外のSSD/HDDを取り外す
3. インストーラUSBを挿してBIOS起動
4. USBからUbuntuを起動するとインストール画面が出てくるので案内に従ってインストール

基本的に以上で完了です。

参考にさせて頂いたサイト↓

https://lang-ship.com/blog/work/usb-ssd-ubuntu/


## さいごに
SSDを増設するだけで想像を超えた作業になってしまいました。
本来であれば10年選手になりつつあるマザーボードの買い替えどころか、フル買い替えでもよいレベルなので、色々サポートが切れていることも含め仕方がないですね。
いらっしゃらないとは思いますが、Haswell世代のCPUを使用している方やASUS H97シリーズを使用されている方の参考になれば幸いです。

【教訓】
PCパーツはお金をケチらず定期的に更新しよう！！


コメント・質問などありましたら、是非お願いします。