sometimes the user is forced to install Debian13 on a windows machine 🙁 (yes it is painful, for the last 10 years having used windows only as vm on Debian, now vice versa)

if the user EVER has to use hyper-v, and has to install Debian13 as a hyper-v vm, this is how to install and start the integration services:

hostnamectl; # tested with debian13
su - root
apt update
apt install hyperv-daemons xrdp
systemctl enable --now xrdp; # to connect with higher resolution
systemctl enable --now kv-kvp-daemon.service hv-vss-daemon.service
reboot

Debian13 + cinnamon: now do not login to the login screen

ip -c a; # find ip of debian13

in windows: Win +R -> mstsc.exe

enter the ip of debian13

it should connect to debian13 desktop with the resolution defined in mstsc.exe settings

problem: it is not possible to resize the mstsc window 🙁

[+] the positive: it is possible to start debian13 as vm via hyper-v via windows

[-] critique: no screen resize 🙁 so the hyper-v integration of debian is not very good, virtualbox and kvm do a way better job at this

in the upper left corner of mstsc.exe window there is the possibility to r-click and chose “smart sizing…” but that does not do any good either. (no dynamic resolution change)
Q: what does kv-kvp-daemon.service hv-vss-daemon.service actually do?
The names are probably:

  • hyperv-daemons.hv-kvp-daemon.service
  • hyperv-daemons.hv-vss-daemon.service

The actual daemon names are hv_kvp_daemon and hv_vss_daemon.
KVP — Key-Value Pair daemon
hv_kvp_daemon provides a small communication channel between Debian and the Hyper-V host over the VM bus. It exchanges key/value metadata without using the network.
Typical uses include:

  • Reporting guest information to Hyper-V
  • Allowing the host and guest to exchange small configuration values
  • Supporting host-side monitoring and diagnostics
  • Historically, reporting guest IP/network information to Hyper-V

It does not provide networking, RDP, display resizing, or file copying. Debian’s package notes that some optional network-information helper scripts are not included, so KVP may be running correctly even if it does not display the VM’s IP address in Hyper-V.

VSS — Volume Shadow Copy Service daemon

hv_vss_daemon allows the Windows Hyper-V host to coordinate a backup of the running Debian VM.

During a host-side backup, the daemon can:

  1. Receive a request from Hyper-V.
  2. Flush pending filesystem writes.
  3. Temporarily freeze filesystems.
  4. Let Hyper-V create a consistent snapshot.
  5. Unfreeze the filesystems.

This is intended to produce a more filesystem-consistent backup than simply copying a running VM’s disk while writes are occurring. It does not itself create ordinary Hyper-V checkpoints or back up files to another location; it participates in the host’s backup/checkpoint operation.

can see what each process is doing with:

ps -ef | grep -E 'hv_(kvp|vss)_daemon'

inspect logs

# as root 
journalctl -u hyperv-daemons.hv-kvp-daemon.service
journalctl -u hyperv-daemons.hv-vss-daemon.service

or try the dwave’s universal mon all logs live at the same time script sometimes the user is forced to install Debian13 on a windows machine 🙁 (yes it is painful, for the last 10 years having used windows only as vm on Debian, now vice versa)

if the user EVER has to use hyper-v, and has to install Debian13 as a hyper-v vm, this is how to install and start the integration services:

hostnamectl; # tested with debian13
su - root
apt update
apt install hyperv-daemons xrdp
systemctl enable --now xrdp; # to connect with higher resolution
systemctl enable --now kv-kvp-daemon.service hv-vss-daemon.service
reboot

Debian13 + cinnamon: now do not login to the login screen

ip -c a; # find ip of debian13

in windows: Win +R -> mstsc.exe

enter the ip of debian13

it should connect to debian13 desktop with the resolution defined in mstsc.exe settings

problem: it is not possible to resize the mstsc window 🙁

[+] the positive: it is possible to start debian13 as vm via hyper-v via windows

[-] critique: no screen resize 🙁 so the hyper-v integration of debian is not very good, virtualbox and kvm do a way better job at this

in the upper left corner of mstsc.exe window there is the possibility to r-click and chose “smart sizing…” but that does not do any good either. (no dynamic resolution change)
Q: what does kv-kvp-daemon.service hv-vss-daemon.service actually do?
The names are probably:

  • hyperv-daemons.hv-kvp-daemon.service
  • hyperv-daemons.hv-vss-daemon.service

The actual daemon names are hv_kvp_daemon and hv_vss_daemon.
KVP — Key-Value Pair daemon
hv_kvp_daemon provides a small communication channel between Debian and the Hyper-V host over the VM bus. It exchanges key/value metadata without using the network.
Typical uses include:

  • Reporting guest information to Hyper-V
  • Allowing the host and guest to exchange small configuration values
  • Supporting host-side monitoring and diagnostics
  • Historically, reporting guest IP/network information to Hyper-V

It does not provide networking, RDP, display resizing, or file copying. Debian’s package notes that some optional network-information helper scripts are not included, so KVP may be running correctly even if it does not display the VM’s IP address in Hyper-V.

VSS — Volume Shadow Copy Service daemon

hv_vss_daemon allows the Windows Hyper-V host to coordinate a backup of the running Debian VM.

During a host-side backup, the daemon can:

  1. Receive a request from Hyper-V.
  2. Flush pending filesystem writes.
  3. Temporarily freeze filesystems.
  4. Let Hyper-V create a consistent snapshot.
  5. Unfreeze the filesystems.

This is intended to produce a more filesystem-consistent backup than simply copying a running VM’s disk while writes are occurring. It does not itself create ordinary Hyper-V checkpoints or back up files to another location; it participates in the host’s backup/checkpoint operation.

can see what each process is doing with:

ps -ef | grep -E 'hv_(kvp|vss)_daemon'

inspect logs

# as root 
journalctl -u hyperv-daemons.hv-kvp-daemon.service
journalctl -u hyperv-daemons.hv-vss-daemon.service

or use the dwave’s bash + python based “mon all logs live” script

liked this article?

  • only together we can create a truly free world
  • plz support dwaves to keep it up & running!
  • (yes the info on the internet is (mostly) free but beer is still not free (still have to work on that))
  • really really hate advertisement
  • contribute: whenever a solution was found, blog about it for others to find!
  • talk about, recommend & link to this blog and articles
  • thanks to all who contribute!
admin