Synology Virtual Machine Manager: Running Windows 10
There was an old desktop under a desk in the office running a few Windows-only utilities, an accounting client and a browser for a web app that only behaves in Edge. I wanted that box gone. Virtual Machine Manager runs full VMs on the Synology using KVM, and for one or two light VMs on a NAS that's on 24/7 it does the job. It's no replacement for a proper hypervisor.
The hardware needs are strict. You want an x86 Plus, XS, RS or FS model with virtualization extensions on DSM 6.1 or 6.2 (the DS218+ and DS918+ work, the DS218j doesn't), and a Btrfs volume, since VMM refuses ext4. Windows 10 wants 4 GB for itself, so a 4 GB NAS needs a RAM upgrade first, and DSM needs 1 to 2 GB left over. Have a Windows 10 ISO from the media creation tool, a license, and the virtio-win.iso from the Fedora project for the storage and network drivers.
Install VMM and set up storage
Package Center → Virtual Machine Manager → Install. Open it; the wizard asks you to create a cluster (single node is fine) and pick a Btrfs volume as the VM storage. Under Network it creates a "Default VM Network" bridged to the first LAN port, so VMs get an address from your DHCP like any other machine.
Upload both ISOs under Image → ISO File → Add. Uploading from a browser is fine for a 4 GB ISO; alternatively drop the file into a shared folder and use "From a Synology NAS" to import.
Create the virtual machine
Virtual Machine → Create → Microsoft Windows. Settings I use for a light desktop:
- Name:
win10-office. - CPU: 2 vCPU. VMM allows overcommitting but the NAS only has 2 or 4 real cores.
- Memory: 4 GB.
- Video card: vga.
- Virtual disk: 60 GB, file system Btrfs, controller VirtIO SCSI for speed. Leave "Space reclamation" on.
- Network: Default VM Network, model VirtIO.
- ISO file for bootup: the Windows 10 ISO. Additional ISO file:
virtio-win.iso. - Autostart: Yes if it should come up after a NAS reboot.
- BIOS: Legacy BIOS. UEFI works too but has no advantage here.
- Guest tool: leave the default, the Guest Tool ISO is provided by VMM.
Assign the VM permission to your admin user under the Permissions step and click Apply.
Install Windows and load the VirtIO drivers
Power on the VM and click Connect; the console opens in a browser tab (it uses noVNC). The Windows installer will reach the disk selection page and show no disks, because it has no driver for the VirtIO SCSI controller. Click Load driver → Browse → the virtio-win CD drive → vioscsi\w10\amd64 and click Next. The 60 GB disk now appears; continue the install.
After first login, open Device Manager. Install the remaining drivers from the virtio-win CD: the Ethernet controller (NetKVM\w10\amd64), the balloon device (Balloon\w10\amd64) and the serial device (vioserial\w10\amd64). Right-click each unknown device → Update driver → Browse my computer → point to the CD root with "Include subfolders" ticked.
Then mount the Synology Guest Tool: in VMM, select the VM → Action → Mount Guest Tool, and run the installer inside Windows. It installs the QEMU guest agent so VMM can shut the VM down cleanly and take consistent snapshots.
Housekeeping in the guest
Disable hibernation and fast startup (powercfg /h off in an elevated prompt), set the power plan to never sleep, and enable Remote Desktop. I don't use the noVNC console for anything beyond installation; it has no clipboard and poor keyboard handling for some layouts. Assign a DHCP reservation to the VM's MAC address on the router.
Did it work?
In VMM the VM shows Running with a green status and an IP address once the Guest Tool is installed. Test the disk driver is the VirtIO one, not an emulated IDE fallback:
Get-PhysicalDisk | Select-Object FriendlyName, BusType
Get-NetAdapter | Select-Object Name, InterfaceDescription, LinkSpeed
The network adapter should read "Red Hat VirtIO Ethernet Adapter" at 10 Gbps. Take a snapshot from VMM → Action → Take Snapshot, change something in Windows, restore the snapshot and confirm the change is gone. Finally, shut the VM down from VMM (Action → Shut down, not Power off) and confirm Windows performs a clean shutdown.
Things that went wrong for me
- "Failed to power on the virtual machine" with a message about insufficient memory: VMM reserves the VM's RAM plus a margin at power-on. Reduce the VM's memory or stop other packages; check Resource Monitor for what DSM itself is using.
- The Windows installer says "Windows cannot be installed to this disk" after the driver loads: the disk was created with the IDE or SATA controller and the wrong driver was loaded. Use
viostorfor VirtIO block orvioscsifor VirtIO SCSI, matching what you chose at creation. - Console shows a black screen after Windows updates: the vga adapter and a display driver update do not get along. Switch the VM's video card to "none" briefly or use RDP; the VM is usually running fine.
- VMM reports the VM's status as "Guest Tool not installed" and Shut down does nothing: the QEMU guest agent service is stopped. Reinstall the Guest Tool from the mounted ISO.
Performance is what you'd expect from a two-core Celeron. Fine for Office and a browser, wrong for anything CPU-bound. The nice part is that the VM lives on the same Btrfs volume that Hyper Backup and snapshots already cover.