サーバーとして使っていたマシンの残骸で作ったPC、通称「サーバーの残骸PC」をメインPCとして使用し始めて1ヶ月ほど経ちました。処理性能に不満はないのですが、最近GTAVをやろうとしてインストールしようとしたところストレージの空き容量がこの有様です。

元々余り物のSSDではあるのですが、さすがに容量が足りないので新しいものに換装することにしました。

Cドライブをまるごと容量の大きいSSDに移植したいので、SSDをいわゆるクローンする必要があります。私は生まれてこの方クローンをやったことがなかったので色々と調べてみると、だいたい下記の2通りの方法が主流なことがわかりました。

  1. 別のPCにクローン元・クローン先のドライブを接続して、クローン用ソフトを使ってクローンする
  2. Windowsのバックアップと復元機能を使って、バックアップのイメージを外付けHDDなどを介してドライブ換装後のPCに復元する

1の方法についてですが、素性の知れないソフトを使うのはちょっとうーんって感じがしますね。あとドライブを別のPCに接続するためにはM.2-USB変換のアダプタ (いわゆるお立ち台など) が必要になってきますが、Amazonなどで調べてみてもイマイチピンとくるものがありませんでした。

2の方法については、Windows標準機能でできるのは良さそうですが、ドライブの内容をそっくりそのままコピーすれば良いだけなのにバックアップイメージを介して行うのは、ストレートフォワードでない感じがしてあまり気に入りません。

というわけでこれらの方法は使わず、シンプルにLinuxのddコマンドでコピーすることにしました。

手順としては以下の通りです。

  1. USBメモリからLinuxを起動して、クローン元SSDの内容を外付けHDDにコピーする。
  2. SSDを換装してもう一度Linuxを起動し、外付けHDDにあるイメージをクローン先SSDにコピーする。

USBメモリから起動するLinuxは、軽量なディストロも考えてはみたのですが、NTFSの外付けHDDを標準でマウントして欲しかったのもあって今回はUbuntuを使うことにしました。

クローン元のSSDを挿したままUbuntuをUSBメモリから起動し、下記のコマンドを実行して外付けHDDにイメージをコピーします。保存するイメージのサイズを抑えるため、gzipで圧縮することにしました。

sudo bash -c "dd if=/dev/nvme0n1 status=progress | gzip -c > /media/ubuntu/ADATA\ HV620S/nvme0n1.img.gz"

最終的に元のSSDの容量250GBに対して圧縮イメージのサイズは90GBになりました。

これで一度電源を落として、ドスパラで購入したKIOXIAの1TB SSDに換装して再度Ubuntuを起動。下記のコマンドを実行して、圧縮イメージを新しいSSDに展開します。

sudo bash -c "gzip -dc /media/ubuntu/ADATA\ HV620S/nvme0n1.img.gz | dd of=/dev/nvme0n1 status=progress"

完了です。

UbuntuのUSBメモリを抜いて再度電源をオンにすると無事元の状態のWindowsが起動しました。めでたしめでたし。

ちなみにCドライブの後方に回復パーティションなるものがあって、そのままだとパーティションを拡張できなかったので一度回復パーティションを削除し、Cドライブを拡張したあとで復元する、という作業が必要でした。下記の記事の通りに作業しました。

システムボリュームの拡張と回復パーティションの移動 #Windows11 - Qiita