« Simple Vhd Manager 1.3 日本語化用ファイル | トップページ | 2019年 »

2018年12月 8日 (土)

EFI/GPTベースのWindowsシステムの手動ディスククローン手順

先日はデスクトップPCでSSDにOSをクリーンインストールしたが、その後にノートPCでOSをHDD 1TBからSSD 512GBへ移行させた。
その際にディスクを丸ごとクローン作成して移行しようとしたが、無料で利用できるディスククローンツールやパーティション操作ツールではEFI/GPTベースの起動ディスクのクローンには対応しているものがなかった。
また個別にパーティションをクローンコピーしてもGPTディスクのパーティションの各種属性情報を引き継がない為、OSを起動することができなかった。(このせいで後で非常に苦労した)
大体は有料版でGPTディスクのクローンに対応可能となっているが、何とか手動でクローンを作成しようとして苦労したけど次回同じことをするときはきっと詳細は忘れていると思うので備忘録として記事を作成。

今回の作業ではパーティション構成はマイクロソフト推奨の構成とする。
20181208_192845

ただし元のディスクをバックアップとして残すので回復パーティション(上図のRecovery)は作成しない。
EFI、MSR、OS領域の3パーティション構成とする。

以下はWindows10上で実施する作業工程。

 

コマンドプロンプトを起動する。
diskpartを立ち上げlist diskで現状のディスク接続状態を確認する。

DISKPART> list disk

ディスク      状態         サイズ   空き   ダイナ GPT
###                                 ミック
------------  -------------  -------  -------  ---  ---
ディスク 0     オンライン      476 GB   5120 KB     *

交換用に準備したHDD(SSD)を外付けケースを用いて交換対象PCにUSB接続する。
list diskで接続されたHDD(SSD)のディスク番号を確認する。
通常であればディスクは一番最後に追加される。
今回の場合はディスク 1となっている。

DISKPART> list disk

ディスク      状態         サイズ   空き   ダイナ GPT
###                                 ミック
------------  -------------  -------  -------  ---  ---
ディスク 0     オンライン      476 GB   5120 KB     *
ディスク 1     オンライン      950 GB    950 GB

select diskでUSB接続したHDD(SSD)へ移動する。
ディスク番号は先程確認した番号を指定する。(ここではディスク番号1)
DISKPART> select disk 1

ディスク 1 が選択されました。

DISKPART>

USB接続したクローン先のディスクをGPTにコンバートする。

DISKPART> convert gpt

DiskPart は選択されたディスクを GPT フォーマットに正常に変換しました。

DISKPART>

ディスクの先頭にEFIパーティションを作成する。
サイズはMB指定、環境によって必要サイズは異なるがここでは100MBを確保する。(私の環境では40MB程度使用していた)
パーティション作成後はfat32でフォーマットしておく。

DISKPART> create partition EFI size=100

DiskPart は指定したパーティションの作成に成功しました。

DISKPART> list part

Partition ###    Type             Size      Offset
-------------  ------------------  -------   -------
* Partition 1     システム           100 MB   1024 KB

DISKPART> format quick fs=fat32

100% 完了しました

DiskPart は、ボリュームのフォーマットを完了しました。

DISKPART>

続いてMSRパーティションを作成。
サイズはMB指定、128MBを確保する設定にする。(元PCのデフォルト状態で128MB確保されていた)

DISKPART> create partition msr size=128

DiskPart は指定したパーティションの作成に成功しました。

DISKPART>

ここまで実施したらOS領域のパーティションをパーティション操作ツールでコピーする。
コピー先のパーティションのボリュームラベルlは後で”OS”等の適当な名前に変えておく。
下の図はAomei Partition Assistant Standardを使用した作業イメージ図。
ドライブ番号やディスク容量は異なっている。
20181208_190636 パーティションコピー終了
20181208_195729

パーティションのコピーが終わったら作業PCをシャットダウンして交換用HDD(SSD)と入れ替える。
あらかじめ作成しておいた回復ドライブでPCを立ち上げ、トラブルシューティングシューティング-詳細オプション-コマンド プロンプトを選択しプロンプトを立ち上げる。

OSインストールメディアからの場合は、初期画面でShiiftキーとF10キーの同時押しでプロンプトを立ち上げる。
1

ShiiftキーとF10キーの同時押し
2

コマンドラインからdiskpartを立ち上げてdisk 0を選択後にEFIパーティション(パーティション1)にドライブ番号を割り振る。
ドライブ番号は未使用の番号を割り振ること。
ここでは例としてLを割り振っている。
OS領域のパーティションはこの時点でCが割り当てられている。

DISKPART> select disk 0

ディスク 0 が選択されました。

DISKPART> select part 1

パーティション 1 が選択されました。

DISKPART> assign letter=L

DiskPart はドライブ文字またはマウント ポイントを正常に割り当てました。

DISKPART>

ドライブレターを割り振ったらDiskPartを終了し、bcdbootコマンドでEFIパーティションにブートファイルを再構築する。

DISKPART>exit

DiskPart を終了しています...

X:\Sources>bcdboot C:\Windows /s L: /f UEFI
ブート ファイルは正常に作成されました。

X:\Sources>

3

ここまで終了したらWindowsが起動できるようになったのでインストールメディアを取り外しHDD(SSD)から起動して正常に動作することを確認する。

以上

2024/01/24追記:
新規での回復パーティション作成の備忘録

1.WindowsのISOファイルをマウントして回復パーティション用のイメージファイルを取り出す
以下はEドライブにISOファイルをマウントした場合の例。
管理者権限でコマンドプロンプトを立ち上げ以下のコマンドを実行。

