3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Hyper-VのWindows仮想マシン(UEFI)をProxmoxへ移行する

Last updated at Posted at 2024-10-15

はじめに

仮想基盤のOSS化でHyper-VからProxmoxへ移行することになり、
Hyper-Vの第二世代で動かしているWindows10を移行として詰まったので、
ノウハウとして記録しておく。

KVMではインポートってだけにいかないのでちょっと大変:scream_cat:

バージョン,OSなど

- Proxmox バージョン: v8.2.2
- Hyper-V OS: WindowsServer2022
- Windows10 仮想マシン世代: Hyper-V第二世代 

移行手順

1. VMをエクスポートし、Proxmoxへ転送する

  • Hyper-Vの機能を使ってVMをエクスポートする(.vhdxファイル)
  • Proxmoxサーバへvhdxファイルを転送する

2. Windows用の仮想デバイスドライバのISOを入手してProxmoxのライブラリにアップロードしておく

3. Proxmoxに移行先のVMを作成する

Hyper-Vの仮想マシンはImportだけで動かすことはできない。

  • OSでWindowsを選択し、VirtIOのドライバISOを設定しておく
    image.png

  • システムでBIOSにOVMF(UEFI)を選択・EFIディスクを追加しておく
    image.png

  • 初期設定されているディスクを削除する
    image.png

4. vhdxファイルをインポート

ProxmoxのストレージにVMディスクとして登録する

vhdxをインポートした場合raw型に変換されて登録される

# qm importdisk <VMID> <vhdx> <storage> 
qm importdisk 101 foo.vhdx local-lvm

image.png

5. 仮想マシンにディスクを接続

  • インポートしたディスクは未使用のディスクとして登録されるので、SATAを選択してディスクを追加する。
    image.png

  • オプションからsata0を有効化してBoot順を変更
    image.png

6. VMの初回起動及びVirt-IOの設定

  • VMを起動するとWindosロゴがProxmoxロゴに置き換えられた状態でWindowsの起動が始まる。
     image.png

  • Windows用の高速な仮想ドライバをインストールする
    仮想マシン作成時に指定したvirtio-winのIsoのインストーラを実行する
    image.png
    image.png
     image.png

7. ディスクの接続方式をSCSI(VirtIO SCSI single)に変更

  • SATAディスクをデタッチ
    image.png

  • SCSI(VirtIO SCSI single)で再接続する
    image.png

  • 再度Boot順を調整
    image.png

8. 再度起動すれば完了

正常に起動すればOK!

初回はブルースクリーンがでるかも。

VirtIOドライバを入れたことでネットワークデバイスも利用できるようになっているはず:smile:

もう少しさくっといけたらな~。
おつかれさまでした。

SSD環境のProxmoxだと上記でうまくいかない?

別のSSD環境のProxmoxに取り込もうとしたら上記手順ではうまくいかなかった。

SSDが原因じゃないかもしれないがブルースクリーンが初回以降も発生してWindowsが起動せず・・・。

なんとか解消した際の流れも残しておく。
公式にあったSCSI(VirtIO SCSI single)のダミーディスクと一緒に起動すると動いて、
そのあとだとダミーディスクなしでも動くようになった。

公式だとダミーディスクはドライバインストール用で、ディスク外してから単独起動しているぽかったから、ダミーは関係なさそうに思えるのだけど正しい動きなのだろうか?
https://pve.proxmox.com/wiki/Paravirtualized_Block_Drivers_for_Windows

1. VMディスクをSATA接続する
2. SCSI(VirtIO SCSI single)の1GBのダミーディスクを作成する
3. ブート順を調整してVMディスクで仮想マシンを起動する
4. デバイスマネージャで追加ディスクが認識されていることを確認する
5. 仮想マシンを停止し、VMディスクをSCSI(VirtIO SCSI single)で接続しなおす
6. ブート順を調整してVMディスクで仮想マシンを再度起動し、ブルースクリーンにならないか確認する。
7. 仮想マシンを停止し、ダミーディスクをデタッチする。
8. ブート順を調整してVMディスクで仮想マシンを再度起動し、ブルースクリーンにならないか確認する。
3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?