TechNet
Table of contents
TOC
Collapse the table of content
Expand the table of content

Supported Ubuntu virtual machines on Hyper-V

Joshua R. Poulson|Last Updated: 9/15/2016
|
6 Contributors

Applies To: Windows Server 2016 Technical Preview, Hyper-V Server 2016 Technical Preview, Windows Server 2012 R2, Hyper-V Server 2012 R2, Windows Server 2012, Hyper-V Server 2012, Windows Server 2008 R2, Windows Server 2008, Windows 10, Windows 8.1, Windows 8, Windows 7.1, Windows 7

Beginning with Ubuntu 12.04, loading the "linux-virtual" package installs a kernel suitable for use as a guest virtual machine. This package always depends on the latest minimal generic kernel image and headers used for virtual machines. While its use is optional, the linux-virtual kernel will load fewer drivers and may boot faster and have less memory overhead than a generic image.

To get full use of Hyper-V, install the appropriate linux-tools and linux-cloud-tools packages to install tools and daemons for use with virtual machines. When using the linux-virtual kernel, load linux-tools-virtual and linux-cloud-tools-virtual.

The following feature distribution map indicates the features in each version. The known issues and workarounds for each distribution are listed after the table.

Table legend

  • Built in - LIS are included as part of this Linux distribution. The Microsoft-provided LIS download package doesn't work for this distribution, so don't install it. The kernel module version numbers for the built in LIS (as shown by lsmod, for example) are different from the version number on the Microsoft-provided LIS download package. A mismatch doesn't indicate that the built in LIS is out of date.

  • ✔ - Feature available

  • (blank) - Feature not available

FeatureWindows Server operating system version16.0414.0412.04
AvailabilityBuilt-inBuilt-inBuilt-in
Core2016, 2012 R2, 2012, 2008 R2
Networking
Jumbo frames2016, 2012 R2, 2012, 2008 R2
VLAN tagging and trunking2016, 2012 R2, 2012, 2008 R2
Live migration2016, 2012 R2, 2012, 2008 R2
Static IP Injection2016, 2012 R2, 2012✔ Note 1✔ Note 1✔ Note 1
vRSS2016, 2012 R2
TCP Segmentation and Checksum Offloads2016, 2012 R2, 2012, 2008 R2
Storage
VHDX resize2016, 2012 R2
Virtual Fibre Channel2016, 2012 R2✔ Note 2✔ Note 2
Live virtual machine backup2016, 2012 R2✔ Note 3, 4, 5✔ Note 3, 4, 5
TRIM support2016, 2012 R2
SCSI WWN2016, 2012 R2
Memory
PAE Kernel Support2016, 2012 R2, 2012, 2008 R2
Configuration of MMIO gap2016, 2012 R2
Dynamic Memory - Hot-Add2016, 2012 R2, 2012✔ Note 7, 8, 9✔ Note 7, 8, 9
Dynamic Memory - Ballooning2016, 2012 R2, 2012✔ Note 7, 8, 9✔ Note 7, 8, 9
Runtime Memory Resize2016
Video
Hyper-V specific video device2016, 2012 R2, 2012, 2008 R2
Miscellaneous
Key/value pair2016, 2012 R2, 2012, 2008 R2✔ Note 5, 10✔ Note 5, 10✔ Note 5, 10
Non-Maskable Interrupt2016, 2012 R2
File copy from host to guest2016, 2012 R2
lsvmbus command2016, 2012 R2, 2012, 2008 R2
Hyper-V Sockets2016
PCI Passthrough/DDA2016
Generation 2 virtual machines
Boot using UEFI2016, 2012 R2✔ Note 11, 12✔ Note 11, 12
Secure boot2016