1.1install.esdファイルに含まれるエディションを確認する
c:\tmp>Dism /Get-wiminfo /wimfile:"E:\sources\install.esd"

Deployment Image Servicing and Management tool
Version: 10.0.19041.3636

Details for image : E:\sources\install.esd

Index : 1
Name : Windows 10 Home
Description : Windows 10 Home
Size : 15,723,293,680 bytes

Index : 2
Name : Windows 10 Education
Description : Windows 10 Education
Size : 16,070,767,260 bytes

Index : 3
Name : Windows 10 Pro
Description : Windows 10 Pro
Size : 16,065,427,911 bytes

The operation completed successfully.

*32bit/64bit共用版はx86又はx64ディレクトリ配下になる。
c:\tmp>Dism /Get-wiminfo /wimfile:"E:\x64\sources\install.esd"

展開イメージのサービスと管理ツール
バージョン: 10.0.19041.3636

イメージの詳細: E:\x64\sources\install.esd

インデックス: 1
名前: Windows 10 Home
説明: Windows 10 Home
サイズ: 15,539,072,865 バイト

インデックス: 2
名前: Windows 10 Education
説明: Windows 10 Education
サイズ: 15,883,789,822 バイト

インデックス: 3
名前: Windows 10 Pro
説明: Windows 10 Pro
サイズ: 15,880,797,481 バイト

操作は正常に完了しました。

c:\tmp>

*実行結果の表示の違いはコマンドプロンプトが英語環境か日本語環境の違い。

1.2自分のOSのエディションのイメージファイルを取り出す。
例:Windows 10 proの場合

c:\tmp>DISM /export-image /SourceImageFile:E:\sources\install.esd /SourceIndex:3 /DestinationImageFile:c:\tmp\install.wim /Compress:max /CheckIntegrity

Deployment Image Servicing and Management tool
Version: 10.0.19041.3685

Exporting image
[==========================100.0%==========================]
The operation completed successfully.

C:\tmp>Dism /Get-wiminfo /wimfile:C:\tmp\install.wim

Deployment Image Servicing and Management tool
Version: 10.0.19041.3636

Details for image : install.wim

Index : 1
Name : Windows 10 Pro
Description : Windows 10 Pro
Size : 16,065,427,911 bytes

The operation completed successfully.

c:\Tmp>


2.DISKPARTから回復パーティション作成
空き領域が必要なのでパーティション操作で必要分を事前に確保する。(今回は省略)
上記でマウントしたイメージデータ+α位の容量を用意。
以下ではメインディスク上に3GB確保しTドライブとしてマウントする例。

2.1コマンドラインからパーティション作成
c:\tmp>diskpart

Microsoft DiskPart version 10.0.19041.3636

Copyright (C) Microsoft Corporation.
On computer: MyPrivate-PC

DISKPART>select disk 0
DISKPART>create partition primary size=3072
DISKPART>format quick fs=ntfs label="Recovery tools"
DISKPART>assign letter=T
DISKPART>set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
DISKPART>gpt attributes=0x8000000000000001
DISKPART>

*list partitionコマンドでパーティション番号を確認して移動。
通常はシステム/予約/プライマリが存在しているので4番目になる。
DISKPART> list partition

Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 System 85 MB 1024 KB
Partition 2 Reserved 16 MB 86 MB
Partition 3 Primary 476 GB 109 MB
Partition 4 Recovery 802 MB 476 GB


DISKPART>select partition 4
DISKPART>assign letter=T
DISKPART>exit

Leaving DiskPart...

C:\tmp>

2.1作成した回復パーティションにフォルダを作成してファイルをコピーする

mkdir T:\Recovery\WindowsRE
xcopy /h C:\tmp\install.wim T:\Recovery\WindowsRE\install.wim


3.作成した回復パーティションをWindowsOSに登録する

3.1無効化
c:\Tmp>reagentc /disable
REAGENTC.EXE: Operation Successful.

3.2登録
c:\Tmp> reagentc /setreimage /path T:\Recovery\WindowsRE /target C:\Windows
Directory set to: \\?\GLOBALROOT\device\harddisk0\partition4\Recovery\WindowsRE

REAGENTC.EXE: Operation Successful.

3.3有効化
c:\Tmp>reagentc /enable
REAGENTC.EXE: Operation Successful.

3.4登録内容の確認
c:\Tmp>reagentc /info
Windows Recovery Environment (Windows RE) and system reset configuration
Information:

Windows RE status: Enabled
Windows RE location: \\?\GLOBALROOT\device\harddisk0\partition4\Recovery\WindowsRE
Boot Configuration Data (BCD) identifier: 3ced9aea-3809-11e9-b384-c758311b2417
Recovery image location:
Recovery image index: 0
Custom image location:
Custom image index: 0

REAGENTC.EXE: Operation Successful.


c:\Tmp>

 

|

« Simple Vhd Manager 1.3 日本語化用ファイル | トップページ | 2019年 »

パソコン・インターネット」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事

趣味」カテゴリの記事

雑記」カテゴリの記事

パソコン周辺機器」カテゴリの記事

コメント

VMWareの固定容量のサイズを減少させるのにいろいろな方法を試しましたがどれもうまくいかず、最終的にこの方法で成功しました!
助かりました(^^♪

投稿: TEL | 2023年6月28日 (水) 07:41

コメントどうもです。

VMWare上にWindowsをインストールされていたのでしょうか?
まあ役に立って何よりです。

投稿: rikuzen | 2023年6月29日 (木) 00:15

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: EFI/GPTベースのWindowsシステムの手動ディスククローン手順:

« Simple Vhd Manager 1.3 日本語化用ファイル | トップページ | 2019年 »