ウェブサイト検索

Clonezillaを使用してWindows 10をHDDからSSDに移行する方法


このチュートリアルは、複数のパーティション(例えば、C:やD:)を持つ大きなHDDから、Clonezillaユーティリティを含むLinuxディストリビューションを使用して小さなSSDにWindows 10オペレーティングシステムを移行(クローンとも呼ばれます)する方法についての実用的な抜粋を示しています。

Clonezillaユーティリティは、PartedMagic LinuxディストリビューションのCD ISOイメージから、またはClonezilla LinuxディストリビューションのCD ISOイメージから直接実行できます。

このガイドでは、古いHDDとSSDの両方が同時にあなたのマシンに物理的に接続されており、Windows OSがMBRパーティションスキームテーブルのディスクにインストールされていることを前提としています。Fdiskコマンドラインユーティリティは、ディスクラベルのタイプをDOSとして表示する必要があります。

関連記事: Linux用のオープンソースディスククローンおよびバックアップソリューション8選

UEFIからMBRレイアウトでパーティション化されたディスクの場合、Windows REパーティション、EFIシステムパーティション、Microsoft予約パーティション、およびWindows OSパーティションを保持するMicrosoft基本データパーティションなど、すべてのパーティションをクローンする必要があります。通常、C:ドライブです。この場合、FdiskコマンドラインユーティリティはディスクラベルタイプをGPTとして報告する必要があります。

以下のスクリーンショットでは、MBRレイアウトスタイルの場合とUEFIから実行されたGPTパーティションレイアウトの場合の初期Windowsパーティショニングスキームを確認できます。

ディスク管理からのMBRパーティションレイアウト

ディスク管理からのGPTパーティションレイアウト

ステップ 1: C ドライブを縮小する: Windows システムのパーティション

ハードディスクのC:パーティションのサイズがSSDの総サイズよりも大きい場合、SSDに収まるようにそのサイズを減らす必要があることに注意してください。

このステップの計算は簡単です:

システム予約済み + 回復 + EFIパーティション + Windows C: パーティションのサイズは、fdiskなどのユーティリティによって報告されるSSDの総サイズ以下である必要があります。

1. WindowsでC:パーティションを縮小するには、最初にコマンドプロンプトウィンドウを開き、diskmgmt.mscを実行してWindowsディスク管理ユーティリティを開きます。これを使用してボリュームを縮小します(Windowsがディスクの先頭の2番目のパーティションにインストールされており、システム予約パーティションの後にC:ドライブレターが割り当てられていると仮定します)サイズを最小にするために。

このステップでは、最小限にするために C: ドライブのサイズを減らすために、ライブLinux ISOから実行される Gparted などの他のパーティションツールを自由に使用してください。

2. C: パーティションのサイズを減らしたら、SSDドライブをマザーボードに接続して、マシンをClonezillaユーティリティに再起動します(Clonezilla ISOイメージまたは Parted Magic ISO を使用)、Bashシェルインターフェースに入り、以下のコマンドを使用して両方のディスクのパーティションテーブルとサイズを確認します。

# fdisk -l /dev/sda
fdisk -l /dev/sdb

最初のディスクはsda、2番目のディスクはsdb、その次はそのようになりますので、ドライブ名に注意してください。間違ったデバイスをクローンして全データを破壊しないように、慎重にディスクを選択してください。

正しいディスクソース(この場合はHDD)とディスク宛先ターゲット(SSD)を一致させるためには、fdiskコマンドによって報告されたサイズとパーティションテーブルを使用します。Fdiskの出力は、SSDのサイズがあなたのHDDディスクよりも小さいべきであり、デフォルトではパーティションテーブルが作成されていないべきであることを示します。

GPTディスクの場合、HDDパーティションテーブルは以下のスクリーンショットのようになっている必要があります。

$ su -
fdisk -l /dev/sda
fdisk -l /dev/sdb

ステップ2: Clonezillaを使用してディスクをクローンする

3. 次に、HDDからSSDターゲットディスクにMBR(ステージ1ブートローダー + パーティションテーブル)を次のコマンドのいずれかを使用してクローンします(sdaがWindows OSがインストールされているドライブ、sdbがSSDディスクを示していると仮定します)。

# dd if=/dev/sda of=/dev/sdb bs=512 count=1
or
sfdisk -d /dev/sda | sfdisk -f /dev/sdb

GPT パーティションスタイルの場合、最初の 2048 バイトをクローンする必要があります。

# dd if=/dev/sda of=/dev/sdb bs=2048 count=1

sgdiskユーティリティを使用することもできます。sdaからsdbにパーティションテーブルをコピーする場合、sgdiskを使用する際にはディスクの順序を逆にする必要があることに注意してください。

# sgdisk -R /dev/sdb /dev/sda

MBR/GPTをクローンした後、再度fdiskコマンドを実行し、-lフラグを使って、両方のディスクのパーティションテーブルが一致しているか確認します。

# fdisk -l /dev/sda
fdisk -l /dev/sdb

4. 現在、両方のドライブは正確なパーティションテーブルを持っているはずです。ターゲットディスクでは、Windowsパーティションの後にあるすべてのパーティションを削除して、システム予約とWindowsに必要なエントリだけのクリーンなパーティションテーブルから始めます。

