M.2 SSDからM.2 SDDへの換装についての諸々

使用中のノートPCのSSDが128GBしかなく、いよいよ残り容量がヤバくなり、1TBのSSDへの換装に踏み切った。いろいろあったので、記録しておく。(無駄に長いです)

DellのPCを使っていて、SupportAssist OS Recoveryが起動しなくなって困ったという人は[回復パーティションの再設定](#回復パーティションの再設定)以下を参照して欲しい。

購入前の確認
-----------
自身のPCのM.2スロットがどの形状に対応しているか把握しておくことが重要。SSD側もコネクタ形状が数種類あり、現在の主流はKEY MとKEY B/KEY M。

チップの乗っているほうを表として、コネクタを上側に持ってみたときに右に切れ込みがあるのがKEY M。左右に切れ込みがあるのが、KEY B/KEY Mだ。以下のサイトが参考になる。

http://www.pasonisan.com/pc-storage/ssd-m2.html

上記サイトの注意書きにもあるように、コネクタ形状だけ見ても接続方式がわからない。下の画像は筆者の換装前のSSDだ。幸いシールにNVMeと書いてある。BIOSで接続ドライブを確認すると接続方式が併記されている(PCIeと書いてあれば、それはNVMeである)ので、併せて確認すると確実だ。

![20200908_093959 (2).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21725/ea516998-b04c-f172-3bfb-b10b2843605a.jpeg)

ちっちゃすぎてみえねーけどちゃんと書いてある。

接続方式が分かったところで、それに対応した新しいSSDを購入する(12,000円)。
ちなみに、筆者の場合は事前の調査不足でそんなことは考えもしなかったので、認識できるSSDを購入できたのは__たまたま__だ。

変換器の入手
----------
M.2からM.2へは、ノートPCの場合、スロットがマザーボードに一つしか配置されていない関係上、必然的にM.2をUSBなどに変換するケースなり、変換機が必要となる。ここでも接続方式が関係する。SATA接続のケースは比較的安価(2,000円程度)だが、NVMe接続のケースはその倍以上の出費となる(4000円くらいだった)。

SSDのクローン
------------
換装といえばクローンだ。クローンしないと始まらない。換装前と換装後で、同じ状態で始められなければ意味がない。なお、筆者は失敗した。

新しい大容量のSSDを購入すると大抵の場合は、クローンツールが付属するか、それをダウンロードするURLが案内されている。ただし、このクローンツール、接続されているSSDのベンダIDを判定し、違うメーカーであればインストールができない。俗にいう＊＊エディションというやつだ。

ここで変換器が問題になる。

変換器経由でPCにSSDをつなぐと変換器のベンダIDが認識される。そう、直付けじゃないからだ。M.2を回路を経由してUSBに変換するためである。これではクローンツールはインストールさえできない。ここで筆者は考えた。

__せや、換装するSSDをマザボのM.2に取り付けて、換装されるSSDを変換器に取り付け、リムーバブルメディアからのブートにすればええんや！いやー冴えてるなあ__

そして、クローンツールのインストール成功、これでクローンができて大勝利！換装なんて簡単だよね！

とはならない。

クローンツールは、換装前のSSDで起動するOS上で実行し、再起動を挟み、クローンツール独自のブートでOSを介さずにクローンが始まる。この時、換装前、換装後のSSDの配置の関係が逆だったのかどうかは定かではないが、どちらかのSSDを認識せず、終了。

どうしようもないので、SSD同士のクローンは諦める。(なおこの間、接続デバイスの付け替えなどいろいろ試していたらOSが起動しなくなったがそれは割愛)

__お金持ちは、裸族のクローンベース NVMeを購入して楽をしよう！たったの2万円だ。__
https://www.century.co.jp/products/crcbm2nv2u32cp.html


イメージからのクローン
-------------------
最後の手段は換装前SSDのイメージをとって、換装後SSDに移し替える方法。十分に空き容量のある別のストレージにイメージは保存する。

筆者はAOMEI Backupper Standerdを使用した。(無料)

https://www.aomei.jp/backup-software/

ツール自体の操作は簡単なので、画面の指示どおりにすればイメージを取得できる。その後は換装後SSDにイメージを復元すればよい。

最近のノートPCは、ストレージの中に回復パーティションと呼ばれる、緊急事態に備えた、工場出荷状態に戻すツールが含まれている。

メディアでOSを購入していれば、換装後のSSDをフォーマットしてメディアからインストールを行えば終わりなのだが、ノートPCはOEM版のOSであるため、復旧時は回復パーティションが必要だ。

__クローン行う意義は、この回復パーティションを維持するためにあると言っても過言ではない。__

ちなみに、筆者は付属のクローンツールで楽勝と高をくくっていたため、事前のバックアップをとらずにこの工程まで来た。現在の状態はOSが起動しない状態。回復パーティションのクローンは必至。バックアップは本当に大事。

なお、筆者の重要なデータはノートPC内の別ベイにある1TB HDDに保存されていたため、最悪、ぶっ壊れてもいいっしょ！という状態であったことを付け加えておく。

パーティションの拡張
------------------
イメージからのクローンは無事に完了したが、パーティションまで完璧にクローンされているため、いまだ800GB以上の未使用領域が残っている。どうにかして(無料で)パーティションを拡張しなくてはならない。

なお、AOMEI Backupper Standerd(無料)は優秀なソフトで、復元時にパーティションを拡張してくれる機能がある。ただこの機能は未使用領域を、現存の各パーティションに均等に割り付ける機能で、回復パーティションなども同時に拡張してしまう。それで問題なければ良いのだが、やはり気持ちが悪い。

無論、有料版であればさらに様々な機能が使用できる。だが、ここは無料にこだわりたい。

GNOME Partition Editor(GParted)というLinux用の無料のツールがあり、ext4など以外の様々なフォーマットに対応したパーティション操作ツールだ。これを使わない手はない。

USBにISOイメージを焼けば単独でブートできるLiveイメージも配布している。今回はこれを使用した。

https://gparted.org/livecd.php

起動前にいろいろ聞かれるが適当に答えて、未使用領域を拡張したいパーティションのすぐ後ろに移動させて拡張完了する。

移動する過程は以下の通り。

|ブート領域|OSのパーティション|回復1|回復2|回復3|未使用領域|
|---|-----------------|----|----|---|---------|

未資料領域の後ろに移動#1。

|ブート領域|OSのパーティション|回復1|回復2|未使用領域|回復3|
|---|-----------------|----|----|---|---------|

未資料領域の後ろに移動#2。

|ブート領域|OSのパーティション|回復1|未使用領域|回復2|回復3|
|---|-----------------|----|----|---|---------|

未資料領域の後ろに移動#3、これで完了

|ブート領域|OSのパーティション|未使用領域|回復1|回復2|回復3|
|---|-----------------|----|----|---|---------|

拡張するとこのようになる。

|ブート領域|OSのパーティション(未使用分拡張)|回復1|回復2|回復3|
|---|-----------------|----|---|---------|

OSの起動
-------
そして、容量の増えたドライブを持ったOSが起動する。(この間、筆者はOSを復元していた)

ただ、これでは終わらない。このままではストレージの構成が変わって、回復パーティションをOSが認識しないからだ。


[回復パーティションの再設定](#回復パーティションの再設定)
--------------------------------------------------

いままで、OS、OSと書いてきたがOSはWindows 10である。回復パーティションを再設定するにはreagentcコマンドを使用する。以下のサイトが詳しい。

https://www.ikt-s.com/reagentc-setreimage/

かいつまんで書くと、まずコマンドプロンプトでもPower Shellでも良いので、管理者モードで起動する。

reagentc /infoで状態を確認する。

```
> reagentc /info
Windows 回復環境 (Windows RE) およびシステム リセット構成
情報:

    Windows RE の状態:         Disabled
    Windows RE の場所:         
    ブート構成データ (BCD) ID: b1382993-f0b9-11ea-9734-48a4724c61ab
    回復イメージの場所:
    回復イメージ インデックス: 0
    カスタム イメージの場所:
    カスタム イメージ インデックス: 0

REAGENTC.EXE: 操作は成功しました。
```

状態はDisabledで、場所にいたっては設定されていないはずだ(上記はイメージ)。これをEnabledに修正し、場所を設定してやらなければならない。

![diskpart1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21725/9e1f15da-c1c2-8c1a-8853-dd84b6e78ed0.png)

まず、diskpartを使用する。ディスクのリストを表示し、任意のディスクを選択、ディスク内のパーティションを表示し、任意のパーティションを選択し、それにドライブ名をアサインする。

```
DISKPART> list disk
DISKPART> select disk 1
DISKPART> list pertition
DISKPART> select pertition 4
DISKPART> assign letter q
```

再び、reagentcを使用し、以下のコマンドで修復する。

```
> reagentc /setreimage /path q:\recovery\windowsre /target C:\Windows
> reagentc /enable
```

うまくいくと有効化されていることが確認できるはずだ。

```
> reagentc /info
Windows 回復環境 (Windows RE) およびシステム リセット構成
情報:

    Windows RE の状態:         Enabled
    Windows RE の場所:         \\?\GLOBALROOT\device\harddisk1\partition4\Recovery\WindowsRE
    ブート構成データ (BCD) ID: b1382993-f0b9-11ea-9734-48a4724c61ab
    回復イメージの場所:
    回復イメージ インデックス: 0
    カスタム イメージの場所:
    カスタム イメージ インデックス: 0

REAGENTC.EXE: 操作は成功しました。
```

ノートPCベンダのリカバリーツールのブート設定
---------------------------------------
筆者のノートPCはDell製だ。

起動時、F12を連打していると、ブートメニューが表示され、Support Assist OS Recoveryという復旧ツールが起動できる。

ただし、パーティションの構成が変わったので、起動すると青い画面のまま1分ほどで電源が切れる。これはよろしくない。

調べるとこういう情報があった(英語)。

https://www.dell.com/community/Storage-Drives-Media/How-to-clone-Dell-SupportAssist-OS-Recovery-to-a-larger-SSD/td-p/7365064

ここで重要なのがEFIパーティションのDell用のBCD(Boot Configuration Data)だ。これを正しく設定すればSupport Assist OS Recoveryの起動ができるようになる。

上記のサイトのEXTRA STEPSにもあるようにBOOTICEというツールを使用する。ただ、これが[公式サイト](http://www.ipauly.com)につながらず、怪しい海外のフリーソフトダウンロードサイトに点在しているので、そこだけが心配。

とりあえず、一番ましそうな、CNetからダウンロードする。
https://download.cnet.com/Bootice-64-bit/3000-2248_4-77512928.html

起動する前にひと手間。diskpartを使用して、BCDが格納されているESPボリューム(EFIパーティション)を可視化しておく。

![diskpart.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21725/cf9a623b-5227-a67d-9b57-fec8c4f5868c.png)

ディスクのリストを表示し、任意のディスクを選択、ディスク内のボリュームを表示し、任意のボリュームを選択し、それにドライブ名をアサインする。

```
DISKPART> list disk
DISKPART> select disk 1
DISKPART> list volume
DISKPART> select volume 2
DISKPART> assign letter q
```

先ほどダウンロードしたrarファイルを展開するとexeが取得できるので、これを起動し、BCDタブに移動する。その後、Other BCD Fileを選択し、BCDファイルを設定する。

![bootice.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21725/2850feb3-7ed7-2714-37b5-538d166c163e.png)

先ほどアサインしたQドライブのEFI\dell\SOS\BCDを選択する。

![bootice1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21725/dbeda6ec-b9b3-235d-e358-564fcb77a712.png)

設定できたら、Professional Modeボタンを押下。次にProfessional Mode上の左ペインにある、Device Objects配下の__{ramdiskoptions}__を選択する。

![bootice5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21725/1c7fe93d-f35e-cd68-f17c-69e987ac9b43.png)

これは再設定完了後のイメージなので正常だが、起動しない状態のものは__SdiDevice__が破損している可能性が高い。これを正常な状態に戻す。

破損しているBoot partには__DELLSUPPORT__パーティションを選択する。

![bootice6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21725/00500aba-5ee6-206a-d7c9-1a084f40cd1a.png)

続いて、左ペインより、__Dell SupportAssist OS Recovery__を選択。

![bootice2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21725/a7c5f8d9-1468-86a8-530f-bf05288e9fb6.png)

以下が破損している可能性が高い。

- ApplicationDevice
- OSDevice

これを正常な状態に戻す。まずは__ApplicationDevice__。
RamDiskが破損しているので、先ほど修復した__{ramdiskoptions}__を選択する。
Boot partは__DELLSUPPORT__パーティションだ。

![bootice4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21725/77c81928-202c-04d8-d7c2-c4a1b88d2393.png)

次に__OSDevice__。
こちらもRamDiskが破損しているため、左ペインDevice objectsのWindows Recoveryを選択した際に表示される、__GUID__と一致するものを選択する。
Boot partは他と同様に__DELLSUPPORT__パーティションだ。

![bootice7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21725/0edf689a-ecbd-c36d-35e4-b8194d662dc7.png)

BOOTICEでの操作は以上で完了となる。
EFIパーティションに割り当てたドライブ文字を忘れずに除去すること。

```
DISKPART> remove letter q
```

筆者の場合、この操作でSupportAssisit OS Recoveryが起動できた。なお、起動できただけでその後のテストは行っていない。

おしまい。