2020/07/16

VHD Boot を Hyper-V 仮想マシンに移行した

BIOS/MBR ベースだったけど、第 2 世代仮想マシン(UEFI/GPT)にしてみる。

テスト用 AD DS のドメインコントローラーを VHD ネイティブブート環境で置いといた古いノート PC のオンボード GPU が死亡。このノートの宿命的な問題で今回で 2 回目。前回はマザーボードだけ中古の勝手やしすごしたけど、もうお金はかけられない。現在は、RDP でしか接続できない状態。物理環境には Windows 8.1(今年初めまでは Windows 7 もあったけど削除したやつ)。ブートする OSを切り替えるのが面倒(その都度、bcdedit /default ・・・)なので、VHD ネイティブブート環境の VHD(x) を Hyper-V 仮想マシンに割り当てて仮想マシンに移行することにした。


ノート PC から HDD を引っこ抜いて、USB で接続して、VHD ネイティブブート用の VHDX ファイル(この中身は C:ドライブの 1 パーティションのみ)を移行先の Hyper-V 環境にコピー。(USB ディスクやネットワーク経由でコピーしてもよかったんですけど、2 回コピーは時間がかかるから引っこ抜いて 1回で済ます。)

第 2 世代仮想マシンを新規インストールし、OS ディスクとして 1GB の VHDX ファイルを新規作成して割り当て。2 つ目のディスクとしてコピーしてきた VHD ネイティブ ブート用の VHDX ファイルを割り当て。

Windows 10 のインストールメディアで「Windows セットアップ」を起動して、最初の画面で[Shift]+「F10」キーを押してコマンドプロンプトを開く。以下のコマンドラインを実行してブート環境を構成

UEFI/GPT の場合(OS 用のプライマリパーティションは既にあるし、仮想マシンだから回復パーティションは不要とした)。参考 → UEFI/GPT-based hard drive partitions


X:\Sources> diskpart
DISKPART> select disk 0
DISKPART> clean
DISKPART> convert gpt
DISKPART> create partition efi size=100
DISKPART> format quick fs=fat32 label="System"
DISKPART> assign letter="S"
DISKPART> create partition msr size=16 
DISKPART> exit
X:\Sources> bcdboot C:\Windows /l ja-jp /s S:
X:\Sources> wpeutil shutdown

BIOS/MBR でやりたいなら...

X:\Sources> diskpart
DISKPART> select disk 0
DISKPART> clean

DISKPART> create partition primary size=100
DISKPART> format quick fs=ntfs label="System"
DISKPART> assign letter="S"
DISKPART> active
DISKPART> exit
X:\Sources> bcdboot C:\Windows /l ja-jp /s S:
X:\Sources> wpeutil shutdown

ブート用ディスク(1GB)から優先的に起動するように変更し、仮想マシンを起動。

正常起動したら IP アドレスの設定とか確認して、必要に応じて変更する。VHD ネイティブブートのときの物理 NIC は使えなくなるので必ず設定が必要だと思う。ドメインコントローラーなので、優先 DNS サーバーは IPv4 が 127.0.0.1、IPv6 が ::1 にするのを忘れずに(これ重要)。IPv6 のほうを忘れると、ドメイン ネットワークではなく、プライベート ネットワークとして認識されてしまうかも。
ドメインコントローラーとして他のメンバーから参照できることを確認し、完了。

ディスクのレイアウトはこんな感じ。


以上

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。