Community Solution

Add a Second Disk to a Windows VM on ZimaOS with virsh

A ZimaOS 1.4.3 user wanted additional Windows VM disks and passthrough options; IceWhale said advanced changes were available through virsh.

On the ZimaOS version discussed in this thread, the ZVM web interface did not expose a simple “add second disk” workflow after Windows VM creation, but IceWhale explicitly said the underlying libvirt/virsh layer could do it. That means the limitation was primarily in the GUI, not necessarily in the virtualization stack.

CLI disk attachment is an advanced operation. Before changing a production VM, shut it down, back up the VM definition and important guest data, and understand whether you are attaching a virtual disk image or a raw host block device.

What IceWhale Confirmed in the Thread

The user was on ZimaOS 1.4.3 and wanted multiple separate Windows disks, disk expansion and hardware passthrough. IceWhale replied that ZVM intentionally exposed only a small set of one-click options and that advanced changes required CLI skills and the virsh tool.

That is an official product-boundary statement for that version. The thread did not provide a tested command sequence, so it would be unsafe to invent one specific target disk name or raw-device path as though it were universal.

How libvirt Adds Disks

The upstream virsh command reference documents both attach-disk and XML-based attach-device. Persistent changes normally need to affect the VM configuration, not only the live running instance.

For a Windows guest, a new virtual disk may also need to be brought online, initialized, partitioned and formatted in Windows Disk Management after libvirt presents it to the VM.

Prefer a Virtual Disk File Unless You Need Raw Passthrough

A virtual disk image is easier to back up, move and detach safely. Passing an entire physical disk or partition directly into a VM increases the risk of the host and guest trying to manage the same storage.

The virtual machine storage guide helps separate VM storage allocation from normal ZimaOS data-pool planning.

Do Not Confuse Disk Attachment With USB or PCI Passthrough

The original post also asked about USB and hardware passthrough. Those are different libvirt device types with different ownership and IOMMU requirements. A method that attaches a virtual hard disk does not automatically provide USB or PCI passthrough.

If the feature is now exposed in a newer ZVM UI, prefer the supported UI path. If not, document every CLI change so it can be recreated after an update or VM definition change.

Bottom Line

The forum thread established that advanced disk changes were possible through virsh even when the 1.4.3 GUI could not do them. Treat CLI attachment as an advanced libvirt task: back up first, choose virtual versus raw storage deliberately, make the change persistent, then initialize the new disk inside Windows.