ddコマンドでクローンコピーして容量の小さいSSDに換装(防備録)Windows版

1.このページについて
以前、Ubuntu24.04のHDDを若干小さいSSDに換装したので、同じようにWindows10のHDDを若干小さいSSDに換装してみました。 失敗したことを含めてそのときの顛末を防備録として残します。前回(ubuntu版)と手順はほぼ同じ。 (一般的なブートドライブのclonecopyはこちら)

1.条件など
OSはWindows10
BIOSブート(UEFIではない)
コピー元:内蔵ハードディスク500GB(MBRパーティション)
コピー先 :KIOXIA 内蔵用SSD(SATA3対応)480GB
コピー元の内蔵ハードディスクの使用済み容量は100GB未満で十分余裕がある

2.ポイント
Ubuntuインストール用USBメモリ:インストール目的ではなく内蔵ハードディスク以外で起動する目的で使います。
外付けSATAスタンド(ケース):コピー先SSD用のUSB接続のスタンドです。
ddコマンド:コピー担当のコマンド
gdiskコマンド:ddコマンドでコピーした後、パーティション情報の誤りを修正するコマンドですが、 実はGPTパーティション専用ツールなので今回は使えないのですが‥‥。

3.内蔵HDDのサイズを切り詰め
内蔵HDDより若干SSDのサイズが小さいので、Windowsの「ディスクの管理」を使ってSSDに十分入るサイズまで内蔵HDDのパーティションサイズを切り詰めました。 ただ、「ディスクの管理」では思ったほど切り詰めできないこともあったので、その場合は無料で使える「AOMEI Partition Assistant Standard」で切り詰めしました。
切り離したハードディスクの領域は新たなパーティションとせず未使用のままにしておきました。

4.ddコマンドでクローンコピー
パソコンにUbuntuインストール用USBメモリを挿して、USBからUbuntuを起動し、外付けUSBスタンドにコピー先のSSDを挿し、端末から sudo fdisk -lコマンドでコピー元、コピー先のデバイス名を確認。そのとき、コピー元の内蔵HDDとコピー先のSSDの「ディスクラベルのタイプ」が 一致しているかも確認しておく。タイプはgpt又はdos。今回はともにdosであった。(前回同様、今回も複数回もddコマンドでコピーしたが、 最初はディスクラベルのタイプなど気にも止めなかった。)
sudo dd if=/dev/sda of=/dev/sdc bs=1024k status=progress
HDDとSSDのサイズが異なるので、SSDの容量を超えた段階でエラー終了となる。

5.MBRパーティションであるSSDに対してgdiskコマンドを使ってしまって大失敗。
前回(Ubuntu版)と同様に何も考えずsudo gdisk /dev/sdcを実行した。そして、なにも考えずに前回と同様に一連のキーをタイプ。 これで、MBRパーティションが強制的にGPTパーティションに書き換えられてしまった。しかし、この段階ではまだこの失敗に気づいていなかった。しかも、 gdiskがGPTパーティションの操作専用のコマンドであることも知らなかった。
この後、内蔵HDDをSSDに換装して、電源を入れて、OSがないとか、ハードディスクがないとかのトラブルに突入し、どこかの段階でGPTとMBRの問題だと気づくことになる。
(もちろん、WindowsだからMBRパーティションというわけではありません。たまたま、コピー元のハードディスクがMBRだったからで、もしGPTパーティションだったなら gdiskコマンドで修正が完了したことでしょう。)

6.SSDを初期化
一旦、元のHDDを内蔵さて、Windowsを起動し、SSDを外付けUSBスタンドに挿して、「ディスクの管理」でSSDのパーティションをすべて削除し、 ディスク名のところで右クリックすると「MBRディスクに変換」する旨の選択肢があったのでそれを選択し、その後、容量一杯のパーティションを作成・削除したり、 フォーマットしてみたりした。

7.再度ddコマンドでクローンコピー
コマンドは4と同じ。当然、クローンコピーする前にデバイス名の確認と、今回は「ディスクラベルのタイプ」も確認した。 ただ、ddコマンドはセクター単位でコピーするから、ディスクラベルのタイプが何であろうと関係ないような気もした。

8.残容量の取り込みでエラー発生
7でクローンコピーをした後、ubuntuのdiskツールで外付けのSSDを覗いてみると、ちゃんとしたパーディション構成になっていた。 そのついでにと思って残容量を取り込むために容量変更を変更した。ところが、何やら変なエラーメッセージが表示されてしまう。

9.SSDを内蔵させて起動を試みる
HDDとSSDで容量の違いがあるので、パーティション情報にエラーがあるはずだが、gdiskコマンドも使えず、どうなるかと思っていたが、 これまでと違ってOSやハードディスクがないといったエラーメッセージは出ず、Windows10の起動時に表示される水色の斜め窓が表示された。 しかし、その直後に「デバイスにエラーが発生したので再起動します‥」などど表示された。情報を収集する目的のようだが、再起動して 斜め窓が表示されてくるくるサインが回るばかりで、しばらく見ていたがストレージへのアクセスもないので電源ボタンを長押しして強制終了させた。 8で残容量の取り込みをしたときにエラーが出たのが原因ではないかと思った。

10.再々度ddコマンドでクローンコピー
先ほどと同様にddコマンドでHDDからSSDにクローンコピーをした。その際、SSDの初期化などはせず、今回は外付けUSBスタンドに挿したHDDから 起動しなかった内蔵SSDにコピーした。

11.SSDから起動を試みる
9の起動同様に「デバイスにエラーが発生したので再起動します‥」のメッセージが出て再起動したが、今回は途中で止まることなくWindowsが起動した。 デバイスのエラーとはおそらくパーティション情報の誤りだと思うが、それはWindowsが勝手に修正してくれたようだ。(MBRパーティションは修正して くれたが、GPTパーティションの場合も自動で修正してくれるかどうかは分からない。) 起動後、Windowsの「ディスクの管理」で残容量の取り込みを行い作業は終了した。(残容量は全体からみると僅かな容量だし、そこまでSSDを 使い倒すこともない。また、次のSSDへのクローンコピーの際の切り詰め分として未使用のままにしておくのもよいかと思う。)

以上、ハードディスク(500GB)からSSD(480GB)への換装(Windowsu版)でした。
Ubuntu版はこちら
一般的なブートドライブのclonecopyはこちら
連絡先:hdd2ssd@inblank.net