古いドライブからは、D:(またはWindowsに従う他のパーティション)からデータをクローンしません。基本的に、古いHDDから最初の2つのパーティションのみをクローンしています。その後、残されたこの未割り当てのスペースを使用して、SSDの未使用スペースを取り込むことでC:パーティションを拡張します。

fdisk ユーティリティを使用して、以下の手順でパーティションを削除してください。まず、ターゲットの SSD ドライブ (/dev/sdb この場合) に対してコマンドを実行し、p キーを押してパーティションテーブルを表示し、d キーを押してパーティションの削除を開始し、プロンプトから最後のパーティション番号 (この場合は三番目のパーティション) を選択します。以下のスクリーンショットに示す通りです。

# fdisk /dev/sdb

Windowsパーティションの後に複数のパーティションがある場合は、それらすべてを削除してください。不要なパーティションをすべて削除したら、再度pキーを押してパーティションテーブルを表示してください。そして、現在、必要なWindowsパーティションだけがリストに表示されている場合は、wキーを押してすべての変更を適用しても安全です。

最終パーティションを削除するための同じ手順は、GPTディスクにも適用されますが、ディスクレイアウトを操作するのに直感的に使えるcgdiskユーティリティを使用すべきだという点を挙げておきます。

GPTディスクの最後にバックアップされたパーティションテーブルを破壊することを心配しないでください。cgdiskは両方のパーティションテーブルに適切な変更を加え、ディスクの最後に新しいディスクレイアウトテーブルを自動的に保存します。

# cgdisk /dev/sdb

そして、最後の4.9GBのパーティションが削除された最終的なGPTディスクレポート。

5. すべてが整ったら、Clonezillaユーティリティを起動し、デバイス間モードを選択し、初心者ウィザードから実行して、パートからローカルパートへのクローンオプションを選択します。

下記のスクリーンショットをガイドとして使用してください。

6. リストから最初のローカルパーティション(sda1 – システム予約)をソースとして選択し、Enter キーを押して続行します。

7. 次に、ローカルターゲットパーティションを選択します。これは第二のディスクからの最初のパーティション、(/dev/sdb1) です。続行するにはEnterキーを押してください。

8. 次の画面で ファイルシステムのチェック/修復をスキップ を選択し、再度 Enter キーを押して続行します。

9. 最後に、Enterキーをもう一度押して続行し、警告を受け入れるためにはい (y) を2回答えて、クローン処理を開始します。

10. 最初のパーティションのクローン作成プロセスが完了したら、コマンドラインプロンプトに入るオプションを選択し、clonezillaを実行して次のパーティション(ソース sda2 – ターゲット sdb2 など)について同じ手順を繰り返します。

11. すべてのWindowsパーティションがクローンされたら、システムを再起動し、HDDドライブを物理的に抜くか、もしくはBIOS設定を変更して、古いHDDではなくSSDをプライマリブートドライブとして設定します。

ステップ3: Windowsパーティションのサイズを変更する

12. LinuxからWindowsのパーティションを拡張するために、Gpartedユーティリティを実行してパーティションの健全性を確認することができます。または、Windowsにブートしてディスク管理ユーティリティを使用してこの作業を行うこともできます。以下のスクリーンショットは、両方のユーティリティの使い方を示しています。

Gparted Live CDを使用してパーティションを拡張する

Windowsから直接Windowsディスク管理ツールを使用してパーティションを拡張します。

それで全部です! C: パーティションはあなたのSSDの最大サイズに拡張され、Windowsは新しいSSDの最大速度で動作できるようになりました。古いHDDはすべてのデータがそのまま残っています。

マザーボードから物理的に取り外した場合は、再度ハードディスクを接続して使用してください。古いHDDからシステム予約パーティションとWindowsパーティションを削除し、これら二つの代わりに新しいパーティションを作成することができます。他の古いパーティション(D:、E:など)はそのまま残ります。

結論

Clonezillaを使用すると、パーティションのイメージを作成し、それを外部HDDまたはネットワーク位置に保存することもできます。この場合、次のコマンドのいずれかを使用してHDDのMBR/GPTをバックアップし、MBRイメージをClonezillaイメージが保存されているのと同じディレクトリに保存する必要があります。

MBRのバックアップをファイルに保存する:

# dd if=/dev/sda of=/path/to/MBR.img bs=512 count=1
or
sfdisk -d /dev/sda > =/path/to/sda.MBR.txt

GPTをファイルにバックアップする:

# dd if=/dev/sda of=/path/to/GPT.img bs=2048 count=1
or
sgdisk --backup=/path/to/sda.MBR.txt /dev/sda

ネットワークの場所からの将来のWindowsシステムの復元のために、最初に上記の保存されたイメージを使用してMBRセクターを復元し、次に各Clonezillaパーティションイメージを一つずつ復元します。

ファイルからのMBRイメージの復元:

# dd if=/path/to/MBR.img of=/dev/sda bs=512 count=1
or
sfdisk /dev/sda < =/path/to/sda.MBR.txt

ファイルからのGPT画像復元:

# dd if=/path/to/GPT.img of=/dev/sda bs=2048 count=1
sgdisk - -load-backup=/path/to/sda.MBR.txt /dev/sda

関連記事: Clonezillaを使用してLinuxディスクをクローンまたはバックアップする方法

この方法は、BIOSマザーボードやレガシーモード(CSM)からインストールされたWindowsやUEFIから直接インストールされたUEFIマシンにおいて、エラーやデータ損失なしで複数回使用されています。

関連記事: