diff --git a/pkg/hostman/guestman/qemu-kvmhelper.go b/pkg/hostman/guestman/qemu-kvmhelper.go index 15c3a7f66b..c22ed66773 100644 --- a/pkg/hostman/guestman/qemu-kvmhelper.go +++ b/pkg/hostman/guestman/qemu-kvmhelper.go @@ -18,6 +18,7 @@ import ( "fmt" "net" "path" + "strings" "time" "github.com/mdlayher/arp" @@ -105,6 +106,16 @@ func (s *SKVMGuestInstance) isOldWindows() bool { return false } +func (s *SKVMGuestInstance) isWindows10() bool { + if s.getOsname() == OS_NAME_WINDOWS { + distro := s.getOsDistribution() + if strings.Contains(strings.ToLower(distro), "windows 10") { + return true + } + } + return false +} + func (s *SKVMGuestInstance) getMachine() string { machine, err := s.Desc.GetString("machine") if err != nil { @@ -543,7 +554,9 @@ function nic_mtu() { cmd += " -device virtio-serial" cmd += " -usb" - if !utils.IsInStringArray(s.getOsDistribution(), []string{OS_NAME_OPENWRT, OS_NAME_CIRROS}) && !s.isOldWindows() && !s.disableUsbKbd() { + if !utils.IsInStringArray(s.getOsDistribution(), []string{OS_NAME_OPENWRT, OS_NAME_CIRROS}) && + !s.isOldWindows() && !s.isWindows10() && + !s.disableUsbKbd() { cmd += " -device usb-kbd" } // # if osname == self.OS_NAME_ANDROID: