Public bug reported:
Copy-VMFile (the Hyper-V Guest Service Interface) cannot copy a file
from a Hyper-V host into an Ubuntu 26.04.1 LTS (resolute) guest, because
hv-fcopy-daemon.service is skipped at boot. The service requires
/dev/vmbus/hv_fcopy, which no longer exists on current kernels now that
file copy uses the uio driver, so its start condition can never be met.
Related discussion for kernels 6.11+ is in bug 1766300 (its linux task
was auto-closed).
The daemon itself works. The problem is in the packaging: removing
BindsTo and changing the start condition in the stock unit fixes it on
my system (diff below). I'm just a hobbyist rather than a developer, so
please excuse any missteps I inadvertently made in this report. I'd also
like to disclose that I worked through the diagnosis with help from an
AI assistant (Claude), but I ran and verified everything below myself.
ENVIRONMENT
- Guest: Ubuntu Server 26.04.1 LTS, fully updated, linux-azure installed,
kernel 7.0.0-1019-azure
- Package that ships the unit and udev rule: linux-cloud-tools-common
7.0.0-42.42
- Host: Windows Server 2025 (build 26100.33650), Guest services enabled for the
VM
- All outputs below are from the 26.04.1 LTS VM with linux-azure installed. The
full capture is attached.
STEPS TO REPRODUCE
1. In a Hyper-V VM, install Ubuntu Server 26.04.1, run apt full-upgrade,
install linux-azure and reboot.
2. In Hyper-V Manager, ensure Guest services is enabled for the VM.
3. On the Hyper-V host, via PowerShell, try using Copy-VMFile to copy a file to
the guest VM:
Copy-VMFile -Name UbuntuTest -SourcePath .\test.txt -DestinationPath
'/home/testuser/' -FileSource HOST
EXPECTED: test.txt is created in /home/testuser in the guest VM.
ACTUAL: the copy fails:
'UbuntuTest' failed to initiate copying files to the guest: The
device is not ready for use. (0x800710DF).
EVIDENCE (in the guest VM, before any changes)
$ systemctl status hv-fcopy-daemon.service
○ hv-fcopy-daemon.service - Hyper-V File Copy Protocol Daemon
Loaded: loaded (/usr/lib/systemd/system/hv-fcopy-daemon.service;
enabled; preset: enabled)
Active: inactive (dead)
Condition: start condition unmet at Mon 2026-11-02 22:28:19 UTC; 2min 31s
ago
└─ ConditionPathExists=/dev/vmbus/hv_fcopy was not met
$ ls -l /dev/vmbus/
crw------- 1 root root 10, 261 Nov 2 22:28 hv_kvp
crw------- 1 root root 10, 260 Nov 2 22:28 hv_vss
The file copy channel itself is present and has a uio entry:
/sys/bus/vmbus/devices/eb765408-105f-49b6-b4aa-c123b64d17d4/uio exists
(full listing in the attachment).
The stock unit and the udev rule that starts it both refer to the
removed node (dpkg -S shows both come from linux-cloud-tools-common):
[Unit]
Description=Hyper-V File Copy Protocol Daemon
ConditionVirtualization=microsoft
ConditionPathExists=/dev/vmbus/hv_fcopy
BindsTo=sys-devices-virtual-misc-vmbus\x21hv_fcopy.device
[Service]
ExecStart=/usr/sbin/hv_fcopy_uio_daemon -n
[Install]
WantedBy=multi-user.target
SUBSYSTEM=="misc", KERNEL=="vmbus/hv_fcopy", TAG+="systemd",
ENV{SYSTEMD_WANTS}+="hv-fcopy-daemon.service"
THE DAEMON WORKS WHEN MANUALLY STARTED
$ sudo hv_fcopy_uio_daemon -n
With it running, the same Copy-VMFile command on the host returns
without error and the file appears in the guest:
$ ls -l
-rwxr--r-- 1 root root 4 Nov 2 22:37 test.txt
FIX THAT WORKS
A full override of the stock unit (sudo systemctl edit --full
hv-fcopy-daemon.service) with the BindsTo line removed and the start condition
pointed at the uio path:
$ diff -u /usr/lib/systemd/system/hv-fcopy-daemon.service
/etc/systemd/system/hv-fcopy-daemon.service
@@ -4,8 +4,7 @@
[Unit]
Description=Hyper-V File Copy Protocol Daemon
ConditionVirtualization=microsoft
-ConditionPathExists=/dev/vmbus/hv_fcopy
-BindsTo=sys-devices-virtual-misc-vmbus\x21hv_fcopy.device
+ConditionPathExists=/sys/bus/vmbus/devices/eb765408-105f-49b6-b4aa-c123b64d17d4/uio
After a reboot (boot time 22:48:28 per uptime -s) the service starts by
itself and Copy-VMFile succeeds:
$ systemctl status hv-fcopy-daemon.service
● hv-fcopy-daemon.service - Hyper-V File Copy Protocol Daemon
Loaded: loaded (/etc/systemd/system/hv-fcopy-daemon.service; enabled;
preset: enabled)
Active: active (running) since Mon 2026-11-02 22:48:33 UTC; 44s ago
Main PID: 1128 (hv_fcopy_uio_da)
[...]
└─1128
/usr/lib/linux-tools/7.0.0-1019-azure/hv_fcopy_uio_daemon -n
$ ls -l (before the copy)
total 0
$ ls -l (after the copy)
-rwxr--r-- 1 root root 4 Nov 2 22:50 test.txt
NOTES
- A drop-in override is not enough: drop-ins cannot remove BindsTo. With only a
drop-in, the daemon started and systemd stopped it within milliseconds, and
"systemctl show -p BindsTo" still listed the old device.
- I did not test changing the udev rule, which also matches the removed node.
I'm happy to test a fix or provide more output if needed.
ProblemType: Bug
DistroRelease: Ubuntu 26.04
Package: linux-cloud-tools-common 7.0.0-42.42
ProcVersionSignature: Ubuntu 7.0.0-1019.20-azure 7.0.14
Uname: Linux 7.0.0-1019-azure x86_64
AlsaDevices: Error: command ['ls', '-l', '/dev/snd/'] failed with exit code 2:
ls: cannot access '/dev/snd/': No such file or directory
AplayDevices: Error: [Errno 2] No such file or directory: 'aplay'
ApportVersion: 2.34.1-0ubuntu0.1
Architecture: amd64
ArecordDevices: Error: [Errno 2] No such file or directory: 'arecord'
CRDA: N/A
CasperMD5CheckResult: pass
Date: Tue Nov 3 02:41:23 2026
Dependencies:
InstallationDate: Installed on 2026-11-02 (1 days ago)
InstallationMedia: Ubuntu-Server 26.04.1 LTS "Resolute Raccoon" - Release amd64
(20260826)
Lspci:
Lspci-vt:
Lsusb: Error: command ['lsusb'] failed with exit code 1:
Lsusb-t:
Lsusb-v: Error: command ['lsusb', '-v'] failed with exit code 1:
MachineType: Microsoft Corporation Virtual Machine
PackageArchitecture: all
PciMultimedia:
ProcEnviron:
LANG=en_US.UTF-8
PATH=(custom, no user)
SHELL=/bin/bash
TERM=xterm-256color
ProcFB: 0 hyperv_drmdrmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-7.0.0-1019-azure
root=/dev/mapper/ubuntu--vg-ubuntu--lv ro
crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M
RfKill: Error: [Errno 2] No such file or directory: 'rfkill'
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 09/25/2025
dmi.bios.release: 4.1
dmi.bios.vendor: Microsoft Corporation
dmi.bios.version: Hyper-V UEFI Release v4.1
dmi.board.asset.tag: None
dmi.board.name: Virtual Machine
dmi.board.vendor: Microsoft Corporation
dmi.board.version: Hyper-V UEFI Release v4.1
dmi.chassis.asset.tag: 8818-4012-3695-1684-8355-1501-17
dmi.chassis.type: 3
dmi.chassis.vendor: Microsoft Corporation
dmi.chassis.version: Hyper-V UEFI Release v4.1
dmi.modalias:
dmi:bvnMicrosoftCorporation:bvrHyper-VUEFIReleasev4.1:bd09/25/2025:br4.1:svnMicrosoftCorporation:pnVirtualMachine:pvrHyper-VUEFIReleasev4.1:rvnMicrosoftCorporation:rnVirtualMachine:rvrHyper-VUEFIReleasev4.1:cvnMicrosoftCorporation:ct3:cvrHyper-VUEFIReleasev4.1:skuNone:pfaVirtualMachine:
dmi.product.family: Virtual Machine
dmi.product.name: Virtual Machine
dmi.product.sku: None
dmi.product.version: Hyper-V UEFI Release v4.1
dmi.sys.vendor: Microsoft Corporation
** Affects: linux (Ubuntu)
Importance: Undecided
Status: New
** Tags: amd64 apport-bug resolute
** Attachment added: "state_capture.txt"
https://bugs.launchpad.net/bugs/2172796/+attachment/6014529/+files/state_capture.txt
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2172796
Title:
hv-fcopy-daemon.service skipped on 26.04:
ConditionPathExists=/dev/vmbus/hv_fcopy can never be met, Copy-VMFile
on Hyper-V host consequently fails (0x800710DF)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2172796/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs