web-dev-qa-db-ja.com

KVM-virtualization経由でWindows 2012 R2をインストールする

Linux KVM-virtualization上にWindows Server 2012 R2をインストールしようとしています。

インストールプロセスが停止し、続行するにはドライバーが必要です。

Fedoraのvirtioドライバーを試していますが、動作しません。インストールプロセスでは、インストールするストレージデバイスが表示されません。

ストレージにさまざまなオプションを試しています:SATA、IDE、Virtio、Virtio SCSI。

Diskpart(リストディスク)にディスクが表示されますが、インストーラーはそれを使用できません。

Virtioドライバーの異なるバージョンを使用しました:virtio-win-0.1.105.iso、virtio-win-0.1.96.iso、virtio-win-0.1.101.isoは同じ結果でした。

私のインストールディスクは:SW_DVD9_Windows_Svr_Std_and_DataCtr_2012_R2_64Bit_Spanish_-4_MLF_X19-82897.ISO

これは、現在インストール時にvirtioドライバーを使用してWindowsをインストールする方法です。

  1. 正規のWindowsインストールISOイメージを使用して、新しいVMを作成します。Windowsの海賊版コピーを使用した場合、またはISOイメージのダウンロードが不完全であるか破損している場合、何でも動作することを保証できません。

    Create a new virtual machine

  2. インストール前にマシン構成をカスタマイズすることを選択します。

    Customize machine configuration before install

  3. IDEハードドライブを選択し、そのタイプをVirtIOに変更します。適用をクリックします。

    Change IDE hard drive to Virtio

  4. IDE CDROMを選択し、タイプをSATAに変更します。適用をクリックします。

    Change IDE CDROM to SATA

  5. [ハードウェアの追加]をクリックし、virtio-win.isoイメージを使用して2つ目のSATA CDROMドライブを追加します。

    Add a SATA CDROM with virtio-win.iso

  6. (オプション)また、仮想NICをVirtIOに変更します。Windowsのインストール後にそのドライバーをインストールできるため、後で煩わしい「イーサネット2」が発生するのを防ぐことができます。

    「インストールの開始」をクリックして、Windowsのインストールを開始します。

    セットアップがWindowsをインストールする場所を尋ねてきたら、[ドライバのロード]をクリックします。

    Windows setup Load Driver

  7. 次のページ。 [参照]をクリックして、\viostor\2k12R2\AMD64 2番目のCDドライブのフォルダ、virtio-win-0.1.xx

    Select E:\viostor\2k12R2\AMD64

  8. Red Hat VirtIO SCSIコントローラが表示されます。次へをクリックします。

    Use the Red Hat VirtIO SCSI Controller driver

  9. これで仮想ディスクが正常に検出されました。楽しい!

    Windows finds the virtual disk

インストールが完了したら、virtio-win CDを使用して、NIC、バルーンドライバーなど、残りのハードウェアのドライバーをインストールできます。デバイスマネージャーを開いて、ドライバーをロードする必要があるデバイスを確認します。ドライバーのインストールが完了したら、2番目の仮想CDROMドライブを仮想マシンから削除できます。

最後に、このイメージをsysprepする場合は、ゴールデンマスターを作成するには、 CtrlShiftF3 ここから直接監査モードに移動します。

Press Ctrl-Shift-F3 when Windows starts for the first time to enter audit mode

Windows Server 2012 R2 audit mode

(そして、ビデオドライバーをアップグレードするには、 (私が書いた別の答え を参照)。

15
Michael Hampton

私が抱えていた主な問題は、ドライバーを入手することでした。私はここからダウンロードしました https://fedoraproject.org/wiki/Windows_Virtio_Drivers そして、KVMでwin 2012 r2を動作させることに成功しました

私が使用したプロセス全体を示すビデオをアップしました https://youtu.be/9SPCa4TKues

1
Patrick Bailey

Bus = 'virtio'を使用して問題を検出し、Fedoraドライバーイメージからvirtioドライバーをインストールしました。私たちのホストスペック(ショートバージョン):

  • ホスト:Debian Jessie
  • カーネルバージョン4.8
  • qemu-kvmバージョン2.8

この問題のため、カーネルとqemu-kvmバージョンを更新したことに注意してください。これは問題の解決策ではありませんでした!

お客様の仕様:

  • Windowsサーバー2012 R2
  • 110 GBのRAM
  • qcow2イメージ
  • SQLサーバー

ここで興味深い部分があります(ゲストを管理するためにvirshを使用しています):これは、古いディスク定義の例です。

<disk type='file' device='disk'>
  <driver name='qemu' type='qcow2' cache='none'/>
  <source file='/kvm/pathToWhatever/MYGUEST.qcow2'/>
  <target dev='vda' bus='virtio'/>
</disk>

かなり基本的な特別なものは何もないことに注意してください。bus= 'virtio'は、私が見つけたすべてのチュートリアルやフォーラムで基本的に提案されていました。

その後、Windows Serverをインストールします...これまでのところ問題はありません。次に、fedoraprojectイメージからvirtioドライバーをインストールしました。大きなDBインポート/更新などを実行するため、現在はI/Oが重いです。巨大なデータベーステーブルに対してクエリを実行しましたが、数分後に起動しましたが、ゲストがフリーズしました。これを数時間/日の間デバッグしましたが、ログには何も見つかりませんでした。

Virtualboxを使用してこれを複製することも試みましたが、そこでは問題なく動作しました。

ちょうど今日、bus = 'ide'に切り替えてSQLクエリ(インポート)を再び開始すると、まったく問題なく動作することがわかりました。高いI/Oはまったく問題ではありません。

今、私はvirtioドライバーが単に壊れているか、互換性がないと思います。それに関しては私は専門家ではありませんが、一時的な解決策はIDEに切り替えることでした。私は現在、bus = 'scsi'を使用してテストしています。次に示すように、コントローラータイプの定義でvirtio-scsiをモデルとして定義します。

<controller type='scsi' model='virtio-scsi' index='0'>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</controller>

適切にテストしたら、結果を投稿します。

0
Mark