KVM/QEMU:Windows Guest(WindowsServer)添加带有附加磁盘 SSD 的新驱动器

KVM/QEMU:Windows Guest(WindowsServer)添加带有附加磁盘 SSD 的新驱动器

我想为我的 Windows 客户机 (Windows Server 2016) 添加一个新驱动器。假设为 D:

我无法使用网络共享(SAMBA 等...)。这就是我尝试添加新存储设备的原因。

添加 myVM.xml

  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/libvirt/images/Windows.qcow2'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='hdb' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
=>    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native'/>
      <source dev='/dev/disk/by-uuid/e3645a19-08dd-4ad4-8b0c-24a8a7e4962d'/>
      <target dev='hdc' bus='ide'/>
      <shareable/>
      <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </controller>

-重新启动虚拟机

=>尽管如此,我的 Windows 服务器客户机中没有新硬盘

注意:硬盘是 PCIExpress 上的 SSD nvme,源 dev=/dev/nvme0n1p1(NTFS 分区)。

如何在 Linux 主机上添加硬盘/分区(qemu 配置文件)能够从我的 Windows Server Guest 中使用它吗?

谢谢

答案1

您没有说明客户机 XML 中原有的现有磁盘使用的是 IDE 还是 SCSI 或 VirtIO。由于您确实说 Windows 无法识别新添加的 VirtIO 磁盘,因此我假设您现有的磁盘是 IDE 或 SCSI,因此 Windows 没有安装 VirtIO 驱动程序。

如果是这种情况,那么您可以将 更改<target/>为使用dev="hdb" bus="ide",或者安装 Windows VirtIO 驱动程序(https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/index.html)。请注意,我不能 100% 确定 VirtIO 驱动程序是否受 Windows 2016 支持,因为我自己还没有尝试过这种新版本的 Windows。

答案2

您进行了虚拟硬件更改,这需要完全关闭虚拟机(而不仅仅是重新启动)才能生效。


顺便说一句:出于性能原因,您应该在客户操作系统中安装 Virtio-SCSI 驱动程序,将 Virtio-SCSI 控制器添加到虚拟硬件,并将磁盘转换为使用 SCSI 而不是 IDE。并将虚拟 CDROM 切换到 SATA。理想情况下,您应该在安装期间完成此操作;这是指南这样做。

相关内容