我想为我的 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。理想情况下,您应该在安装期间完成此操作;这是指南这样做。