目次
検証環境
- Windows 10 Pro 64bit (22H2) → Windows 11 Pro (23H2)
※新PC→旧PC
※旧PCのWindowsはSATAのSSD - Windows 11 Pro (24H2) → Windows 11 Pro (24H2) (2025/2/27追記)
※新PC→旧PC
※旧PCのWindowsはNVMeのSSD - Disk2vhd v2.02
- VirtualBox 7.0.4
- 裸族のお立ち台 USB3.1 Gen2 Type-C (CROSU31C)
なぜそうしたいのか?
旧PCのWindows環境から新PCのWindows環境に設定を移す際、アプリが起動できる状態じゃないと移行が面倒な設定があり、その時に役立つ事があるから
そういう設定に限って半年ぐらい経った後で気付き、その時には旧PCのWindowsが動く環境が無い…という事がよくある
ディスクイメージファイル(.vhd)を作成
方法①:旧PCで作成
旧PCが起動できる環境が有る場合の方法です
旧PCにDisk2vhdをインストール
ダウンロードした「Disk2vhd.zip」ファイルを解凍、適当な場所に置き
「disk2vhd64.exe」をダブルクリックでDisk2vhdを起動できます

Disk2vhdでディスクイメージファイル(.VHD)作成
あらかじめ、なるべく他のアプリを終了しておきます
Disk2vhdが起動したら、余計な部分のドライブのチェックを外します(以下ではDとEドライブのチェックを外しています)
だいたい上の変な名前の所とCドライブにチェックが入っていればOKです

右上の「Use Vhdx」のチェックボックスを外します
ファイル名&保存先フォルダを指定し、「Create」ボタンを押します
ここではDドライブを保存先にしてます
念のため言いますが、読み込み元と同じドライブ(ここではCドライブ)や、容量が少ないドライブは保存先に指定してはいけません
心配なら別途で容量があるUSB-HDDを接続して、そちらを保存先にすると良いでしょう

作成にはそれなりに時間がかかります(1~2時間?)
この間、なるべく操作をしない様にします
終わるとディスクイメージファイル(.VHD)ファイルが作られます
これをVirtualBoxでお使いください

方法②:新PCで作成、旧PCから取り出したSSD・HDDをUSB接続
旧PCが起動できる環境が無い場合の方法です
旧PCのドライブが新PCのドライブと混ざって見えてしまうため、ちょっと難易度が高くなります
旧PCからWindowsが入ったSSD・HDDを取り出し「裸族のお立ち台」等の機器に差し込み、
新PCにUSB接続して作成します
新PCにDisk2vhdをインストール、新PCのSSD・HDDの内容確認
ダウンロードした「Disk2vhd.zip」ファイルを解凍、適当な場所に置き
disk2vhd64.exe」をダブルクリックでDisk2vhdを起動できます

Disk2vhdが起動したら、Volume内容をスクリーンショットで撮っておく
この内容が、今使っている新PCのVolume(ドライブ?パーティション?)なので
後ほどディスクイメージファイルの対象から外すのに見る事となります

スクリーンショットを撮ったら、一旦Disk2vhdを閉じます
旧PCのSSD・HDDを、新PCに「裸族のお立ち台」でUSB接続
旧PCからWindowsが入ったSSD・HDDを取り出し
「裸族のお立ち台」に差し込み、新PCにUSB接続する


※私の環境ではFドライブとして認識しました
Windowsボタンを右クリック→ディスクの管理
でディスクの状況を見ることが出来ます

私のはこんな感じでした
Windows8→8.1→10とアップグレードしてきたPCだからか、謎パーティションが多めです

Disk2vhdでディスクイメージファイル(.VHD)作成
「disk2vhd64.exe」をダブルクリックして起動します
ディスクイメージの対象から、今使っている新PCのVolume(ドライブ?パーティション?)を除外します
※最初にDisk2vhdを起動した時に撮ったスクリーンショットを見ながら参考に…

次に、旧PCのWindowsが入ったSSDの中から
「EFI システム パーティション」と「ベーシックデータパーティション」だけを選択します
※回復パーティションを対象外にしたのは、この環境でWindowsを出荷時の状態に戻す事は無いからです

