IDE仮想マシンをvirtio仮想マシンに移行するには?

IDE仮想マシンをvirtio仮想マシンに移行するには?

数か月前に、KMSホストにWindows Server 2012ゲストをインストールしました。 VMはIDE(HDD)を使用して生で実行されます。 virtioを使ってパフォーマンスを向上させたい。

私はこれをしました:

  • 仮想マシンのシャットダウン
  • XML構成ファイルの編集
  • ディスクラベルを次のように交換します。

    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native'/>
      <source file='/var/lib/libvirt/images/myvm.img'/>
      <target dev='vda' bus='virtio'/>
    </disk>
    
  • XML構成ファイルの保存

  • virt-managerを使用して仮想マシンを再起動します。
  • BSODが発生し、仮想マシンが自動的に再起動されました。
  • 自動回復が始まり、キーボードの言語を尋ねます。
  • 2つのオプション:コンピュータの修理または停止
  • 両方の方法を試しましたが、起動後は常にBSODが発生します。

私のプログラムに何がありましたか?

答え1

私も同じ問題があります。 IDEディスクにWindows 7をインストールし、後でVirtIOに切り替えようとしました。起動時にBSODが発生し、回復モードでドライバをインストールしようとしましたが、機能しませんでした。

私は少しトリックでそれを解決しました。起動ディスクをIDEのままにし、仮想VirtIOディスクを追加します。 CD-ROMの追加Windows用VirtIOドライバ(リンクはWin-64 CD ISOです。)起動します。 Windowsが正常に起動し、新しいハードウェアを検出し、CDからドライバを自動的にインストールします。その後、ブートディスクをシャットダウンしてVirtIOモードに切り替え、仮想ディスクを削除できます。

答え2

targetXMLファイルの行を変更する以外に、他の唯一のことは次のとおりです。

<target dev='hda' bus='ide'/>

到着

<target dev='vda' bus='virtio'/>

再生成できるようにすべての<address type .../>行を削除するだけです。libvirtVMがLinuxゲストの場合は、ゲスト/etc/fstabファイル内のドライブラベルを変更してすべての項目をに置き換える必要があるため、/dev/sdXWindows /dev/vdXVMゲストと同様の作業を実行する必要があります。

ドライバー

Windowsに必要なVirtIOドライバをインストールするには、KVMプロジェクトのWebサイトの指示に従う必要があります。Windows VirIOドライバ。詳細については、このKVMドキュメントでも説明しています。Windows Server 2003でWindowsゲストVirtIOブロックドライバを設定する方法

引用する

答え3

Windowsにvirtioをインストールする前に(Linuxでも時々)、Windowsにvirtioドライバを含める必要があります。最良の方法はideで起動することです。 virtioウィンドウは新しいコントローラを認識し、ドライバを要求し、ドライバをオフにし、hdの位置をideからvirtioに変更して再起動します。ネットワークカードについてはわかりませんが、Windowsでは新しいLAN名に名前を変更できます。

関連情報