Enhanced Ubuntu VM in Hyper-V

Hello Ubuntu community,

I’m a Program Manager at Microsoft on the Hyper-V team. If you’ve ever run Ubuntu in Hyper-V, you’ve probably noticed the experience is missing out on some essential creature comforts–things like clipboard or drive redirection. We want to change this, and we want Ubuntu to be the distro where we focus our efforts initially.

Our investigation has led us to contribute to the open source project XRDP and leverage the work that the folks at XRDP have done to enable a better experience through Hyper-V. We’re partnering with Canonical to ensure the Bionic Beaver experience will be a turn-key experience.

If you’re interested in testing out the feature, we’d love to have you along for the ride. We’ve written a blog post that details the steps required to get the feature set up in Hyper-V.

We’d love to hear any feedback you have.

Cheers!

7 Likes
if [ "$?" == "1" ]; then
sudo bash -c 'echo "deb http://archive.ubuntu.com/ubuntu/ bionic-proposed restricted main multiverse universe" >> /etc/apt/sources.list <<EOF
EOF'
fi


sudo apt update && sudo apt dist-upgrade -y

Adding bionic-proposed onto a users system (even if it is a new VM) is not a good idea. The -proposed archive on a development release is going to be broken (by design) as it catches any packages with dependency issues. This is not meant for human consumption and will quite likely cause issues that are completely unrelated to your work.

It is much safer to use a PPA to distribute packages while you wait for updates to migrate through -proposed into main. You can even just copy pacakages from -proposed across to the PPA.

It would also be cleaner and more reliable to use a PPA for your 16.04 build, rather than building from source in the target VM. That way you can only upload know good builds to the ppa, and not rely on the git repo that may become broken at any point in time due to ongoing development.

2 Likes

Great feedback on this, thank you.

I’d like to test this out on 18.04 (beta 2 right now). Is this included in the ISO? Or do I need to take additional steps.

Thanks,
Evan

Hey Evan,

If you get a stock Ubuntu ISO, you will always need to do some configuring in order to get the best experience in Hyper-V. Alternatively, if you get an Ubuntu image through the Hyper-V Quick Create Gallery, it will come preconfigured for you.

The blog post that’s linked points to a git repo. In that git repo is also an 18.04 version script. You could use that in tandem with your beta 2 ISO to get things up and running. You’d pretty much just follow the blog post but instead point to the 18.04 script.

Hey Craig! My H-V Quick Create Gallery only has a Win10 image on it. How do I add Bionic there?

You’ll need to have the next Windows release–due to be out in a couple days–which carries the necessary bits. We’re also finalizing getting the correct image in place with Canonical to put up into the gallery as well.

As an aside, if you’re talking about “how to add your own custom Bionic image”, you can follow this tutorial to add your own image to your personal gallery: https://blogs.technet.microsoft.com/virtualization/2017/11/08/create-your-custom-quick-create-vm-gallery/

I’ll be sure to post back on this thread once the 18.04 VM is in the Quick Create Gallery :slight_smile:

Thanks Craig. I’m on Skip Ahead Insider builds right now, so I guess my only option is to roll my own json config?

1 Like

Thanks Craig, I will give that script a try.

Regarding the required “configuring”, do you think we can get some updates on the docs page for 18.04? I’m wondering what packages should be installed to get all the daemons up and running. Right now, my scripts are installing these:

  • linux-tools-$(uname -r)
  • linux-cloud-tools-$(uname -r)
  • linux-cloud-tools-common

Thanks,
Evan

1 Like

Hi Craig,
It doesn’t seem to be working for me. I got this the first time I tried to connect:

I gave the username & password (vagrant/vagrant) on that screen, but the connection failed after that. Trying to connect again, it failed without that screen coming up.

I noticed that the config_user script specifically tries to run some unity binaries, however I don’t have Unity installed, only MATE. I’m not sure what the corresponding MATE binaries are, or if there’s a way to call a “default” symlink that would point to the appropriate one. (Could probably be done with set-alternatives?)

My VM is available online at Vagrant Cloud, do you think someone could take a look? I’d really appreciate it if so :slight_smile: Once inside the VM, you will need to download & run the xrdp scripts.

(Note: There’s a bug in version 0.1.1, you will not be able to ssh in using the vagrant default key, just use vagrant/vagrant instead.)

Hello @cwilhit

I would like to talk with your about Ubuntu in Hyper-V

If you can reach me at my Discord Server https://discord.gg/cb3jRbA My name is Lucas Bertone there.

Thank you

Is there a dependency on the version of host O/S for the noted Hyper-V essential creature comforts in the guest O/S?

1 Like

Yes, you need to be running Windows 10, Spring Creators Update (ver 1803 / Build 17134) or later. Being on the insider ring works as well.

Hi @cwilhit,

Do you know per chance when Ubuntu 18.04 will be officially supported in Hyper-V? Half a year has passed since 18.04 was released, LTS 18.04.1 was released since but Microsoft still doesn’t officially support 18.04. Support status is critical for any enterprise. Until that page gets updated current Ubuntu LTS (18.04) cannot be used in production.

Please note that CentOS 7.5-1804 is supported for many months, Azure has official images with Ubuntu 18.04, VMware has added support for Ubuntu 18.04 on May 3rd. While it was publicly announced that Microsoft wants Ubuntu to be “first class guest” under Hyper-V and this project is part of it, in fact, Ubuntu 18.04LTS support is dangerously delayed which is forcing businesses to consider moving to other hypervisors and/or Linux distributions.

Hey @vital-0, I’m inclined to think that doc page is just out of date. If I’m not mistaken, that table is just a fancy way to describe which Linux Integration Services are available with which versions of ubuntu–I believe the LIS packages all work on 18.04.

Thanks for bringing this to my attention. I’ll circle back with some folks and verify whether that page is stale.

Hi @cwilhit,

Thank you for your prompt reply!
Unfortunately, Microsoft Support declines cases if Microsoft Docs say the configuration is not supported. Here is direct quote from one of our previous cases:

as per the Microsoft support policies we do not support what is not documented.

This means until the aforementioned docs page is fixed, Ubuntu 18.04 cannot be used in any production environment under Hyper-V as it’s not supported officially.

Thank you in advance if you can help with updating the docs page.