分かりづらいですが「ディスクの管理」を見ながら当たりをつけて除外します
※何故か「EFI システム パーティション」がディスクの管理だと「100MB」Disk2vhdだと「96.00MB」とブレがあるのがアレですが、頑張って当たりを付けてください

右上の「Use Vhdx」のチェックボックスを外します

ファイル名&保存先フォルダを指定し、「Create」ボタンを押します
ここではDドライブを保存先にしてます
念のため言いますが、読み込み元と同じドライブ(ここではFドライブ)や、容量が少ないドライブは保存先に指定してはいけません
心配なら別途で容量があるUSB-HDDを接続して、そちらを保存先にすると良いでしょう

作成にはそれなりに時間がかかります(1~2時間?)
終わるとディスクイメージファイル(.VHD)ファイルが作られます
これをVirtualBoxでお使いください

VirtualBox設定例
VirtualBoxの使い方については割愛します
参考までに設定例のスクリーンショットを張っておきます
特にした方がよい設定はコメント入れときます

「メインメモリー」はできれば8192MB、下でも6144MBぐらい(実際のメモリ容量の余裕分で調整)
「チップセット」を「ICH9」
「TPM」をWindows11の場合は「v2.0」、Windows10なら「なし」
「EFIを有効化(一部OSのみ)」をオン
「セキュアブートを有効化」をWindows11の場合はオン、Windows10ならオフ

プロセッサー数は2以上、できれば4ぐらい(実際のCPUのコア数の余裕分によって調整)
「PAE/NXを有効化」をなるべくオン(オフでも可)

「準仮想化インターフェース」を「Hyper-V」
「仮想化支援機能」の「ネステッドページングを有効化」をなるべくオン(オフでも可)

「拡張機能」の「3Dアクセラレーションを有効化」をなるべくオン(オフでも可)

VHDファイルの吸い出し元のストレージがSATAでもNVMeでも、ここで設定する「コントローラー」は「SATA」を使う


「割り当て」を「ブリッジアダプター」にする
こうしないと、ホスト(実機PC)からのネットワークでこのゲスト(仮想PC)が見えない

Windowsが入ったストレージが M.2 SSD NVMe の場合
「コントローラー」は「SATA」を使う
「NVMe」を指定するかと思いきや、こちらでは起動しなかった

NVMeの個体差があるかもしれないので
念のため「CrystalDiskInfo」「Disk2vhd」のスクショを張る


とても古いPCの場合(BIOS/MBRベースのWindows環境)
今の新しいバージョンのVirtualBoxでやった事が無いので、こうだろうな…というのをメモ
今回の件では当てはまりませんし、旧PCであっても今時こんな環境はほぼ無いのですが
一応、超古いPCをディスクイメージファイル化した場合の事も雑解説しておきます
ここで言う超古いPCとは、13~15年前ぐらい前のPCとかWindows7・XPのPCとか?
Windowsの起動がUEFIブートではなくBIOSブートの場合、以下の様に「EFIを有効化」オンになっていると起動しないので、オフにする

Windowsが入ったHDDがSATAではなくIDEだった場合、以下のように「コントローラー: SATA」だと起動しないので、その時はコントローラーにIDEを使います

トラブルシューティング
VirtualBoxをバージョンアップしたら仮想環境のWindowsが起動しなくなった
真っ暗な画面、乱れた画面で止まる等の場合
仮想環境のWindowsにインストールした古いバージョンの「Guest Additions」が原因の場合が多いです
まずは「ディスプレイ」の設定の「拡張機能」の「3Dアクセラレーションを有効化」をオフにして起動してみる

これでダメなら、セーフモードでの起動を試してみる
仮想環境のWindows電源投入直後に「F8」ボタン連打で「おまちください」と出れば成功
後から出るメニューをゴニョゴニョしてセーフモードを起動(この辺はググってください)
仮想環境のWindowsが無事起動出来たら、古い「Guest Additions」をアンインストールします
トラックバック URL
https://moondoldo.com/wordpress/wp-trackback.php?p=10016