パソコン・メモメモ備忘録

気の向くままパソコン関係等で気になることを書き記す。時々更新!

古めの PC に NVMe SSD を

先日 自宅の PC の SSD 間引っ越しで使った PCIe-M2.2 変換アダプタが余っているので、とある別の PC にこっそり?NVMe SSD を搭載しようとしたのだが、ちょっと古めの PC のため、少々ハマって時間を費やしてしまった。正しい手順でやれば、それほど手間はかからない。どちらかというと安全のための作業前のフルバックアップの方が時間がかかるくらいだ。勘違いでちょっと回り道をしてしまった。今回のポイントとしては、元の Windows10 のシステムドライブの SSDMBR だったので、GPT に変換しないといけないこと。どこが必須の条件なのか、実は把握してないのだが、

- 古めの PC で、BIOS が NVMe に対応していない(Boot の HDD 等のリストにも表示されない。)

- そこで Clover EFI bootloader を使って、Windows を NVMe な SSD からブートさせる

- Clover EFI bootloader は EFI で boot する必要がある?(多分)

- EFI からは、GPT な HDD/SSD しかブートできない(多分)

という感じ。ということで、「一杯飲んでけ!のブログ」さんの記事なんかを参照させてもらいつつ作業すれば OK。

個人的に思う正しい手順としては、

1. Clover EFI bootloader を USB メモリにセットアップ

  USBメモリは、おそらく数百Mbyteの容量があればいけそう。毎回ブート時には使われるので、マザー上の USB 端子に、変換アダプター通して接続して内蔵してしまうと、外観上見えなくていいかも。

USB への書き込みは、まず、sourceforge さんから Clover のファイルをゲットして、7zip なんかで、.lzma ファイルを何回も開いていくと、奥に .iso ファイルがあるので、それを取り出して、rufus というソフトで書きこむ。とりあえず、USB メモリのドライブを間違えずに!指定して、iso ファイルも指定して書き込めば OK のはず。

2. システムドライブのバックアップ

  小生は、Acronis True Image のユーザーなので、それで 余っている HDD なんかに。まぁ、絶対失敗しない自信があればバックアップは不要だが。次の GPT の変換に失敗する可能性も?

3. MBR2GPT.exe で、システムドライブを MBR から GPT に変換。

  現状のシステムパーティションを 200MB 程縮めて、EFI 用のパーティションを追加したりするので、既存システムドライブに、パーティション数とか容量的に余裕のあることが重要。そんなには時間はかからない。

ただ、Windows が起動している自分自身のドライブを MBR から GPT に変換できたりするので、ちょっと怖い。その場合、バックアップ重要かも。

MBR2GPT については、BILLIONWALLET さんの記事が詳しい。

4. システムドライブを新しい NVMe SSD にクローンする

  こういう系の記事にはよく出てくる EaseUS ToDo Backup Free を使用。システムドライブをさくっとクローン。SSD に最適化を ON にしてみたが、差違があるのかは知らず。

5. 以前のシステムドライブは外す。フォーマットして、データ用ドライブにしてもいいかな。

6. BIOS の Boot の設定を UEFI にして、Clover の USB メモリからブートするように設定。

以上で、一応システムの移動はいけるはず。PC の電源を入れると、BIOS が立ち上がった後、Clover EFI bootloader が起動して、ブートするドライブの候補がいくつか表示される(ドライブが一つだとされないかも)。小生の場合、デフォルトで、Windows のドライブが選択されているので、ほうっておいても数秒の待ちの後、NVMe の Windows10 が起動するようになった。

ここで、今回の SSD 等メモっておこう。 

【国内正規代理店品】WD 内蔵 SSD M.2 2280 WD Blue SN500 NVMe 500GB WDS500G1B0C-EC 500GB

【国内正規代理店品】WD 内蔵 SSD M.2 2280 WD Blue SN500 NVMe 500GB WDS500G1B0C-EC 500GB

 

コストパフォーマンス重視で Amazon をかなり徘徊して選んだのがこの二つ。 

さて、上記手順で正しくやれば、引っかかることも無いはずだが、小生が失敗した原因は、まずシステムドライブを MBR のままクローンしてしまったこと。それを適当なツールで GPT に変換すれば、Clover からブートできるように思ったのだが、そうでは無かった。Windows10 のインストール USB メモリも作って、回復コンソールから、bootrec /fixboot とか /rebuildbcd とか、いろいろやってみたが、結局はブートできるようには修正できなかった。MBR2GPT が何をやっているのかはわからないが、移行後の GPT ドライブからブートできるように、EFI パーティションの作成含め、いろいろやってくれているらしい。もともとの Windows10 システムドライブは、EFI パーティションは無くてもブートしていたので、その辺りもややこしい原因だったのかも(WIndows7 から上書きアップデートしたからだろうか)。

条件を変えながら試して、トライしてみても全然ブートできなかった。ちょっと間違えて、Windows のインストール USB や、Clover EFI bootloader の方のブート情報を書き換えてしまって、作り直したりとか。一度は Clover EFI bootloader が対応してない PC なのか、と、新しい NVMe SSDWindows を新規インストールして、無事ブートできるのを確認したりとか。無駄な時間をたっぷり費やした。

ということで、当初の目的の、NVMe SSD への移行はできたのだが、少々残念な想定外があった。SSD のフルパワーを、引き出せていない、という点である。この PC、PCIe x16 のスロットが二つあり、一つにはビデオカードが刺さっていて、もう一方の空いている方に、今回の NVMe SSD+変換カードを刺した。軽く 1GB/sec の読み書き性能のある SSD のはずだが、700~800MB/sec しか出ない。SATA 接続の SSD と比べて上回るといえども、差は大きくない。CrystalDiskInfo で見てみると、PCIe2.0x2 で接続されているようだ。理論 1GB/sec なので、700~800MB/sec でもおかしくないかも。マザーボードのスペックを見ると、ビデオカードの刺さっている PCIe スロットは PCIe3.0 なのに対して、他のスロットは PCIe2.0 仕様だった。この辺りにも PC の古さが出ている。とはいえ、x16 のスロットなのに x2 しか使えないのは謎ではある。と思って、基板をよく見てみると、x2 分しか配線されてない感が… あまりに安いのはそういうことか。

めげずに、PCIe の帯域の差が顕著に現れるような高性能なビデオカードを使っていないので、NVMe SSD と、スロットを交換することを目論んでいる。これで帯域は一応倍になって、フルパワーが発揮できるはず。

PCIe M.2 アダプターも SSD も、もう少しお金を出せば、さらに倍くらいの性能のものも販売されているわけだが、古いこの PC には、これくらいで上等かな。

一つ、自分のためのメモ。バックアップ時、ChromeFireFoxVivaldi のキャッシュは消しておかないと、ものすごい時間がかかる。細かいファイルが数万~数十万あったりするので注意。

追記: PCIe-M.2 アダプタは x4 接続っぽい。x16 のスロットで x2 しか使えないのは謎。→ SSD の方が PCIe3.0x2 対応だった orz。また、ビデオカードを移動しようとしたが、このミニタワーなケースでは、下の x16 スロットに、2スロット占有のビデオカードは刺せなくてダメだった。残念。