そもそもシステムディスクを複製するのは「Windowsの環境がちょっとでも変わるとイヤ」という超保守派のための大変ニッチな方法であって、あなたがもしOS再インストールしても元の状態に戻せる自信があるなら、そんな面倒なことをせず、新マシンに新規OSインストールした方がよろしい。その方がレジストリや不要ファイルや潜在的なコンフリクトとかが削除されてOSとしても安定するから。
と前置きしつつ目次。
まず確認すべきは、利用しているWindowsのライセンス。 コマンド "slmgr -dli" を実行すると、「説明」項に表示される。大きく三つに分類される。
同じPC上でHDD/SSDを別のものに換装する場合、RETAILなら確実、OEMなら概ね大丈夫、VOLUMEだと変更できない。ライセンスに問題がある場合、次のOS起動時にライセンス入力が求められる。ライセンス入力しないと、Windowsは起動するが機能が大幅に制限される。その場合は別途Windowsライセンス買ってきて入力すれば、また普通に使えるようになる。
そのPCで使用している3rdパーティ製品によっては、そのPC(多くはマザーボード)に紐づけられたライセンス管理をしているものがある。例えばWAVES、Cubaseなどの音楽系のツール群など。これらは製品ごとに移行方法が異なるため、それぞれ確認する必要がある。
例えば、WAVESはPCに紐づいており、ライセンス移行処理せずに新しいPC上で動作させると、「ライセンスないよ」と表示されて使用できない。以前のPC上でライセンス削除→新PC上でライセンス導入すれば使えるようになる。しかし、例えば以前のPCを廃棄した後だとライセンス削除できないため、ライセンス再購入しなければならなくなる。実際にはWAVESにはそういうケースでの救済手段があるが、「その後一年間はライセンス移行できない」など厳しい制限がつく。
とはいえ実際には、CPU/メモリ/HDD/SSDの変更だけではライセンス問題になることは殆どない。全然別の(マザーボードが異なる)PCに移行して動作させようとすると問題になることが多い。
まずは、なにはともあれバックアップを取得することを強くお勧めする。その際、ファイルを一つずつバックアップするのではなく、C:ドライブ全てを一括バックアップすること。具体的には、「Windows7互換のフルバックアップ」を取得する。
[コントロールパネル]→[バックアップと復元(Windows7)]→[システムイメージの作成]
これで、途中で何があっても元に戻せる保証ができる。バックアップサイズは「C:ドライブの使用中領域」分必要なことに留意。
どうしてもそんな空き容量が用意できない場合は、代わりに拙作DiskCloneを使うと、こっちのサイズは(ZIP圧縮するので)更にその半分くらいになる。
不要ファイルがそんなに多くない場合は、特に削除する必要はない。しかし、 不要ファイルを削除しておくと、システムディスクを複製する時にコピーが必要なファイル量が少なくなり、効率的に複製できるので、これを機会に掃除しておくことをお勧めする。
どんなファイルが不要かを判断するのは少し難易度が高い。以下に説明を記すので、これを参考に、不要ファイルを確認し、不要と判断したら削除する。バックアップがあるので、誤って削除しても、上でバックアップは取得しているはずだから、最悪バックアップから戻せば良い。
[設定]→[プライバシーとセキュリティ]→[閲覧履歴データを削除]
Chromeの場合、実際のデータは C:/Users/ユーザ名/AppData/Local/Google/Chrome/User Data/Default/ 以下の *Cache*フォルダ以下に存在する。Service Worker\CacheStorage\ 以下は大きいが、ここはどうにもならんので諦めること。消す情報もあるにはある。
iTunes→[編集]→[環境設定]→[デバイス]
実際のデータは、C:/Users/ユーザ名/AppData/Roaming/Apple Computer/MobileSync/Backup 以下に格納されている。
DriverStoreは実際には C:/Windows/System32/FileRepository/DriverStore 以下に格納されている。
セーフモードで実行する必要がある、など制約は多いが、特にグラフィックカード変更を伴うPC移行の場合、実行をお勧めする。
方法は、エクスプローラ上でC:ドライブを選択して、上の三点から「クリーンアップ」→[システムファイルのクリーンアップ]→[その他のオプション] で、[システムの復元とシャドウコピー] の [クリーンアップ] を実行。これで最新の復元ポイント以外は消える。 最新の復元ポイント含め全部消したいなら、PC→プロパティ→[システムの保護]→[保護設定] から ドライブを選択→[構成[→[削除]。
BitLockerはドライブを暗号化する技術。BitLockerが適用されたHDD/SSDは、外して別のPC上で中のファイルを読み込もうとしても読み込めない。 普通にWindowsを使用している分には問題ないが、今回のようにHDD/SSDを外して云々する場合に、システムディスク内のファイルにアクセスできないと複製に失敗するなど問題になることが多い。 そのため、システムディスク複製前に、システムディスクのBitLockerを一度無効化することを強くお勧めする。無効化に必要な回復キーはMSアカウントに保存されているので、MSアカウントにログインして確認するよろし。
本来BitLockerはユーザが有効化しないと適用されないはずなのだが、MSの陰謀で知らぬうちにBitLocerが有効になっていることがある模様。BitLockerが無効かどうかは、例えばエクスプローラ上でC:ドライブ選択して右クリックメニューに「BitLocerを有効にする」が出てくるかどうかで確認できる。
殆どおまじないではあるが、MSからWindowsのOSファイルの整合性チェックと修復のツールが提供されている。それがdismとsfc。管理者権限でコマンドラインを起動し、以下の二行を逐次実行する。最近のマシンでも10分くらいかかる。念のため、この後は一度OSを再起動して、正常起動を確認することをお勧めする。
sfc /scannow dism /online /cleanup-image /restorehealth |
何故だかは不明だが、結構な頻度で「ファイル壊れてたので直した」というメッセージが表示されるので、何もなくても年一くらいで実行するのが無難かもしれない気がするようなカンジ…?
複製中にエラーとなるのを防ぐため、複製するドライブの整合性を予め確認しておく。 管理者権限でコマンドラインを起動し、以下を実行する。
chkdsk /f c: |
C:ドライブに実行すると「今実行できないから次回OS起動時にチェックする?」と聞かれるのでYと入力すると、次回OS起動時に結構な時間をかけてチェックしてくれる。最近は(SSDだし)ファイルシステムが破損するようなことは滅多にないが、これも年一くらいで実行しておく方がよいかもしれないと思わなくもない。
PCを移行あるいはハードウェアを変更する場合、移行/変更後に必要になるドライバファイルを予め取得し、インストールもしくはC:ドライブやUSBメモリ上に配置しておく。 特に以下の三つについては、PC移行前に調査し、用意しておくことをお勧めする。
例えば、ネットワークドライバがなければPC移行後にネットワーク経由でドライバをインストールすることはできないし、ストレージドライバがなければそもそも起動すらできない。最悪でも移行後にOSが起動し、ネットワークだけは繋がるようにしておくこと。
今時MBR(というかMS-DOSパーティションテーブル)を使っている人はそうそう居ないと思うが、念のため確認しておく。コマンドラインを起動し、以下を実行する。
diskpart DISKPART> list disk |
ディスク0(通常C:ドライブ)の [GPT] 項に "*" がマークされていることを確認する。マークされていれば、C:はGPTであり、何もする必要はない。実際の出力は以下。
C:\Windows\System32>diskpart Microsoft DiskPart バージョン 10.0.26100.1150 Copyright (C) Microsoft Corporation. コンピューター: MY-PC DISKPART> list disk ディスク 状態 サイズ 空き ダイナ GPT ### ミック ------------ ------------- ------- ------- --- --- ディスク 0 オンライン 1863 GB 2048 KB * ← これ ディスク 1 メディアなし 0 B 0 B ディスク 2 メディアなし 0 B 0 B ディスク 3 メディアなし 0 B 0 B DISKPART> |
コマンドラインから確認するのが難しいのであれば、 コントロールパネル→[Windowsツール]→[コンピューターの管理]→[ディスクの管理] から、ディスク0 を選択して右クリックメニュー→[プロパティ]→[ボリューム]タブから、"パーティションのスタイル" 項を見ると、GPT かどうかが判る。
MBR(MS-DOS) だった場合、可能な限り GPT に変換することをお勧めする。何か起動障害が起った時の回復が、楽かつ確実になるため。 変換するには MBR2GPT というコマンドを使用する。詳細は他のページなどを参照されたし。実際にはMBR2GPTは「MBR→GPT変換」「BIOS→EFIブート変更」の二つを実行するので、次のOS再起動時にBIOS上でEFIブート有効化の手順が必要になることに注意。
システムディスクの複製ツールによっては、予想しないパーティションが存在するとエラーになったり停止したりすることがある。これを防ぐため、予め複製するシステムディスク上のパーティションを確認する。以下のようなコマンドで確認できる。
diskpart DISKPART> select disk 0 DISKPART> list partition |
実際の出力は以下の通り。ここで示すように、通常は「システム」「予約済み」「プライマリ」「回復」の4つのタイプのみ存在するはず。この他のタイプが存在するなら、複製ツール作成元にそれが複製可能か確認することをお勧めする。
C:\Windows\System32>diskpart Microsoft DiskPart バージョン 10.0.26100.1150 Copyright (C) Microsoft Corporation. コンピューター: MY-PC DISKPART> list disk ディスク 状態 サイズ 空き ダイナ GPT ### ミック ------------ ------------- ------- ------- --- --- ディスク 0 オンライン 1863 GB 2048 KB * ディスク 1 メディアなし 0 B 0 B ディスク 2 メディアなし 0 B 0 B ディスク 3 メディアなし 0 B 0 B DISKPART> select disk 0 ディスク 0 が選択されました。 DISKPART> list partition Partition ### Type Size Offset ------------- ------------------ ------- ------- Partition 1 システム 100 MB 1024 KB Partition 2 予約済み 16 MB 101 MB Partition 3 プライマリ 1861 GB 117 MB Partition 4 回復 1000 MB 1862 GB DISKPART> |
…を説明しようと思ってたんだけど、複製ツールによって全然違うから省略。 最近は複製ツールが有償になりつつあって、フリーでは難しくなってきてるのが残念。 自身は拙作DiskCloneを使っている。非常に便利だけど、一見さんには敷居が高いのが難点。