通过KVM-virtualizaton安装Windows 2012 R2

我正在尝试通过Linux KVM虚拟化安装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映像创build新VM。 如果您使用Windows的盗版副本或者您的ISO映像下载不完整或损坏,我不能保证任何内容都能正常工作。

    创建一个新的虚拟机

  2. select在安装之前自定义机器configuration。

    在安装之前自定义机器配置

  3. selectIDE硬盘,并将其types更改为VirtIO。 点击应用。

    将IDE硬盘更改为Virtio

  4. selectIDE CDROM,并将其types更改为SATA。 点击应用。

    将IDE CDROM更改为SATA

  5. 单击添加硬件,然后用virtio-win.iso图像添加第二个SATA CDROM驱动器。

    用virtio-win.iso添加一个SATA CDROM

  6. (可选)将虚拟NIC更改为VirtIO。 你可以在安装Windows之后安装驱动程序,这样可以防止以后出现恼人的“以太网2”。

    单击开始安装并开始安装Windows。

    当安装程序询问您在何处安装Windows时,单击加载驱动程序。

    Windows安装加载驱动程序

  7. 在下一页。 单击浏览,并浏览到第二个CD驱动器上的\viostor\2k12R2\amd64文件夹, virtio-win-0.1.xx

    选择E:\ viostor \ 2k12R2 \ amd64

  8. 红帽VirtIO SCSI控制器将出现。 点击下一步。

    使用Red Hat VirtIO SCSI控制器驱动程序

  9. 现在您的虚拟磁盘已成功检测到。 请享用!

    Windows找到虚拟磁盘

安装完成后,可以使用virtio-win CD为其余硬件(如NIC,气球驱动程序等)安装驱动程序。打开设备pipe理器以查看哪些设备需要加载驱动程序。 当您完成安装驱动程序时,可以从虚拟机中删除第二个虚拟CDROM驱动器。

最后,如果你打算对这个图像进行系统准备,比如创build一个黄金大师,那么在这里按Ctrl Shift F3直接进入审计模式。

Windows首次启动时按Ctrl-Shift-F3进入审计模式

Windows Server 2012 R2审计模式

(并升级video驱动程序,看到我写的另一个答案 )。

我遇到的主要问题是得到司机。 我从这里下载了我的https://fedoraproject.org/wiki/Windows_Virtio_Drivers ,并成功地获得了赢得2012年r2在KVM上的工作

我把一个video显示了我使用https://youtu.be/9SPCa4TKues的整个过程

我使用bus ='virtio'检测到一个问题,并从fedora驱动映像安装virtio驱动。 我们的主机规格(简短版本):

  • 主持人:Debian Jessie
  • 内核版本4.8
  • qemu-kvm版本2.8

请注意,由于这个问题,我们更新了我们的内核和qemu-kvm版本。 这不是问题的解决scheme!

我们的客户规格:

  • Windows Server 2012 R2
  • 110 GB RAM
  • qcow2图像
  • SQL Server

现在这里是有趣的部分(我使用virsh来pipe理客人):这是我的旧磁盘定义的一个例子。

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

漂亮的基本没有什么特别的,在这里注意巴士='virtio'这是我发现每个教程或论坛基本build议。

之后,安装Windows Server …到目前为止没有问题。 然后我从fedoraproject映像安装了virtio驱动程序。 现在我们运行大量的数据库导入/更新等,所以我们有很多的I / O。 我们在一个庞大的数据库表上进行查询,几分钟后不久,客人就被冻结了。 我们已经debugging了几个小时/天,并没有发现任何东西在日志中。

我们甚至试图使用virtualbox复制这个,但它在绝对好的工作。

就在今天,我发现当切换到总线='ide',然后再次启动SQL查询(导入),它工作绝对罚款 – 高I / O不是一个问题。

现在我怀疑,virtio驱动程序只是坏了或不兼容。 我不是专家,但我们的临时解决scheme是切换到IDE。 我现在正在使用bus ='scsi'testing它,然后在控制器types定义中,如下所示,将virtio-scsi定义为模型。

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

一旦我正确testing,我会发布我的结果。