使用 LVM 磁盘在 KVM 上安装 Windows

使用 LVM 磁盘在 KVM 上安装 Windows

我正在尝试在 KVM 上安装 Windows Server 2012。主机系统是 Ubuntu Server 14.04。我想使用逻辑卷(例如 /dev/VG/win)作为客户系统的主设备。但是,安装过程在我选择驱动器时停止。未找到驱动器,并要求我选择(已签名的)驱动程序。我尝试了几个驱动程序映像,但到目前为止还没有找到可用的。如果我为客户系统使用映像文件,则一切都正常。

这是我的 kvm 配置的设备部分:

  <os>
    <type arch='x86_64' machine='pc-1.0'>hvm</type>
    <boot dev='cdrom'/>
    <boot dev='hd'/>
    <bootmenu enable='yes'/>
  </os>
  ...
 <devices>
    <emulator>/usr/bin/kvm-spice</emulator>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/data/virtio-win-0.1.102.iso'/>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/dara/Win.iso'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    </disk>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw'/>
      <source dev='/dev/VG/win'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </disk>
    ...

我尝试了几种变体(使用 virt-manager 和 virt-install),但都没有成功。有没有办法定义 LVM 卷,以便 Windows 可以识别它?或者我在哪里可以找到可用的驱动程序?

编辑:我系统地尝试了驱动器类型(总线等通过 virt-manager 配置)和驱动程序的每种组合(这里和下面发布的 fedora 链接),但都没有奏效。唯一的成功是,对于 virtio,驱动器出现在“选择驱动程序”对话框中,并且 viostor 驱动程序(来自 fedora 链接)被接受。但是,磁盘仍然没有出现在安装对话框中。我相应地更改了上面的 conf 摘录。

答案1

您可以尝试<target dev='sda' bus='scsi'/>(删除控制器引用)并查看安装过程中是否显示磁盘。最佳配置是<target dev='vda' bus='virtio'/>,但为此您需要virtio 驱动程序来自 Fedora;另请参阅https://serverfault.com/a/650681/100793

答案2

由于我尝试了感觉像 5000 万次安装,因此我使用了以下解决方法:

  1. 创建一个映像文件并在其上放置一个单独的 NTFS 分区(以防止 Windows 创建其启动分区)
  2. 在 img 文件上安装 windows
  3. 将 LVM 驱动器添加到 KVM 并在 Windows 中安装 Fedora 驱动程序
  4. 关机并将映像分区“dd”到 LVM
  5. 从 KVM 中删除图像文件,从 LVM 启动即可。

相关内容