Notes

  1. Static IP injection may not work if Network Manager has been configured for a given Hyper-V-specific network adapter on the virtual machine. To ensure smooth functioning of static IP injection please ensure that Network Manager is turned off completely or has been turned off for a specific network adapter through its ifcfg-ethX file.

  2. While using virtual fiber channel devices, ensure that logical unit number 0 (LUN 0) has been populated. If LUN 0 has not been populated, a Linux virtual machine might not be able to mount fiber channel devices natively.

  3. If there are open file handles during a live virtual machine backup operation, then in some corner cases, the backed-up VHDs might have to undergo a file system consistency check (fsck) on restore.

  4. Live backup operations can fail silently if the virtual machine has an attached iSCSI device or direct-attached storage (also known as a pass-through disk).

  5. On long term support (LTS) releases use latest virtual Hardware Enablement (HWE) kernel for up to date Linux Integration Services.

    To install the virtual kernel on 16.04, run the following commands as root (or sudo):

    # apt-get update  
    # apt-get install --install-recommends linux-virtual-lts-xenial
    

    To install the virtual kernel on 14.04, run the following commands as root (or sudo):

    # apt-get update  
    # apt-get install --install-recommends linux-virtual-lts-xenial
    

    To install the virtual kernel on 12.04, run the following commands as root (or sudo):

    # apt-get update  
    # apt-get install --install-recommends linux-generic-lts-trusty
    

    On Ubuntu 12.04, 14.04, and 16.04 the Hyper-V daemons are in a separately installed package:

    • VSS Snapshot daemon - This daemon is required to create live Linux virtual machine backups.
    • KVP daemon - This daemon allows setting and querying intrinsic and extrinsic key value pairs.
    • fcopy daemon - This daemon implements a file copying service between the host and guest.

    To install the Hyper-V daemons on 16.04, run the following commands as root (or sudo):

    # apt-get install --install-recommends linux-tools-virtual-lts-xenial linux-cloud-tools-virtual-lts-xenial
    

    To install the Hyper-V daemons on 14.04, run the following commands as root (or sudo).

    # apt-get install --install-recommends hv-kvp-daemon-init linux-tools-virtual-lts-xenial linux-cloud-tools-virtual-lts-xenial
    

    To install the kvp daemon on 12.04, run the following commands as root (or sudo).

    # apt-get install --install-recommends hv-kvp-daemon-init linux-tools-lts-trusty linux-cloud-tools-generic-lts-trusty
    

    Whenever the kernel is updated, the virtual machine must be rebooted to use it.

  6. (Note reserved for interim releases when they are in active support.)

  7. Dynamic memory support is only available on 64-bit virtual machines.

  8. Dynamic Memory operations can fail if the guest operating system is running too low on memory. The following are some best practices:

    • Startup memory and minimal memory should be equal to or greater than the amount of memory that the distribution vendor recommends.
    • Applications that tend to consume the entire available memory on a system are limited to consuming up to 80 percent of available RAM.
  9. If you are using Dynamic Memory on Windows Server 2016 Technical Preview or Windows Server 2012 operating systems, specify Startup memory, Minimum memory, and Maximum memory parameters in multiples of 128 megabytes (MB). Failure to do so can lead to Hot-Add failures, and you might not see any memory increase on a guest operating system.

  10. In Windows Server 2016 Technical Preview or Windows Server 2012 R2 , the key/value pair infrastructure might not function correctly without a Linux software update. Contact your distribution vendor to obtain the software update in case you see problems with this feature.

  11. On Windows Server 2012 R2 Generation 2 virtual machines have secure boot enabled by default and some Linux virtual machines will not boot unless the secure boot option is disabled. You can disable secure boot in the Firmware section of the settings for the virtual machine in Hyper-V Manager or you can disable it using Powershell:

    Set-VMFirmware -VMName "VMname" -EnableSecureBoot Off
    
  12. Before attempting to copy the VHD of an existing Generation 2 VHD virtual machine to create new Generation 2 virtual machines, follow these steps:

    1. Log in to the existing Generation 2 virtual machine.
    2. Change directory to the boot EFI directory:

      # cd /boot/efi/EFI
      
    3. Copy the ubuntu directory in to a new directory named boot:

      # sudo cp -r ubuntu/ boot
      
    4. Change directory to the newly created boot directory:

      # cd boot
      
    5. Rename the shimx64.efi file:

      # sudo mv shimx64.efi bootx64.efi
      

See Also

© 2016 Microsoft