M.2 SSDを増設してパーティション作成と自動マウントを設定した

M.2 SSDを増設してパーティション作成と自動マウントを設定した

  • 日本語
  • SSD
  • Linux Mint
  • パーティション
  • 自作PC

ストレージの空き容量が逼迫してきたため、Crucial P3 Plus 1TBを増設した。 PayPay祭万歳! マザーボード上のM.2スロットに空きがなかったため、PCIe変換アダプターカードを使用してチップセット側のPCIeスロット経由で接続している。 パーティション作成からfstabによる自動マウント設定までした。

#環境

  • OS: Linux Mint 22.3 Zena
  • マザーボード: MSI MPG X570 GAMING PLUS
  • カーネル: 6.17.0-19-generic

#増設したSSD

項目
SSDCrucial P3 Plus 1TB (CT1000P3PSSD8JP)
インターフェースPCIe 4.0 NVMe M.2 2280
接続方法M.2 NVMe SSD to PCIe 変換アダプターカード
挿入スロットチップセット側のPCIeスロット
リンク状態現在の実機確認では Gen4 x1 で認識(ポート自体はx4対応)

#なぜ変換アダプター経由なのか

MSI MPG X570 GAMING PLUSにはM.2スロットが2つあるが、いずれも使用中だった。

  • M.2_1: Samsung 970 EVO Plus 250GB(システムドライブ、CPU直結M.2スロット)
  • M.2_2: 使用中

そのため、空いているチップセット側のPCIeスロットにPCIe→M.2変換アダプターカードを挿して増設する方法を選択した。CPU直結のM.2スロットほど帯域は広くないが、データ保存用ストレージとしては十分な用途だと判断した。なお、現在の実機確認ではリンク幅は x1 でネゴシエートされている。

#ハードウェアの取り付け

  1. 変換アダプターカードにCrucial P3 Plusを取り付ける
  2. チップセット側のPCIeスロットに挿入する( GPU換装 時にGPUを外した状態で作業したため、アクセスしやすかった)
  3. GPUを取り付けた後に電源を投入する

今回、PCIeスロットにM.2 SSDを増設するのは初めてだった。 やってみると想像より少し癖があり、特に変換アダプターの組み立てでは意外と力が必要だった。 SSDを差し込んだあと、アダプター側へしっかり押し込んで「カチッ」とはめる必要があり、思ったより手応えが強かった。

さらに、M.2 SSDを固定する小さなネジを途中で飛ばしてしまい、ケース周辺をしばらく探すことになった。 サイズがかなり小さいので、組み立てる時は机の上や明るい場所で作業した方が安心だと思う。

取り付け時の様子はこんな感じ。

変換アダプターにSSDを取り付けた状態

GPUを戻す前の状態。チップセット側PCIeスロットに変換アダプターカードを挿し、Crucial P3 Plusを取り付けている。

GPU取り付け後の内部

GPUを戻すとこうなる。RX 9060 XTの直下に収まる形になった。

電源投入後の様子

電源投入後の状態。物理的な干渉もなく、そのまま起動できた。

#パーティション作成

#GPTパーティションテーブルの作成とパーティション作成

bash
sudo parted /dev/nvme1n1 --script mklabel gpt mkpart primary ext4 0% 100%

ディスク全体を1つのパーティションとして作成した。0% 100% を指定することで、開始位置から終了位置までディスク全体をそのまま使う形にしている。

#ext4でフォーマット

bash
sudo mkfs.ext4 -L P3Plus /dev/nvme1n1p1

-L P3Plus オプションでラベルを設定している。ラベルを付けておくと lsblk -f で一目でどのディスクかを識別できるため便利だ。

#マウントと所有権の設定

#マウントポイントの作成とマウント

bash
sudo mkdir -p /media/p3plus
sudo mount /dev/nvme1n1p1 /media/p3plus

#所有権の変更

デフォルトではroot所有になるため、自分のユーザーに変更する。

bash
sudo chown daiki:daiki /media/p3plus

#fstabによる自動マウント設定

再起動時にも自動的にマウントされるよう、/etc/fstab にエントリを追加する。

Linux Mintでもデスクトップ上の一時的なマウントはできるが、起動時に安定して同じ場所へマウントしたい場合は fstab を設定しておくのが確実。

まず、パーティションのUUIDを確認する。

bash
lsblk -f /dev/nvme1n1

確認したUUIDを使用して、fstabにエントリを追加する。

bash
echo 'UUID=b401c7c0-2950-46ad-a757-49282c3f90d0 /media/p3plus ext4 defaults 0 2' | sudo tee -a /etc/fstab

各フィールドの意味は以下の通り。

フィールド説明
デバイスUUID=…デバイス名(/dev/nvme1n1p1)ではなくUUIDで指定。デバイス名は起動順序で変わる可能性があるため
マウントポイント/media/p3plusマウント先のディレクトリ
ファイルシステムext4ファイルシステムの種類
オプションdefaultsデフォルトのマウントオプション(rw, suid, dev, exec, auto, nouser, async)
dump0バックアップ対象外
fsck順序2ルートファイルシステム(1)の後にチェック

#fstab設定の検証

fstabを編集した後は、再起動前に設定が正しいことを検証しておくと安心だ。

bash
sudo mount -a

エラーが出なければ、fstabの記述に問題はない。

#動作確認

bash
$ lsblk -f /dev/nvme1n1
NAME        FSTYPE FSVER LABEL  UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
nvme1n1
└─nvme1n1p1 ext4   1.0   P3Plus b401c7c0-2950-46ad-a757-49282c3f90d0  869.2G     0% /media/p3plus

1TB(利用可能約869GB)が正常に認識され、ext4でフォーマット済み、/media/p3plus にマウントされていることを確認できた。

#作業完了後のストレージ構成

デバイスモデル容量フォーマットラベルマウント先接続
nvme0n1Samsung 970 EVO Plus250GBext4 (LVM)/ (root)M.2_1 (CPU直結M.2スロット)
nvme1n1Crucial P3 Plus1TBext4P3Plus/media/p3plusチップセット側PCIeスロット(変換アダプター経由)
sdaMicron 1100256GBext4Develop/media/developSATA
sdb(HDD)1TBntfsHDD/media/winhddSATA
sdc(SSD)1TBntfsSSD/media/ssdSATA

ntfs に関してはLinux MintからWindowsに戻る可能性があったのでこのままだったけど、Linux Mintを1年間常用した結果Windowsよりも良いのでいつか ext4 にしないとなぁ…

ラベルに関しても統一感が無いというか…その場で適当に付けてしまっている部分があるので整理したい。マウント先もそれに合わせてるから、こうやって一覧で確認すると違和感がある。

#まとめ

マザーボードのM.2スロットに空きがなくても、PCIe変換アダプターカードを使えばNVMe SSDを増設できる。 チップセット側のPCIe経由になるため、CPU直結のM.2スロットと比べると帯域面では不利になりやすいが、データ保存用途であれば十分使える。

パーティション設定で気をつけるべき点は、fstabにはデバイス名(/dev/nvme1n1p1)ではなくUUIDで記述すること。 デバイス名はSSDの増減や起動順序によって変わる可能性があるが、UUIDは固定されるため安定した自動マウントが実現できる。

今回の増設で合計ストレージが約3.5TBになった。開発プロジェクトやローカルLLMのモデルファイルなど、容量を気にせずに配置できる環境が整った。 ただ、Windowsの名残りのHDDがあるからこれも使えるようにしないと…

同じタイミングでGPU換装まわりも進めており、最終的にはKdenliveの設定も NVENCからVAAPIへ切り替えた