<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Virtualization articles</title>
    <link>https://techcommunity.microsoft.com/t5/virtualization/bg-p/Virtualization</link>
    <description>Virtualization articles</description>
    <pubDate>Fri, 24 Apr 2026 00:24:50 GMT</pubDate>
    <dc:creator>Virtualization</dc:creator>
    <dc:date>2026-04-24T00:24:50Z</dc:date>
    <item>
      <title>Hyper-V HyperClear RETbleed Update</title>
      <link>https://techcommunity.microsoft.com/t5/virtualization/hyper-v-hyperclear-retbleed-update/ba-p/3576717</link>
      <description>&lt;P&gt;Multiple new speculative execution side channel issues were recently disclosed by both Intel and AMD.&amp;nbsp; These issues were described in security bulletins available here:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://www.amd.com/en/corporate/product-security/bulletin/amd-sb-1037" target="_blank" rel="noopener"&gt;AMD CPU Branch Type Confusion | AMD&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/advisory-guidance/return-stack-buffer-underflow.html" target="_blank" rel="noopener"&gt;Return Stack Buffer Underflow / CVE-2022-29901, CVE-2022-28693 /... (intel.com)&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;These hardware vulnerabilities are officially referred to as CVE-2022-23825 (Branch Type Confusion), CVE-2022-29900 (RETbleed), CVE-2022-29901 (Return Stack Buffer Underflow (RSBA)) and CVE-2022-28693 (Return Stack Buffer Underflow (RRSBA)).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In many ways, these issues are very similar to the Spectre (variant 2) side channel attack which was disclosed in early 2018.&amp;nbsp; Since that time, Microsoft’s core virtualization engineering team has been working hard at developing and optimizing our hypervisor’s comprehensive and highly efficient side channel mitigation, &lt;A href="https://docs.microsoft.com/en-us/virtualization/community/team-blog/2018/20180814-hyper-v-hyperclear-mitigation-for-l1-terminal-fault" target="_blank" rel="noopener"&gt;HyperClear&lt;/A&gt;.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When I last provided &lt;A href="https://techcommunity.microsoft.com/t5/virtualization/5-14-hyper-v-hyperclear-update/ba-p/566499" target="_self"&gt;an update in 2019&lt;/A&gt;, I indicated that only minor changes were required to protect our customers from a large set of hardware vulnerabilities that could lead to disclosure of private data from microarchitectural buffers within an Intel CPU.&amp;nbsp; I’m happy to share that once again, no significant HyperClear updates were needed to mitigate these new vulnerabilities and help protect our customers.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As described in the first two HyperClear blog posts, our side channel mitigation technique relies on 3 main components to ensure strong inter-VM isolation:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Core Scheduler: to avoid sharing of a CPU core’s private buffers and other resources&lt;/LI&gt;
&lt;LI&gt;Virtual-Processor Address Space Isolation: to avoid speculative access to another virtual machine’s memory or another virtual CPU core’s private state&lt;/LI&gt;
&lt;LI&gt;Sensitive Data Scrubbing: to avoid leaving private data anywhere in hypervisor memory other than within a virtual processor’s private address space so that this data cannot be speculatively accessed in the future&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Once again, the Hyper-V HyperClear architecture has proven to be a readily extensible design that helps provide strong isolation boundaries against a variety of speculative execution side channel attacks with negligible impact on performance.&lt;/P&gt;</description>
      <pubDate>Tue, 19 Jul 2022 16:21:34 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/virtualization/hyper-v-hyperclear-retbleed-update/ba-p/3576717</guid>
      <dc:creator>brucesherwin</dc:creator>
      <dc:date>2022-07-19T16:21:34Z</dc:date>
    </item>
    <item>
      <title>AMD Nested Virtualization Support</title>
      <link>https://techcommunity.microsoft.com/t5/virtualization/amd-nested-virtualization-support/ba-p/1434841</link>
      <description>&lt;P&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization?redirectedfrom=MSDN" target="_blank" rel="noopener"&gt;Nested Virtualization&lt;/A&gt; is not a new idea. In fact, we &lt;A href="https://techcommunity.microsoft.com/t5/virtualization/windows-insider-preview-nested-virtualization/ba-p/382256" target="_blank" rel="noopener"&gt;announced&lt;/A&gt; our first preview of Nested Virtualization running on Windows way back in 2015.&amp;nbsp; From that Windows Insider preview to now, Nested Virtualization has been used in a variety of offerings in a variety of ways.&amp;nbsp; Today, you can find Nested Virtualization &lt;A href="https://docs.microsoft.com/en-us/azure/virtual-machines/windows/nested-virtualization" target="_blank" rel="noopener"&gt;support&lt;/A&gt; in Azure that gives the Azure users flexibility in how they want to setup their environments.&amp;nbsp; An example of Nested Virtualization being used to support our developer community is to accelerate Microsoft’s &lt;A href="https://docs.microsoft.com/en-us/xamarin/android/get-started/installation/android-emulator/hardware-acceleration?pivots=windows" target="_blank" rel="noopener"&gt;Android Emulation&lt;/A&gt;.&amp;nbsp; Nested Virtualization is being used by&amp;nbsp; IT Pros to set up a home labs. And we can’t forget containers! If you want to use a Hyper-V Containers inside a VM, you guessed it: this is enabled with Nested Virtualization.&amp;nbsp; You can start to see why Nested Virtualization is such a useful technology.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There is one group of users that was unable to take advantage of Nested Virtualization on Windows. These were our users with AMD hardware.&amp;nbsp; Not a week goes by where the team doesn’t get a request for Nested Virtualization support for AMD from our community or from within Microsoft.&amp;nbsp; In fact, it is the number 1 ask on Windows Server’s &lt;A href="https://windowsserver.uservoice.com/forums/295047-general-feedback/filters/top" target="_blank" rel="noopener"&gt;uservoice page&lt;/A&gt;. At the time of this blog post, it was almost 5x more than the next feedback item.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am happy to announce that the community has been heard and starting with Windows Build 19636, you will be able to try out Nested Virtualization on AMD processors! If you’re on the Windows Insider Fast ring then you can try this out today.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As this is a preview release of Nested Virtualization on AMD, there are some guidance and limitations to keep in mind if you want to try this out.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Ensure your OS build number is 19636 or greater&lt;/LI&gt;
&lt;LI&gt;Right now, this has been tested on AMD’s first generation Ryzen/Epyc or newer processors&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;For maximum stability and performance u&lt;/SPAN&gt;&lt;SPAN&gt;se a Windows guest with an OS version that is greater than or equal to the host OS version (19636) for now&lt;/SPAN&gt;.&amp;nbsp; Linux KVM guest support will be coming in the future&lt;/LI&gt;
&lt;LI&gt;Create a version 9.3 VM. Here’s an example PowerShell command to ensure a version 9.3 VM is being used: &amp;nbsp;New-Vm -VMName “L1 Guest” -Version 9.3&lt;/LI&gt;
&lt;LI&gt;Follow the rest of the steps in our &lt;A href="https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization" target="_blank" rel="noopener"&gt;public documentation&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;June 12, 2020 edit: changed wording around Guest OS recommendation.&lt;/P&gt;</description>
      <pubDate>Sat, 13 Jun 2020 00:26:50 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/virtualization/amd-nested-virtualization-support/ba-p/1434841</guid>
      <dc:creator>chuybregts</dc:creator>
      <dc:date>2020-06-13T00:26:50Z</dc:date>
    </item>
    <item>
      <title>VMware Workstation and Hyper-V</title>
      <link>https://techcommunity.microsoft.com/t5/virtualization/vmware-workstation-and-hyper-v/ba-p/1419928</link>
      <description>&lt;P&gt;As a follow up to our previous post on &lt;A href="https://techcommunity.microsoft.com/t5/virtualization/vmware-workstation-and-hyper-v-working-together/ba-p/825831" target="_blank" rel="noopener"&gt;VMware and Hyper-V Working Together&lt;/A&gt;,&amp;nbsp; VMware has released a version of VMware Workstation that works with the &lt;A href="https://docs.microsoft.com/en-us/virtualization/api/" target="_blank" rel="noopener"&gt;Windows Hypervisor Platform&lt;/A&gt;&lt;U&gt; (WHP)&lt;/U&gt;. This release adds support for VMware Workstation running side by side with Microsoft’s virtualization based offerings.&amp;nbsp; For a full write up on the changes VMware made and the details on the version required check out their excellent post &lt;A href="https://blogs.vmware.com/workstation/2020/05/vmware-workstation-now-supports-hyper-v-mode.html" target="_blank" rel="noopener"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In Windows 10, we introduced a number of features that utilize the Windows Hypervisior. These include security enhancements like &lt;A href="https://docs.microsoft.com/en-us/windows/security/identity-protection/credential-guard/credential-guard" target="_blank" rel="noopener"&gt;Windows Defender Credential Guard&lt;/A&gt;, &lt;A href="https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-application-guard/wd-app-guard-overview" target="_blank" rel="noopener"&gt;Windows Defender Application Guard&lt;/A&gt;, and &lt;A href="https://docs.microsoft.com/en-us/windows-hardware/design/device-experiences/oem-vbs" target="_blank" rel="noopener"&gt;Virtualization Based Security&lt;/A&gt; as well as developer features like &lt;A href="https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/" target="_blank" rel="noopener"&gt;Windows Containers&lt;/A&gt; and &lt;A href="https://docs.microsoft.com/en-us/windows/wsl/wsl2-index" target="_blank" rel="noopener"&gt;WSL 2&lt;/A&gt;. Prior to the WHP integration, these features needed to be disabled before Workstation was able to launch. Post integration, end users are now able to take advantage of these features and use Workstation!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A big thank you and congratulations go out to the engineering teams of both companies that made this possible.&amp;nbsp; This milestone was reached through their hard work and dedication and I’m excited to see the results of this effort being released to the world!&lt;/P&gt;</description>
      <pubDate>Fri, 29 May 2020 06:19:08 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/virtualization/vmware-workstation-and-hyper-v/ba-p/1419928</guid>
      <dc:creator>chuybregts</dc:creator>
      <dc:date>2020-05-29T06:19:08Z</dc:date>
    </item>
    <item>
      <title>Hyper-V Powering Windows Features</title>
      <link>https://techcommunity.microsoft.com/t5/virtualization/hyper-v-powering-windows-features/ba-p/1063685</link>
      <description>&lt;P&gt;&lt;EM&gt;December 2019&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Hyper-V is Microsoft’s hardware virtualization technology that initially released with Windows Server 2008 to support server virtualization and has since become a core component of many Microsoft products and features. These features range from enhancing security to empowering developers to enabling the most compatible gaming console. Recent additions to this list include Windows Sandbox, Windows Defender Application Guard, System Guard and Advanced Threat Detection, Hyper-V Isolated-Containers, Windows Hypervisor Platform and Windows Subsystem for Linux 2. Additionally, applications using Hyper-V, such as Kubernetes for Windows and Docker Desktop, are also being introduced and improved.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As the scope of Windows virtualization has expanded to become an integral part of the operating system, many new OS capabilities have taken a dependency on Hyper-V. Consequently, this created compatibility issues with many popular third-party products that provide their own virtualization solutions, forcing users to choose between applications or losing OS functionality. Therefore, Microsoft has partnered extensively with key software vendors such as VMware, VirtualBox, and BlueStacks to provide updated solutions that directly leverage Microsoft virtualization technologies, eliminating the need for customers to make this trade-off.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;&lt;A href="https://techcommunity.microsoft.com/t5/Windows-Kernel-Internals/Windows-Sandbox/ba-p/301849" target="_blank" rel="noopener"&gt;Windows Sandbox&lt;/A&gt;&lt;/H2&gt;
&lt;P&gt;Windows Sandbox is an isolated, temporary, desktop environment where you can run untrusted software without the fear of lasting impact to your PC. &amp;nbsp;Any software installed in Windows Sandbox stays only in the sandbox and cannot affect your host. Once Windows Sandbox is closed, the entire state, including files, registry changes and the installed software, are permanently deleted. Windows Sandbox is built using the same technology we developed to securely operate multi-tenant Azure services like Azure Functions and provides integration with Windows 10 and support for UI based applications.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;&lt;A href="https://blogs.windows.com/msedgedev/2016/09/27/application-guard-microsoft-edge/#oo56ZR6oTAA5Az7e.97" target="_self"&gt;Windows&lt;SPAN&gt; Defender Application Guard&lt;/SPAN&gt; &lt;/A&gt;&lt;/H2&gt;
&lt;P style="font-family: SegoeUI, Lato, 'Helvetica Neue', Helvetica, Arial, sans-serif; color: #333333;"&gt;Windows Defender Application Guard (WDAG) is a Windows 10 security feature introduced in the Fall Creators Update (Version 1709 aka&amp;nbsp;RS3) that protects against targeted threats using Microsoft’s&amp;nbsp;Hyper-V&amp;nbsp;virtualization technology. WDAG augments Windows virtualization based security capabilities to prevent zero-day kernel vulnerabilities from compromising the host operating system. WDAG also enables enterprise users of Microsoft Edge and Internet Explorer (IE) protection from zero-day kernel vulnerabilities by isolating a user’s untrusted browser sessions from the host operating system. Security conscious enterprises use WDAG to lock down their enterprise host while allowing their users to browse non-enterprise content.&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Application Guard isolates untrusted sites using a new instance of Windows at the hardware layer.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;&lt;A href="https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-system-guard/how-hardware-based-root-of-trust-helps-protect-windows" target="_blank" rel="noopener"&gt;Windows Defender System Guard&lt;/A&gt;&lt;/H2&gt;
&lt;P&gt;In order to protect critical resources such as the Windows authentication stack, single sign-on tokens, the Windows Hello biometric stack, and the Virtual Trusted Platform Module, a system's firmware and hardware must be trustworthy. Windows Defender System Guard reorganizes the existing Windows 10 system integrity features under one roof and sets up the next set of investments in Windows security. It's designed to make these security guarantees:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;To protect and maintain the integrity of the system as it starts up&lt;/LI&gt;
&lt;LI&gt;To validate that system integrity has truly been maintained through local and remote attestation&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;&lt;A href="https://www.microsoft.com/en-us/microsoft-365/windows/microsoft-defender-atp" target="_blank" rel="noopener"&gt;Windows Defender Advanced Threat Detection&lt;/A&gt;&lt;/H2&gt;
&lt;P&gt;Detecting and stopping attacks that tamper with kernel-mode agents at the hypervisor level is a critical component of the unified endpoint protection platform in Microsoft Defender Advanced Threat Protection (&lt;A href="https://www.microsoft.com/en-us/microsoft-365/windows/microsoft-defender-atp" target="_blank" rel="noopener"&gt;Microsoft Defender ATP&lt;/A&gt;). It’s not without challenges, but the deep integration of&amp;nbsp;&lt;A href="https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10" target="_blank" rel="noopener"&gt;Windows Defender Antivirus&lt;/A&gt;&amp;nbsp;with&amp;nbsp;&lt;A href="https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10" target="_blank" rel="noopener"&gt;hardware-based isolation&lt;/A&gt;&amp;nbsp;capabilities allows the detection of artifacts of such attacks.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;&lt;A href="https://docs.microsoft.com/en-us/virtualization/api/" target="_blank" rel="noopener"&gt;Hyper-V Isolated Containers&lt;/A&gt;&lt;/H2&gt;
&lt;P&gt;Hyper-V plays an important role in the container development experience on Windows 10. Since Windows containers require a tight coupling between its OS version and the host that it runs on, Hyper-V is used to encapsulate containers on Windows 10 in a transparent, lightweight virtual machine. Colloquially, we call these "Hyper-V Isolated Containers". These containers are run in VMs that have been specifically optimized for speed and efficiency when it comes to host resource usage. Hyper-V Isolated Containers most notably allow developers to develop for multiple Linux distros and Windows at the same time and are managed just like any container developer would&amp;nbsp;expect as they integrate with all the same tooling (e.g. Docker).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;&lt;A href="https://docs.microsoft.com/en-us/virtualization/api/" target="_blank" rel="noopener"&gt;Windows Hypervisor Platform&lt;/A&gt;&lt;/H2&gt;
&lt;P&gt;The Windows Hypervisor Platform (WHP) adds an extended user-mode API for third-party virtualization stacks and applications to create and manage partitions at the hypervisor level, configure memory mappings for the partition, and create and control execution of virtual processors. The primary value here is that third-party virtualization software (such as VMware) can co-exist with Hyper-V and other Hyper-V based features. &lt;A href="https://techcommunity.microsoft.com/t5/Virtualization/Virtualization-Based-Security-Enabled-by-Default/ba-p/890167" target="_blank" rel="noopener"&gt;Virtualization-Based Security&lt;/A&gt; (VBS) is a recent technology that has enabled this co-existence.&lt;/P&gt;
&lt;P&gt;WHP provides an &lt;SPAN&gt;API&lt;/SPAN&gt; similar to that of &lt;A href="https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine" target="_blank" rel="noopener"&gt;Linux's KVM&lt;/A&gt; and &lt;A href="https://developer.apple.com/documentation/hypervisor" target="_blank" rel="noopener"&gt;macOS's Hypervisor Framework&lt;/A&gt;, and is currently leveraged on projects by &lt;A href="https://qemu.org/" target="_blank" rel="noopener"&gt;QEMU&lt;/A&gt; &lt;SPAN&gt;and &lt;/SPAN&gt;&lt;A href="https://blogs.vmware.com/workstation/2019/08/workstation-hyper-v-harmony.html" target="_blank" rel="noopener"&gt;VMware&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;This diagram provides a high-level overview of a third-party architecture.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;&lt;A href="https://devblogs.microsoft.com/commandline/announcing-wsl-2/" target="_blank" rel="noopener"&gt;Windows Subsystem for Linux 2&lt;/A&gt;&lt;/H2&gt;
&lt;P&gt;WSL 2 is the newest version of the architecture that powers the Windows Subsystem for Linux to run ELF64 Linux binaries on Windows. Its feature updates include increased file system performance as well as added full system call compatibility. This new architecture changes how these Linux binaries interact with Windows and your computer’s hardware, but still provides the same user experience as in WSL 1 (the current widely available version). The main difference being that WSL 2 uses a new architecture, which is primarily running a true Linux kernel inside a virtual machine. Individual Linux distros can be run either as a WSL 1 distro, or as a WSL 2 distro, can be upgraded or downgraded at any time, and can run WSL 1 and WSL 2 distros side by side.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;&lt;A href="https://cloudblogs.microsoft.com/opensource/2019/03/25/windows-server-containers-now-supported-kubernetes/" target="_blank" rel="noopener"&gt;Kubernetes Support for Windows&lt;/A&gt;&lt;/H2&gt;
&lt;P&gt;Kubernetes started officially supporting Windows Server in production with the release of Kubernetes version 1.14 (in March 2019). Windows-based applications constitute a large portion of the workloads in many organizations. Windows containers provide a modern way for these Windows applications to use DevOps processes and cloud native patterns. Kubernetes has become the de facto standard for container orchestration; hence this support enables a vast ecosystem of Windows applications to not only leverage the power of Kubernetes, but also to leverage the robust and growing ecosystem surrounding it. Organizations with investments in both Windows-based applications and Linux-based applications no longer need to look for separate orchestrators to manage their workloads, leading to increased operational efficiencies across their deployments. The engineering that supported this release relied upon open source and community led approaches that originally brought Windows Server containers to Windows Server 2016.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;These components and tools have allowed Microsoft’s Hyper-V technology to introduce new ways of enabling customer experiences. Windows Sandbox, Windows Defender Application Guard, System Guard and Advanced Threat Detection, Hyper-V Isolated-Containers, Windows Hypervisor Platform and Windows Subsystem for Linux 2 are all new Hyper-V components that ensure the security and flexibility customers should expect from Windows. The coordination of applications using Hyper-V, such as Kubernetes for Windows and Docker Desktop also represent Microsoft’s dedication to customer needs, which will continue to stand for our main sentiment going forward.&lt;/P&gt;</description>
      <pubDate>Thu, 12 Dec 2019 22:31:20 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/virtualization/hyper-v-powering-windows-features/ba-p/1063685</guid>
      <dc:creator>nickeaton</dc:creator>
      <dc:date>2019-12-12T22:31:20Z</dc:date>
    </item>
    <item>
      <title>Virtualization-Based Security: Enabled by Default</title>
      <link>https://techcommunity.microsoft.com/t5/virtualization/virtualization-based-security-enabled-by-default/ba-p/890167</link>
      <description>&lt;P&gt;&lt;A href="https://docs.microsoft.com/en-us/windows-hardware/design/device-experiences/oem-vbs" target="_blank"&gt;Virtualization-based Security (VBS)&lt;/A&gt; uses hardware virtualization features to create and isolate a secure region of memory from the normal operating system. Windows can use this "virtual secure mode" (VSM) to host a number of security solutions, providing them with greatly increased protection from vulnerabilities in the operating system, and preventing the use of malicious exploits which attempt to defeat operating systems protections.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The Microsoft hypervisor creates VSM and enforces restrictions which protect vital operating system resources, provides an isolated execution environment for privileged software and can protect secrets &lt;A href="https://docs.microsoft.com/en-us/windows/security/identity-protection/credential-guard/credential-guard-manage" target="_blank"&gt;such as authenticated user credentials&lt;/A&gt;. With the increased protections offered by VBS, even if malware compromises the operating system kernel, the possible exploits can be greatly limited and contained because the hypervisor can prevent the malware from executing code or accessing secrets.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The Microsoft hypervisor has supported VSM since the earliest versions of Windows 10. However, until recently, Virtualization-based Security has been an optional feature that is most commonly enabled by enterprises. This was great, but the hypervisor development team was not satisfied. We believed that all devices running Windows should have Microsoft’s most advanced and most effective security features enabled by default. In addition to bringing significant security benefits to Windows, achieving default enablement status for the Microsoft hypervisor enables seamless integration of numerous other scenarios leveraging virtualization. Examples include &lt;A href="https://docs.microsoft.com/en-us/windows/wsl/wsl2-index" target="_blank"&gt;WSL2&lt;/A&gt;, &lt;A href="https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-application-guard/wd-app-guard-overview" target="_blank"&gt;Windows Defender Application Guard&lt;/A&gt;, &lt;A href="https://techcommunity.microsoft.com/t5/Windows-Kernel-Internals/Windows-Sandbox/ba-p/301849" target="_blank"&gt;Windows Sandbox&lt;/A&gt;, &lt;A href="https://docs.microsoft.com/en-us/virtualization/api/" target="_blank"&gt;Windows Hypervisor Platform support for 3rd party virtualization software&lt;/A&gt;, and much more.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With that goal in mind, we have been hard at work over the past several Windows releases optimizing every aspect of VSM. We knew that getting to the point where VBS could be enabled by default would require reducing the performance and power impact of running the Microsoft hypervisor on typical consumer-grade hardware like tablets, laptops and desktop PCs. We had to make the incremental cost of running the hypervisor as close to zero as possible and this was going to require close partnership with the Windows kernel team and our closest silicon partners – Intel, AMD, and ARM (Qualcomm).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Through software innovations like &lt;A href="https://techcommunity.microsoft.com/t5/Virtualization/Hyper-V-HyperClear-Mitigation-for-L1-Terminal-Fault/ba-p/382429" target="_blank"&gt;HyperClear&lt;/A&gt; and by making significant hypervisor and Windows kernel changes to avoid fragmenting large pages in the second-level address translation table, we were able to dramatically reduce the runtime performance and power impact of hypervisor memory management. We also heavily optimized hot hypervisor codepaths responsible for things like interrupt virtualization – taking advantage of hardware virtualization assists where we found that it was helpful to do so. Last but not least, we further reduced the performance and power impact of a key VSM feature called Hypervisor-Enforced Code Integrity (HVCI) by working with silicon partners to design completely new hardware features including Intel’s Mode-based execute control for EPT (MBEC), AMD’s Guest-mode execute trap for NPT (GMET), and ARM’s Translation table stage 2 Unprivileged Execute-never (TTS2UXN).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;I’m proud to say that as of Windows 10 version 1903 &lt;/EM&gt;&lt;A href="https://support.microsoft.com/en-us/help/4517211/windows-10-update-kb4517211" target="_blank"&gt;&lt;EM&gt;9D&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;, we have succeeded in enabling Virtualization-based Security by default on some &lt;/EM&gt;&lt;A href="https://docs.microsoft.com/en-us/windows-hardware/design/device-experiences/oem-vbs" target="_blank"&gt;&lt;EM&gt;capable hardware&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;!&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The &lt;A href="https://www.samsung.com/us/mobile/tablets/galaxy-book-2/" target="_blank"&gt;Samsung Galaxy Book2&lt;/A&gt; is officially the first Windows PC to have VBS enabled &lt;U&gt;by default&lt;/U&gt;. This PC is built around the &lt;A href="https://www.qualcomm.com/products/snapdragon-850-mobile-compute-platform" target="_blank"&gt;Qualcomm Snapdragon 850&lt;/A&gt; processor, a 64-bit ARM processor. This is particularly exciting for the Microsoft hypervisor development team because it also marks the first time that enabling our hypervisor is officially supported on any ARM-based device.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Keep an eye on this blog for announcements regarding the default-enablement of VBS on additional hardware and in future versions of Windows 10.&lt;/P&gt;</description>
      <pubDate>Wed, 02 Oct 2019 23:57:30 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/virtualization/virtualization-based-security-enabled-by-default/ba-p/890167</guid>
      <dc:creator>brucesherwin</dc:creator>
      <dc:date>2019-10-02T23:57:30Z</dc:date>
    </item>
    <item>
      <title>VMware Workstation and Hyper-V – Working Together</title>
      <link>https://techcommunity.microsoft.com/t5/virtualization/vmware-workstation-and-hyper-v-working-together/ba-p/825831</link>
      <description>&lt;P&gt;Yesterday VMware demonstrated a pre-release version of VMware Workstation with early support for the &lt;A href="https://docs.microsoft.com/en-us/virtualization/api/" target="_self"&gt;Windows Hypervisor Platform&lt;/A&gt;&amp;nbsp;in the&amp;nbsp;&lt;A style="font-family: inherit; background-color: #ffffff;" href="https://my.vmworld.com/widget/vmware/vmworld19us/us19catalog?search=HBI2654BU" target="_self"&gt;What's New in VMware Fusion and VMware Workstation&lt;/A&gt;&lt;SPAN style="font-family: inherit;"&gt; session at VMworld.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In Windows 10 we have introduced many security features that utilize the Windows Hypervisor.&amp;nbsp; Credential Guard, Windows Defender Application Guard, and Virtualization Based Security all utilize the Windows Hypervisor.&amp;nbsp; At the same time, new Developer features like Windows Server Containers and the WSL 2 both utilize the Windows Hypervisor.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This has made it challenging for our customers who need to use VMware Workstation.&amp;nbsp; Historically, it has not be possible to run VMware Workstation when Hyper-V was enabled.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In the future – users will be able to run all of these applications together.&amp;nbsp; This means that users of VMware workstation will be able to take advantage of all the security enhancements and developer features that are available in Windows 10.&amp;nbsp; Microsoft and VMware have been collaborating on this effort, and I am really excited to be a part of this moment!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Cheers,&lt;BR /&gt;Ben&lt;/P&gt;</description>
      <pubDate>Tue, 27 Aug 2019 23:51:32 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/virtualization/vmware-workstation-and-hyper-v-working-together/ba-p/825831</guid>
      <dc:creator>Ben Armstrong</dc:creator>
      <dc:date>2019-08-27T23:51:32Z</dc:date>
    </item>
    <item>
      <title>5/14: Hyper-V HyperClear Update</title>
      <link>https://techcommunity.microsoft.com/t5/virtualization/5-14-hyper-v-hyperclear-update/ba-p/566499</link>
      <description>&lt;P&gt;Four new speculative execution side channel vulnerabilities were announced today and affect a wide array of Intel processors. The list of affected processors includes Intel Xeon, Intel Core, and Intel Atom models. These vulnerabilities are referred to as CVE-2018-12126 Microarchitectural Store Buffer Data Sampling (MSBDS), CVE-2018-12130 Microarchitectural Fill Buffer Data Sampling (MFBDS), CVE-2018-12127 Microarchitectural Load Port Data Sampling (MLPDS), and CVE-2018-11091 Microarchitectural Data Sampling Uncacheable Memory (MDSUM). These vulnerabilities are like other Intel CPU vulnerabilities disclosed recently in that they can be leveraged for attacks across isolation boundaries. This includes intra-OS attacks as well as inter-VM attacks.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In a previous blog post, the Hyper-V hypervisor engineering team described our high-performing and comprehensive side channel vulnerability mitigation architecture, &lt;A href="https://techcommunity.microsoft.com/t5/Virtualization/Hyper-V-HyperClear-Mitigation-for-L1-Terminal-Fault/ba-p/382429" target="_self"&gt;HyperClear&lt;/A&gt;. We originally designed HyperClear as a defense against the L1 Terminal Fault (a.k.a. Foreshadow) Intel side channel vulnerability. Fortunately for us and for our customers, HyperClear has proven to be an excellent foundation for mitigating this new set of side channel vulnerabilities. In fact, HyperClear required a relatively small set of updates to provide strong inter-VM and intra-OS protections for our customers. These updates have been deployed to Azure and are available in Windows Server 2016 and later supported releases of Windows and Windows Server. Just as before, the HyperClear mitigation allows for safe use of hyper-threading in a multi-tenant virtual machine hosting environment.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We have already shared the technical details of HyperClear and the set of required changes to mitigate this new set of hardware vulnerabilities with industry partners. However, we know that many of our customers are also interested to know how we’ve extended the Hyper-V HyperClear architecture to provide protections against these vulnerabilities.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As we described in the original HyperClear blog post, HyperClear relies on 3 main components to ensure strong inter-VM isolation:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;STRONG&gt;Core Scheduler&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Virtual-Processor Address Space Isolation&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Sensitive Data Scrubbing&lt;/STRONG&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;As we extended HyperClear to mitigate these new vulnerabilities, the fundamental components of the architecture remained constant. However, there were two primary hypervisor changes required:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;STRONG&gt;Support for a new Intel processor feature called MbClear.&lt;/STRONG&gt; Intel has been working to add support for MbClear by updating the CPU microcode for affected Intel hardware. The Hyper-V hypervisor uses this new feature to clear microarchitectural buffers when switching between virtual processors that belong to different virtual machines. This ensures that when a new virtual processor begins to execute, there is no data remaining in any microarchitectural buffers that belongs to a previously running virtual processor. Additionally, this new processor feature may be exposed to guest operating systems to implement intra-OS mitigations.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Always-enabled sensitive data scrubbing.&lt;/STRONG&gt; This ensures that the hypervisor never leaves sensitive data in hypervisor-owned memory when it returns to guest kernel-mode or guest user-mode. This prevents the hypervisor from being used as a gadget by guest user-mode. Without always-enabled sensitive data scrubbing, the concern would be that guest user-mode can deliberately trigger hypervisor entry and that the CPU may speculatively fill a microarchitectural buffer with secrets remaining in memory from a previous hypervisor entry triggered by guest kernel-mode or a different guest user-mode application. Always-enabled sensitive data scrubbing fully mitigates this concern. As a bonus, this change improves performance on many Intel processors because it enables the Hyper-V hypervisor to more efficiently mitigate other previously disclosed Intel side channel speculation vulnerabilities.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Overall, the Hyper-V HyperClear architecture has proven to be a readily extensible design providing strong isolation boundaries against a variety of speculative execution side channel attacks with negligible impact on performance.&lt;/P&gt;</description>
      <pubDate>Tue, 14 May 2019 19:54:53 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/virtualization/5-14-hyper-v-hyperclear-update/ba-p/566499</guid>
      <dc:creator>brucesherwin</dc:creator>
      <dc:date>2019-05-14T19:54:53Z</dc:date>
    </item>
    <item>
      <title>Hyper-V HyperClear Mitigation for L1 Terminal Fault</title>
      <link>https://techcommunity.microsoft.com/t5/virtualization/hyper-v-hyperclear-mitigation-for-l1-terminal-fault/ba-p/382429</link>
      <description>&lt;HTML&gt;
 &lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;
  &lt;STRONG&gt;
   First published on TECHNET on Aug 14, 2018
  &lt;/STRONG&gt;
  &lt;BR /&gt;
  &lt;H2&gt;
   Introduction
  &lt;/H2&gt;
  &lt;BR /&gt;
  A new speculative execution side channel vulnerability was announced recently that affects a range of Intel Core and Intel Xeon processors. This vulnerability, referred to as L1 Terminal Fault (L1TF) and assigned CVE 2018-3646 for hypervisors, can be used for a range of attacks across isolation boundaries, including intra-OS attacks from user-mode to kernel-mode as well as inter-VM attacks. Due to the nature of this vulnerability, creating a robust, inter-VM mitigation that doesn’t significantly degrade performance is particularly challenging.
  &lt;BR /&gt;
  &lt;BR /&gt;
  For Hyper-V, we have developed a comprehensive mitigation to this attack that we call HyperClear. This mitigation is in-use by Microsoft Azure and is available in Windows Server 2016 and later. The HyperClear mitigation continues to allow for safe use of SMT (hyper-threading) with VMs and, based on our observations of deploying this mitigation in Microsoft Azure, HyperClear has shown to have relatively negligible performance impact.
  &lt;BR /&gt;
  &lt;BR /&gt;
  We have already shared the details of HyperClear with industry partners. Since we have received questions as to how we are able to mitigate the L1TF vulnerability without compromising performance, we wanted to broadly share a technical overview of the HyperClear mitigation and how it mitigates L1TF speculative execution side channel attacks across VMs.
  &lt;BR /&gt;
  &lt;H2&gt;
   Overview of L1TF Impact to VM Isolation
  &lt;/H2&gt;
  &lt;BR /&gt;
  As documented
  &lt;A href="https://aka.ms/sescsrdl1tf" target="_blank"&gt;
   here
  &lt;/A&gt;
  , the fundamental premise of the L1TF vulnerability is that it allows a virtual machine running on a processor core to observe any data in the L1 data cache on that core.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Normally, the Hyper-V hypervisor isolates what data a virtual machine can access by leveraging the memory address translation capabilities provided by the processor. In the case of Intel processors, the Extended Page Tables (EPT) feature of Intel VT-x is used to restrict the system physical memory addresses that a virtual machine can access.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Under normal execution, the hypervisor leverages the EPT feature to restrict what physical memory can be accessed by a VM’s virtual processor while it is running. This also restricts what data the virtual processor can access in the cache, as the physical processor enforces that a virtual processor can only access data in the cache corresponding to system physical addresses made accessible via the virtual processor’s EPT configuration.
  &lt;BR /&gt;
  &lt;BR /&gt;
  By successfully exploiting the L1TF vulnerability, the EPT configuration for a virtual processor can be bypassed during the speculative execution associated with this vulnerability. This means that a virtual processor in a VM can speculatively access anything in the L1 data cache, regardless of the memory protections configured by the processor’s EPT configuration.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Intel’s Hyper-Threading (HT) technology is a form of Simultaneous MultiThreading (SMT). With SMT, a core has multiple SMT threads (also known as logical processors), and these logical processors (LPs) can execute simultaneously on a core. SMT further complicates this vulnerability, as the L1 data cache is shared between sibling SMT threads of the same core. Thus, a virtual processor for a VM running on a SMT thread can speculatively access anything brought into the L1 data cache by its sibling SMT threads. This can make it inherently unsafe to run multiple isolation contexts on the same core. For example, if one logical processor of a SMT core is running a virtual processor from VM A and another logical processor of the core is running a virtual processor from VM B, sensitive data from VM B could be seen by VM A (and vice-versa).
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97121i980ACE6623AF1D44" /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  Similarly, if one logical processor of a SMT core is running a virtual processor for a VM and the other logical processor of the SMT core is running in the hypervisor context, the guest VM could speculatively access sensitive data brought into the cache by the hypervisor.
  &lt;BR /&gt;
  &lt;H2&gt;
   Basic Inter-VM Mitigation
  &lt;/H2&gt;
  &lt;BR /&gt;
  To mitigate the L1TF vulnerability in the context of inter-VM isolation, the most straightforward mitigation involves two key components:
  &lt;BR /&gt;
  &lt;OL&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    &lt;STRONG&gt;
     Flush L1 Data Cache On Guest VM Entry
    &lt;/STRONG&gt;
    – Every time the hypervisor switches a processor thread (logical processor) to execute in the context of a guest virtual processor, the hypervisor can first flush the L1 data cache. This ensures that no sensitive data from the hypervisor or previously running guest virtual processors remains in the cache. To enable the hypervisor to flush the L1 data cache, Intel has released updated microcode that provides an architectural facility for flushing the L1 data cache.
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    &lt;STRONG&gt;
     Disable SMT
    &lt;/STRONG&gt;
    – Even with flushing the L1 data cache on guest VM entry, there is still the risk that a sibling SMT thread can bring sensitive data into the cache from a different security context. To mitigate this, SMT can be disabled, which ensures that only one thread ever executes on a processor core.
   &lt;/LI&gt;
   &lt;BR /&gt;
  &lt;/OL&gt;
  &lt;BR /&gt;
  The L1TF mitigation for Hyper-V prior to Windows Server 2016 employs a mitigation based on these components. However, this basic mitigation has the major downside that SMT must be disabled, which can significantly reduce the overall performance of a system. Furthermore, this mitigation can result in a very high rate of L1 data cache flushes since the hypervisor may switch a thread between the guest and hypervisor contexts many thousands of times a second. These frequent cache flushes can also degrade the performance of the system.
  &lt;BR /&gt;
  &lt;H2&gt;
   HyperClear Inter-VM Mitigation
  &lt;/H2&gt;
  &lt;BR /&gt;
  To address the downsides of the basic L1TF Inter-VM mitigation, we developed the HyperClear mitigation. The HyperClear mitigation relies on three key components to ensure strong Inter-VM isolation:
  &lt;BR /&gt;
  &lt;OL&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Core Scheduler
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Virtual-Processor Address Space Isolation
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Sensitive Data Scrubbing
   &lt;/LI&gt;
   &lt;BR /&gt;
  &lt;/OL&gt;
  &lt;BR /&gt;
  &lt;H3&gt;
   Core Scheduler
  &lt;/H3&gt;
  &lt;BR /&gt;
  The traditional Hyper-V scheduler operates at the level of individual SMT threads (logical processors). When making scheduling decisions, the Hyper-V scheduler would schedule a virtual processor onto a SMT thread, without regards to what the sibling SMT threads of the same core were doing. Thus, a single physical core could be running virtual processors from different VMs simultaneously.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Starting in Windows Server 2016, Hyper-V introduced a new scheduler implementation for SMT systems known as the "
  &lt;A href="https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/manage/manage-hyper-v-scheduler-types" target="_blank"&gt;
   Core Scheduler
  &lt;/A&gt;
  ". When the Core Scheduler is enabled, Hyper-V schedules virtual cores onto physical cores. Thus, when a virtual core for a VM is scheduled, it gets exclusive use of a physical core, and a VM will never share a physical core with another VM.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97122i118FA758AC24EADC" /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  With the Core Scheduler, a VM can safely take advantage of SMT (Hyper-Threading). When a VM is using SMT, the hypervisor scheduling allows the VM to use all the SMT threads of a core at the same time.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Thus, the Core Scheduler provides the essential protection that a VM’s data won’t be directly disclosed across sibling SMT threads. It protects against cross-thread data exposure of a VM since two different VMs never run simultaneously on different threads of the same core.
  &lt;BR /&gt;
  &lt;BR /&gt;
  However, the Core Scheduler alone is not sufficient to protect against all forms of sensitive data leakage across SMT threads. There is still the risk that hypervisor data could be leaked across sibling SMT threads.
  &lt;BR /&gt;
  &lt;H3&gt;
   Virtual-Processor Address Space Isolation
  &lt;/H3&gt;
  &lt;BR /&gt;
  SMT Threads on a core can independently enter and exit the hypervisor context based on their activity. For example, events like interrupts can cause a SMT thread to switch out of running the guest virtual processor context and begin executing the hypervisor context. This can happen independently for each SMT thread, so one SMT thread may be executing in the hypervisor context while its sibling SMT thread is still running a VM’s guest virtual processor context. An attacker running code in the less trusted guest VM virtual processor context on one SMT thread can then use the L1TF side channel vulnerability to potentially observe sensitive data from the hypervisor context running on the sibling SMT thread.
  &lt;BR /&gt;
  &lt;BR /&gt;
  One potential mitigation to this problem is to coordinate hypervisor entry and exit across SMT threads of the same core. While this is effective in mitigating the information disclosure risk, this can significantly degrade performance.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Instead of coordinating hypervisor entry and exits across SMT threads, Hyper-V employs strong data isolation in the hypervisor to protect against a malicious guest VM leveraging the L1TF vulnerability to observe sensitive hypervisor data. The Hyper-V hypervisor achieves this isolation by maintaining separate virtual address spaces in the hypervisor for each guest SMT thread (virtual processor). When the hypervisor context is entered on a specific SMT thread, the only data that is addressable by the hypervisor is data associated with the guest virtual processor associated with that SMT thread. This is enforced through the hypervisor’s page table selectively mapping only the memory associated with the guest virtual processor. No data for any other guest virtual processor is addressable, and thus, the only data that can be brought into the L1 data cache by the hypervisor is data associated with that current guest virtual processor.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97123i78A082B042076C56" /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  Thus, regardless of whether a given virtual processor is running in the guest VM virtual processor context or in the hypervisor context, the only data that can be brought into the cache is data associated with the active guest virtual processor. No additional privileged hypervisor secrets or data from other guest virtual processors can be brought into the L1 data cache.
  &lt;BR /&gt;
  &lt;BR /&gt;
  This strong address space isolation provides two distinct benefits:
  &lt;BR /&gt;
  &lt;OL&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    The hypervisor does not need to coordinate entry and exits into the hypervisor across sibling SMT threads. So, SMT threads can enter and exit the hypervisor context independently without any additional performance overhead.
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    The hypervisor does not need to flush the L1 data cache when entering the guest VP context from the hypervisor context. Since the only data that can be brought into the cache while executing in the hypervisor context is data associated with the guest virtual processor, there is no risk of privileged/private state in the cache that needs to be protected from the guest. Thus, with this strong address space isolation, the hypervisor only needs to flush the L1 data cache when switching between virtual cores on a physical core. This is much less frequent than the switches between the hypervisor and guest VP contexts.
   &lt;/LI&gt;
   &lt;BR /&gt;
  &lt;/OL&gt;
  &lt;BR /&gt;
  &lt;H3&gt;
   Sensitive Data Scrubbing
  &lt;/H3&gt;
  &lt;BR /&gt;
  There are cases where virtual processor address space isolation is insufficient to ensure isolation of sensitive data. Specifically, in the case of nested virtualization, a single virtual processor may itself run multiple guest virtual processors. Consider the case of a L1 guest VM running a nested hypervisor (L1 hypervisor). In this case, a virtual processor in this L1 guest may be used to run nested virtual processors for L2 VMs being managed by the L1 nested hypervisor.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97124iAC21C81A50DD22D5" /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  In this case, the nested L1 guest hypervisor will be context switching between each of these nested L2 guests (VM A and VM B) and the nested L1 guest hypervisor. Thus, a virtual processor for the L1 VM being maintained by the L0 hypervisor can run multiple different security domains – a nested L1 hypervisor context and one or more L2 guest virtual machine contexts. Since the L0 hypervisor maintains a single address space for the L1 VM’s virtual processor, this address space could contain data for the nested L1 guest hypervisor and L2 guests VMs.
  &lt;BR /&gt;
  &lt;BR /&gt;
  To ensure a strong isolation boundary between these different security domains, the L0 hypervisor relies on a technique we refer to as state scrubbing when nested virtualization is in-use. With state scrubbing, the L0 hypervisor will avoid caching any sensitive guest state in its data structures. If the L0 hypervisor must read guest data, like register contents, into its private memory to complete an operation, the L0 hypervisor will overwrite this memory with 0’s prior to exiting the L0 hypervisor context. This ensures that any sensitive L1 guest hypervisor or L2 guest virtual processor state is not resident in the cache when switching between security domains in the L1 guest VM.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97125i806E9E8C1DEE109B" /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  For example, if the L1 guest hypervisor accesses an I/O port that is emulated by the L0 hypervisor, the L0 hypervisor context will become active. To properly emulate the I/O port access, the L0 hypervisor will have to read the current guest register contents for the L1 guest hypervisor context, and these register contents will be copied to internal L0 hypervisor memory. When the L0 hypervisor has completed emulation of the I/O port access, the L0 hypervisor will overwrite any L0 hypervisor memory that contains register contents for the L1 guest hypervisor context. After clearing out its internal memory, the L0 hypervisor will resume the L1 guest hypervisor context. This ensures that no sensitive data stays in the L0 hypervisor’s internal memory across invocations of the L0 hypervisor context. Thus, in the above example, there will not be any sensitive L1 guest hypervisor state in the L0 hypervisor’s private memory. This mitigates the risk that sensitive L1 guest hypervisor state will be brought into the data cache the next time the L0 hypervisor context becomes active.
  &lt;BR /&gt;
  &lt;BR /&gt;
  As described above, this state scrubbing model does involve some extra processing when nested virtualization is in-use. To minimize this processing, the L0 hypervisor is very careful in tracking when it needs to scrub its memory, so it can do this with minimal overhead. The overhead of this extra processing is negligible in the nested virtualization scenarios we have measured.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Finally, the L0 hypervisor state scrubbing ensures that the L0 hypervisor can efficiently and safely provide nested virtualization to L1 guest virtual machines. However, to fully mitigate inter-VM attacks between L2 guest virtual machines, the nested L1 guest hypervisor must implement a mitigation for the L1TF vulnerability. This means the L1 guest hypervisor needs to appropriately manage the L1 data cache to ensure isolation of sensitive data across the L2 guest virtual machine security boundaries. The Hyper-V L0 hypervisor exposes the appropriate capabilities to L1 guest hypervisors to allow L1 guest hypervisors to perform L1 data cache flushes.
  &lt;BR /&gt;
  &lt;H2&gt;
   Conclusion
  &lt;/H2&gt;
  &lt;BR /&gt;
  By using a combination of core scheduling, address space isolation, and data clearing, Hyper-V HyperClear is able to mitigate the L1TF speculative execution side channel attack across VMs with negligible performance impact and with full support of SMT.
 
&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Mar 2019 00:17:45 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/virtualization/hyper-v-hyperclear-mitigation-for-l1-terminal-fault/ba-p/382429</guid>
      <dc:creator>Virtualization-Team</dc:creator>
      <dc:date>2019-03-22T00:17:45Z</dc:date>
    </item>
    <item>
      <title>Hyper-V symbols for debugging</title>
      <link>https://techcommunity.microsoft.com/t5/virtualization/hyper-v-symbols-for-debugging/ba-p/382416</link>
      <description>&lt;HTML&gt;
 &lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;
  &lt;STRONG&gt;
   First published on TECHNET on Apr 25, 2018
  &lt;/STRONG&gt;
  &lt;BR /&gt;
  Having access to debugging symbols can be very handy, for example when you are
  &lt;BR /&gt;
  &lt;UL&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    A partner building solutions leveraging Hyper-V,
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Trying to debug a specific issue, or
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Searching for bugs to participate in the
    &lt;A href="https://technet.microsoft.com/mt784431.aspx" target="_blank"&gt;
     Microsoft Hyper-V Bounty Program
    &lt;/A&gt;
    .
   &lt;/LI&gt;
   &lt;BR /&gt;
  &lt;/UL&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  Starting with symbols for Windows Server 2016 with an installed April 2018 cumulative update, we are now providing access to most Hyper-V-related symbols through the public symbol servers. Here are some of the symbols that are available right now:
  &lt;BR /&gt;
  &lt;CODE&gt;
   &lt;BR /&gt;
   SYMCHK: hvhostsvc.dll [10.0.14393.2007 ] PASSED  - PDB: hvhostsvc.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: passthruparser.sys [10.0.14393.2007 ] PASSED  - PDB: passthruparser.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: storvsp.sys          [10.0.14393.2312 ] PASSED  - PDB: storvsp.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vhdmp.sys [10.0.14393.2097 ] PASSED  - PDB: vhdmp.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vhdparser.sys [10.0.14393.2007 ] PASSED  - PDB: vhdparser.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vid.dll [10.0.14393.2007 ] PASSED  - PDB: vid.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: Vid.sys [10.0.14393.2007 ] PASSED  - PDB: Vid.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmbuspipe.dll [10.0.14393.2007 ] PASSED  - PDB: vmbuspipe.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmbuspiper.dll [10.0.14393.2007 ] PASSED  - PDB: vmbuspiper.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmbusvdev.dll [10.0.14393.2007 ] PASSED  - PDB: vmbusvdev.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmchipset.dll [10.0.14393.2007 ] PASSED  - PDB: VmChipset.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmcompute.dll [10.0.14393.2214 ] PASSED  - PDB: vmcompute.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmcompute.exe [10.0.14393.2214 ] PASSED  - PDB: vmcompute.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmconnect.exe [10.0.14393.0    ] PASSED  - PDB: vmconnect.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmdebug.dll [10.0.14393.2097 ] PASSED  - PDB: vmdebug.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmdynmem.dll [10.0.14393.2007 ] PASSED  - PDB: vmdynmem.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmemulateddevices.dll [10.0.14393.2007 ] PASSED  - PDB: VmEmulatedDevices.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: VmEmulatedNic.dll [10.0.14393.2007 ] PASSED  - PDB: VmEmulatedNic.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: VmEmulatedStorage.dll [10.0.14393.2214 ] PASSED  - PDB: VmEmulatedStorage.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmicrdv.dll [10.0.14393.2007 ] PASSED  - PDB: vmicrdv.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmictimeprovider.dll [10.0.14393.2007 ] PASSED  - PDB: vmictimeprovider.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmicvdev.dll [10.0.14393.2214 ] PASSED  - PDB: vmicvdev.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmms.exe [10.0.14393.2214 ] PASSED  - PDB: vmms.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmrdvcore.dll [10.0.14393.2214 ] PASSED  - PDB: vmrdvcore.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmserial.dll [10.0.14393.2007 ] PASSED  - PDB: vmserial.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmsif.dll [10.0.14393.2214 ] PASSED  - PDB: vmsif.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmsifproxystub.dll [10.0.14393.82   ] PASSED  - PDB: vmsifproxystub.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmsmb.dll [10.0.14393.2007 ] PASSED  - PDB: vmsmb.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmsp.exe [10.0.14393.2214 ] PASSED  - PDB: vmsp.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmsynthfcvdev.dll [10.0.14393.2007 ] PASSED  - PDB: VmSynthFcVdev.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: VmSynthNic.dll [10.0.14393.2007 ] PASSED  - PDB: VmSynthNic.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmsynthstor.dll [10.0.14393.2007 ] PASSED  - PDB: VmSynthStor.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmtpm.dll [10.0.14393.2007 ] PASSED  - PDB: vmtpm.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmuidevices.dll [10.0.14393.2007 ] PASSED  - PDB: VmUiDevices.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmusrv.dll [10.0.14393.2007 ] PASSED  - PDB: vmusrv.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmwp.exe [10.0.14393.2214 ] PASSED  - PDB: vmwp.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmwpctrl.dll [10.0.14393.2007 ] PASSED  - PDB: vmwpctrl.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vmprox.dll [10.0.14393.2007 ] PASSED  - PDB: vmprox.pdb DBG:
   &lt;BR /&gt;
   SYMCHK: vpcivsp.sys [10.0.14393.2214 ] PASSED  - PDB: vpcivsp.pdb DBG:
   &lt;BR /&gt;
  &lt;/CODE&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  There is a limited set of virtualization-related symbols that are currently not available: storvsp.pdb, hvax64.pdb, hvix64.pdb, and hvloader.pdb.
  &lt;BR /&gt;
  &lt;BR /&gt;
  If you have a scenario where you need access to any of these symbols, please let us know in the comments below or through the
  &lt;A href="https://support.microsoft.com/help/4021566/windows-10-send-feedback-to-microsoft-with-feedback-hub-app" target="_blank"&gt;
   Feedback Hub
  &lt;/A&gt;
  app. Please include some detail on the specific scenario which you are looking at. With newer releases, we are evaluating whether we can make even more symbols available.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Alles Gute,
  &lt;BR /&gt;
  Lars
  &lt;BR /&gt;
  &lt;BR /&gt;
  [update 2018-04-26]: symbols for vid.sys, vid.dll, and vmprox.dll are now available as well.
  &lt;BR /&gt;
  [update 2018-10-24]: symbols for passthruparser.sys, storvsp.sys, and vhdparser.sys are now available.
 
&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Mar 2019 00:16:10 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/virtualization/hyper-v-symbols-for-debugging/ba-p/382416</guid>
      <dc:creator>Lars Iwer</dc:creator>
      <dc:date>2019-03-22T00:16:10Z</dc:date>
    </item>
    <item>
      <title>Sneak Peek: Taking a Spin with Enhanced Linux VMs</title>
      <link>https://techcommunity.microsoft.com/t5/virtualization/sneak-peek-taking-a-spin-with-enhanced-linux-vms/ba-p/382415</link>
      <description>&lt;HTML&gt;
 &lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;
  &lt;STRONG&gt;
   First published on TECHNET on Feb 28, 2018
  &lt;/STRONG&gt;
  &lt;BR /&gt;
  &lt;STRONG&gt;
   **Update: This feature is now generally available. Please see our
   &lt;A href="https://blogs.windows.com/buildingapps/2018/09/17/run-ubuntu-virtual-machines-made-even-easier-with-hyper-v-quick-create/" target="_blank"&gt;
    latest blog post
   &lt;/A&gt;
   to learn more**
  &lt;/STRONG&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  Whether you're a developer or an IT admin, virtual machines are familiar tools that allow users to run entirely separate operating system instances on a host. And despite being a separate OS, we feel there's a great importance in having a VM experience that feels tightly integrated with the host. We invested in making the Windows client VM experience first-class, and users really liked it. Our users asked us to go further: they wanted that same first-class experience on Linux VMs as well.
  &lt;BR /&gt;
  &lt;BR /&gt;
  As we thought about how we could deliver a better-quality experience--one that achieved closer parity with Windows clients--we found an opportunity to collaborate with the open source folks at
  &lt;A href="https://github.com/neutrinolabs/xrdp" target="_blank"&gt;
   XRDP
  &lt;/A&gt;
  , who have implemented Microsoft’s RDP protocol on Linux.
  &lt;BR /&gt;
  &lt;BR /&gt;
  We’re partnering with
  &lt;A href="https://www.canonical.com/" target="_blank"&gt;
   Canonical
  &lt;/A&gt;
  on the upcoming Ubuntu 18.04 release to make this experience a reality, and we’re working to provide a solution that works out of the box. Hyper-V’s
  &lt;A href="https://blogs.technet.microsoft.com/virtualization/2017/07/26/hyper-v-virtual-machine-gallery-and-networking-improvements/" target="_blank"&gt;
   Quick Create VM gallery
  &lt;/A&gt;
  is the perfect vehicle to deliver such an experience. With only 3 mouse clicks, users will be able to get an Ubuntu VM running that offers clipboard functionality, drive redirection, and much more.
  &lt;BR /&gt;
  &lt;BR /&gt;
  But you don’t have to wait until the release of Ubuntu 18.04 to try out the improved Linux VM experience. Read on to learn how you can get a sneak peek!
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;EM&gt;
   Disclaimer:
   &lt;STRONG&gt;
    This feature is under development.
   &lt;/STRONG&gt;
   This tutorial outlines steps to have an enhanced Ubuntu experience in 16.04. Our TARGET experience will be with 18.04. There may be some bugs you discover in 16.04--and that's okay! We want to gather this data so we can make the 18.04 experience great.
  &lt;/EM&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97115iB597AA53B5BB9253" /&gt;
  &lt;BR /&gt;
  &lt;H2&gt;
   &lt;STRONG&gt;
    A Call for Testing
   &lt;/STRONG&gt;
  &lt;/H2&gt;
  &lt;BR /&gt;
  We've chosen Canonical's next LTS release, Bionic Beaver, to be the focal point of our investments. In the lead up to the official release of 18.04, we'd like to begin getting feedback on how satisfied users are with the general experience. The experience we’re working towards in Ubuntu 18.04 can be set up in Ubuntu 16.04 (with a few extra steps). We will walk through how to set up an Ubuntu 16.04 VM running in Hyper-V with Enhanced Session Mode.
  &lt;BR /&gt;
  &lt;BR /&gt;
  In the future, you can expect to be able to find an Ubuntu 18.04 image sitting in the Hyper-V Quick Create galley 😊
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;STRONG&gt;
   NOTE: In order to participate in this tutorial, you need to be on Insider Builds, running at minimum Insider Build No. 17063
  &lt;/STRONG&gt;
  &lt;BR /&gt;
  &lt;H2&gt;
   &lt;STRONG&gt;
    Tutorial
   &lt;/STRONG&gt;
  &lt;/H2&gt;
  &lt;BR /&gt;
  Grab the Ubuntu 16.04 ISO from Canonical's website, found at
  &lt;A href="http://releases.ubuntu.com/16.04.3/ubuntu-16.04.3-desktop-amd64.iso" target="_blank"&gt;
   releases.ubuntu.com
  &lt;/A&gt;
  . Provision the VM as you normally would and step through the installation process. We created a set of scripts to perform all the heavy lifting to set up your environment appropriately. Once your VM is fully operational, we'll be executing the following commands inside of it.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;CODE&gt;
   #Get the scripts from GitHub
   &lt;BR /&gt;
   $ sudo apt-get update
   &lt;BR /&gt;
   $ sudo apt install git
   &lt;BR /&gt;
   $ git clone
   &lt;A href="https://github.com/Microsoft/linux-vm-tools.git" target="_blank"&gt;
    https://github.com/Microsoft/linux-vm-tools.git
   &lt;/A&gt;
   ~/linux-vm-tools
   &lt;BR /&gt;
   $ cd ~/linux-vm-tools/ubuntu/16.04/
  &lt;/CODE&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;CODE&gt;
   #Make the scripts executable and run them...
   &lt;BR /&gt;
   $ sudo chmod +x install.sh
   &lt;BR /&gt;
   $ sudo chmod +x config-user.sh
   &lt;BR /&gt;
   $ sudo ./install.sh
  &lt;/CODE&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;STRONG&gt;
   Install.sh will need to be run twice in order for the script to execute fully (it must perform a reboot mid-script)
  &lt;/STRONG&gt;
  . That is, once your VM reboots, you'll need to change dir into the location of the script and run again. Once you've finished running the install.sh script, you'll need to run config-user.sh
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;CODE&gt;
   $ sudo ./config-user.sh
  &lt;/CODE&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  After you've run your scripts, shut down your VM. On your host machine in a powershell prompt, execute this command:
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;CODE&gt;
   Set-VM -VMName &amp;lt;your_vm_name&amp;gt;&amp;nbsp; -EnhancedSessionTransportType HvSocket
  &lt;/CODE&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  Now, when you boot your VM, you will be greeted with an option to connect and adjust your display size. This will be an indication that you're running in an enhanced session mode. Click "connect" and you're complete.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97116iF00539B4452348BA" /&gt;
  &lt;BR /&gt;
  &lt;H2&gt;
   What are the Benefits?
  &lt;/H2&gt;
  &lt;BR /&gt;
  These are the features that you get with the new enhanced session mode:
  &lt;BR /&gt;
  &lt;UL&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Better mouse experience
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Integrated clipboard
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Window Resizing
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Drive Redirection
   &lt;/LI&gt;
   &lt;BR /&gt;
  &lt;/UL&gt;
  &lt;BR /&gt;
  We encourage you to log any issues you discover
  &lt;A href="https://github.com/jterry75/xrdp-init/issues" target="_blank"&gt;
   to GitHub
  &lt;/A&gt;
  . This will also give you an idea of already identified issues.
  &lt;BR /&gt;
  &lt;H2&gt;
   How does this work?
  &lt;/H2&gt;
  &lt;BR /&gt;
  The technology behind this mode is actually the same as how we achieve an enhanced session mode in Windows. It relies on the
  &lt;A href="https://msdn.microsoft.com/en-us/library/aa383015(v=vs.85).aspx" target="_blank"&gt;
   RDP protocol
  &lt;/A&gt;
  , implemented on Linux by the open source folks at XRDP, over Hyper-V sockets to light up all the great features that give the VM an integrated feel. Hyper-V sockets, or hv_sock, supply a byte-stream based communication mechanism between the host partition and the guest VM. Think of it as similar to TCP, except it's going over an optimized transport layer called VMBus. We contributed changes which would allow XRDP to utilize hv_sock.
  &lt;BR /&gt;
  &lt;BR /&gt;
  The scripts we executed did the following:
  &lt;BR /&gt;
  &lt;UL&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Installs the "Linux-azure" kernel to the VM. This carries the hv_sock bits that we need.
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Downloads the XRDP source code and compiles it with the hv_sock feature turned on (the published XRDP package in 16.04 doesn't have this set, so we must compile from source).
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Builds and installs xorgxrdp.
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Configures the user session for RDP
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Launches the XRDP service
   &lt;/LI&gt;
   &lt;BR /&gt;
  &lt;/UL&gt;
  &lt;BR /&gt;
  As we mentioned earlier, the steps described above are for Ubuntu 16.04, which will look a little different from 18.04. In fact, with Ubuntu 18.04 shipping with the 4.15 linux kernel (which already carries the hv_sock bits), we won’t need to apply the linux-azure kernel. The version of XRDP that ships as available in 18.04 is already compiled with hv_sock feature turned on, so there’s no more need to build xrdp/xorgxrdp—a simple “apt install” will bring in all the feature goodness!
  &lt;BR /&gt;
  &lt;BR /&gt;
  If you’re not flighting insider builds,
  &lt;STRONG&gt;
   you can look forward to having this enhanced VM experience via the VM gallery when Ubuntu 18.04 is released at the end of April.
  &lt;/STRONG&gt;
  Leave a comment below on your experience or tweet me with your thoughts!
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;STRONG&gt;
   **Update: This feature is now generally available. Please see our
   &lt;A href="https://blogs.windows.com/buildingapps/2018/09/17/run-ubuntu-virtual-machines-made-even-easier-with-hyper-v-quick-create/" target="_blank"&gt;
    latest blog post
   &lt;/A&gt;
   to learn more**
  &lt;/STRONG&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  Cheers,
  &lt;BR /&gt;
  &lt;BR /&gt;
  Craig Wilhite (
  &lt;A href="https://twitter.com/CraigWilhite" target="_blank"&gt;
   @CraigWilhite
  &lt;/A&gt;
  )
 
&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Mar 2019 00:16:03 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/virtualization/sneak-peek-taking-a-spin-with-enhanced-linux-vms/ba-p/382415</guid>
      <dc:creator>Virtualization-Team</dc:creator>
      <dc:date>2019-03-22T00:16:03Z</dc:date>
    </item>
    <item>
      <title>Looking at the Hyper-V Event Log (January 2018 edition)</title>
      <link>https://techcommunity.microsoft.com/t5/virtualization/looking-at-the-hyper-v-event-log-january-2018-edition/ba-p/382411</link>
      <description>&lt;HTML&gt;
 &lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;
  &lt;STRONG&gt;
   First published on TECHNET on Jan 23, 2018
  &lt;/STRONG&gt;
  &lt;BR /&gt;
  Hyper-V has changed over the last few years and so has our event log structure. With that in mind, here is an update of
  &lt;A href="https://blogs.msdn.microsoft.com/virtual_pc_guy/2009/02/03/looking-at-the-hyper-v-event-log/" target="_blank"&gt;
   Ben's original post in 2009
  &lt;/A&gt;
  ("Looking at the Hyper-V Event Log").
  &lt;BR /&gt;
  &lt;BR /&gt;
  This post gives a short overview on the different Windows event log channels that Hyper-V uses. It can be used as a reference to better understand which event channels might be relevant for different purposes.
  &lt;BR /&gt;
  &lt;BR /&gt;
  As a general guidance you should
  &lt;B&gt;
   start with the Hyper-V-VMMS and Hyper-V-Worker
  &lt;/B&gt;
  event channels when analyzing a failure. For migration-related events it makes sense to look at the event logs both on the source and destination node.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97114iA50E2170CCFB476F" /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  Below are the current event log channels for Hyper-V. Using "Event Viewer" you can find them under "Applications and Services Logs", "Microsoft", "Windows".
  &lt;BR /&gt;
  If you would like to collect events from these channels and consolidate them into a single file, we've published a
  &lt;A href="https://github.com/MicrosoftDocs/Virtualization-Documentation/tree/live/hyperv-tools/HyperVLogs" target="_blank"&gt;
   HyperVLogs PowerShell module
  &lt;/A&gt;
  to help.
  &lt;BR /&gt;
  &lt;TABLE&gt;
   &lt;TBODY&gt;&lt;TR&gt;
    Event Channel CategoryDescription
   &lt;/TR&gt;
   &lt;TR&gt;
    &lt;TD&gt;
     Hyper-V-Compute
    &lt;/TD&gt;
    &lt;TD&gt;
     Events from the
     &lt;A href="https://blogs.technet.microsoft.com/virtualization/2017/01/27/introducing-the-host-compute-service-hcs/" target="_blank"&gt;
      Host Compute Service (HCS)
     &lt;/A&gt;
     are collected here. The HCS is a low-level management API.
    &lt;/TD&gt;
   &lt;/TR&gt;
   &lt;TR&gt;
    &lt;TD&gt;
     Hyper-V-Config
    &lt;/TD&gt;
    &lt;TD&gt;
     This section is for anything that relates to virtual machine configuration files. If you have a missing or corrupt virtual machine configuration file – there will be entries here that tell you all about it.
    &lt;/TD&gt;
   &lt;/TR&gt;
   &lt;TR&gt;
    &lt;TD&gt;
     Hyper-V-Guest-Drivers
    &lt;/TD&gt;
    &lt;TD&gt;
     Look at this section if you are experiencing issues with VM integration components.
    &lt;/TD&gt;
   &lt;/TR&gt;
   &lt;TR&gt;
    &lt;TD&gt;
     Hyper-V-High-Availability
    &lt;/TD&gt;
    &lt;TD&gt;
     Hyper-V clustering-related events are collected in this section.
    &lt;/TD&gt;
   &lt;/TR&gt;
   &lt;TR&gt;
    &lt;TD&gt;
     Hyper-V-Hypervisor
    &lt;/TD&gt;
    &lt;TD&gt;
     This section is used for hypervisor specific events. You will usually only need to look here if the hypervisor fails to start – then you can get detailed information here.
    &lt;/TD&gt;
   &lt;/TR&gt;
   &lt;TR&gt;
    &lt;TD&gt;
     Hyper-V-StorageVSP
    &lt;/TD&gt;
    &lt;TD&gt;
     Events from the Storage Virtualization Service Provider. Typically you would look at these when you want to debug low-level storage operations for a virtual machine.
    &lt;/TD&gt;
   &lt;/TR&gt;
   &lt;TR&gt;
    &lt;TD&gt;
     Hyper-V-VID
    &lt;/TD&gt;
    &lt;TD&gt;
     These are events form the Virtualization Infrastructure Driver. Look here if you experience issues with memory assignment, e.g. dynamic memory, or changing static memory while the VM is running.
    &lt;/TD&gt;
   &lt;/TR&gt;
   &lt;TR&gt;
    &lt;TD&gt;
     &lt;B&gt;
      Hyper-V-VMMS
     &lt;/B&gt;
    &lt;/TD&gt;
    &lt;TD&gt;
     Events from the virtual machine management service can be found here. When VMs are not starting properly, or VM migrations fail, this would be a good source to start investigating.
    &lt;/TD&gt;
   &lt;/TR&gt;
   &lt;TR&gt;
    &lt;TD&gt;
     Hyper-V-VmSwitch
    &lt;/TD&gt;
    &lt;TD&gt;
     These channels contain events from the virtual network switches.
    &lt;/TD&gt;
   &lt;/TR&gt;
   &lt;TR&gt;
    &lt;TD&gt;
     &lt;B&gt;
      Hyper-V-Worker
     &lt;/B&gt;
    &lt;/TD&gt;
    &lt;TD&gt;
     This section contains events from the worker process that is used for the actual running of the virtual machine. You will see events related to startup and shutdown of the VM here.
    &lt;/TD&gt;
   &lt;/TR&gt;
   &lt;TR&gt;
    &lt;TD&gt;
     Hyper-V-Shared-VHDX
    &lt;/TD&gt;
    &lt;TD&gt;
     Events specific to virtual hard disks that can be shared between several virtual machines. If you are using shared VHDs this event channel can provide more detail in case of a failure.
    &lt;/TD&gt;
   &lt;/TR&gt;
   &lt;TR&gt;
    &lt;TD&gt;
     Hyper-V-VMSP
    &lt;/TD&gt;
    &lt;TD&gt;
     The VM security process (VMSP) is used to provide secured virtual devices like the virtual TPM module to the VM.
    &lt;/TD&gt;
   &lt;/TR&gt;
   &lt;TR&gt;
    &lt;TD&gt;
     Hyper-V-VfpExt
    &lt;/TD&gt;
    &lt;TD&gt;
     Events form the Virtual Filtering Platform (VFP) which is part of the Software Defined Networking Stack.
    &lt;/TD&gt;
   &lt;/TR&gt;
   &lt;TR&gt;
    &lt;TD&gt;
     VHDMP
    &lt;/TD&gt;
    &lt;TD&gt;
     Events from operations on virtual hard disk files (e.g. creation, merging) go here.
    &lt;/TD&gt;
   &lt;/TR&gt;
  &lt;/TBODY&gt;&lt;/TABLE&gt;
  &lt;BR /&gt;
  Please note: some of these only contain analytic/debug logs that need to be enabled separately and not all channels exist on Windows client. To enable the analytic/debug logs, you can use the
  &lt;A href="https://github.com/MicrosoftDocs/Virtualization-Documentation/tree/live/hyperv-tools/HyperVLogs" target="_blank"&gt;
   HyperVLogs PowerShell module
  &lt;/A&gt;
  .
  &lt;BR /&gt;
  &lt;BR /&gt;
  Alles Gute,
  &lt;BR /&gt;
  &lt;BR /&gt;
  Lars
 
&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Mar 2019 00:15:09 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/virtualization/looking-at-the-hyper-v-event-log-january-2018-edition/ba-p/382411</guid>
      <dc:creator>Lars Iwer</dc:creator>
      <dc:date>2019-03-22T00:15:09Z</dc:date>
    </item>
    <item>
      <title>Migrating local VM owner certificates for VMs with vTPM</title>
      <link>https://techcommunity.microsoft.com/t5/virtualization/migrating-local-vm-owner-certificates-for-vms-with-vtpm/ba-p/382406</link>
      <description>&lt;HTML&gt;
 &lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;
  &lt;STRONG&gt;
   First published on TECHNET on Dec 14, 2017
  &lt;/STRONG&gt;
  &lt;BR /&gt;
  Whenever I want to replace or reinstall a system which is used to run
  &lt;A href="https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/learn-more/generation-2-virtual-machine-security-settings-for-hyper-v#encryption-support-settings-in-hyper-v-manager" target="_blank"&gt;
   virtual machines with a virtual trusted platform module
  &lt;/A&gt;
  (vTPM), I've been facing a challenge: For hosts that are not part of a
  &lt;A href="https://docs.microsoft.com/en-us/windows-server/virtualization/guarded-fabric-shielded-vm/guarded-fabric-and-shielded-vms" target="_blank"&gt;
   guarded fabric
  &lt;/A&gt;
  , the new system does need to be authorized to run the VM.
  &lt;BR /&gt;
  Some time ago, I wrote a blog post focused on
  &lt;A href="https://blogs.technet.microsoft.com/virtualization/2016/10/25/allowing-an-additional-host-to-run-a-vm-with-virtual-tpm/" target="_blank"&gt;
   running VMs with a vTPM on additional hosts
  &lt;/A&gt;
  , but the approach highlighted there does not solve everything when the original host is decommissioned. The VMs can be started on the new host, but without the original owner certificates, you cannot change the list of allowed guardians anymore.
  &lt;BR /&gt;
  &lt;BR /&gt;
  This blog post shows a way to export the information needed from the source host and import it on a destination host. Please note that this technique only works for
  &lt;EM&gt;
   local
  &lt;/EM&gt;
  mode and not for a host that is part of a guarded fabric. You can check whether your host runs in local mode by running
  &lt;CODE&gt;
   Get-HgsClientConfiguration
  &lt;/CODE&gt;
  . The property
  &lt;CODE&gt;
   Mode
  &lt;/CODE&gt;
  should list
  &lt;CODE&gt;
   Local
  &lt;/CODE&gt;
  as a value.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;H3&gt;
   Exporting the default owner from the source host
  &lt;/H3&gt;
  &lt;BR /&gt;
  The following script exports the necessary information of the default owner ("
  &lt;CODE&gt;
   UntrustedGuardian
  &lt;/CODE&gt;
  ") on a host that is configured using local mode. When running the script on the source host, two certificates are exported: a signing certificate and an encryption certificate.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;H3&gt;
   Importing the UntrustedGuardian on the new host
  &lt;/H3&gt;
  &lt;BR /&gt;
  On the destination host, the following snippet creates a new guardian using the certificates that have been exported in the previous step.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  Please note that importing the "UntrustedGuardian" on the new host has to be done before creating new VMs with a vTPM on this host -- otherwise a new guardian with the same name will already be present and the creation with the PowerShell snippet above will fail.
  &lt;BR /&gt;
  &lt;BR /&gt;
  With these two steps, you should be able to migrate all the necessary bits to keep your VMs with vTPM running in your dev/test environment. This approach can also be used to back up your owner certificates, depending on how these certificates have been created.
  &lt;BR /&gt;
 
&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Mar 2019 00:14:31 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/virtualization/migrating-local-vm-owner-certificates-for-vms-with-vtpm/ba-p/382406</guid>
      <dc:creator>Lars Iwer</dc:creator>
      <dc:date>2019-03-22T00:14:31Z</dc:date>
    </item>
    <item>
      <title>What's new in Hyper-V for Windows 10 Fall Creators Update?</title>
      <link>https://techcommunity.microsoft.com/t5/virtualization/what-s-new-in-hyper-v-for-windows-10-fall-creators-update/ba-p/382399</link>
      <description>&lt;HTML&gt;
 &lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;
  &lt;STRONG&gt;
   First published on TECHNET on Nov 13, 2017
  &lt;/STRONG&gt;
  &lt;BR /&gt;
  &lt;A href="https://blogs.windows.com/windowsexperience/2017/10/17/whats-new-windows-10-fall-creators-update" target="_blank"&gt;
   Windows 10 Fall Creators Update
  &lt;/A&gt;
  has arrived!&amp;nbsp; While we’ve been blogging about new features as they appear in Windows Insider builds, many of you have asked for a consolidated list of Hyper-V updates and improvements since Creators Update in April.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Summary:
  &lt;BR /&gt;
  &lt;UL&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Quick Create includes a gallery (and you can add your own images)
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Hyper-V has a Default Switch for easy networking
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    It’s easy to revert virtual machines to their start state
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Host battery state is visible in virtual machines
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Virtual machines are easier to share
   &lt;/LI&gt;
   &lt;BR /&gt;
  &lt;/UL&gt;
  &lt;BR /&gt;
  &lt;UL&gt;
  &lt;/UL&gt;
  &lt;BR /&gt;
  &lt;H2&gt;
   Quick Create virtual machine gallery
  &lt;/H2&gt;
  &lt;BR /&gt;
  The virtual machine gallery in Quick Create makes it easy to find virtual machine images in one convenient location.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97101i6F3577E536E53EEC" /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  You can also add your own virtual machine images to the Quick Create gallery.&amp;nbsp; Building a custom gallery takes some time but, once built, makes creating virtual machines easy and consistent.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;A href="https://blogs.technet.microsoft.com/virtualization/2017/11/08/create-your-custom-quick-create-vm-gallery/" target="_blank"&gt;
   This blog post
  &lt;/A&gt;
  walks through adding custom images to the gallery.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97102i19265994A4468EF7" /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  For images that aren’t in the gallery, select “Local Installation Source” to create a virtual machine from an .iso or vhd located somewhere in your file system.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Keep in mind, while Quick Create and the virtual machine gallery are convenient, they are not a replacement for the New Virtual Machine wizard in Hyper-V manager.&amp;nbsp; For more complicated virtual machine configuration, use that.
  &lt;BR /&gt;
  &lt;H2&gt;
   Default Switch
  &lt;/H2&gt;
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97103iA8D84C398347F508" /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  The switch named “Default Switch” allows virtual machines to share the host’s network connection using NAT (Network Address Translation).&amp;nbsp; This switch has a few unique attributes:
  &lt;BR /&gt;
  &lt;OL&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Virtual machines connected to it will have access to the host’s network whether you’re connected to WIFI, a dock, or Ethernet. It will also work when the host is using VPN
    &lt;BR /&gt;
    or proxy.
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    It’s available as soon as you enable Hyper-V – you won’t lose internet setting it up.
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    You can’t delete or rename it.
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    It has the same name and device ID on all Windows 10 Fall Creator’s Update Hyper-V hosts.
    &lt;BR /&gt;
    Name: Default Switch
    &lt;BR /&gt;
    ID: c08cb7b8-9b3c-408e-8e30-5e16a3aeb444
   &lt;/LI&gt;
   &lt;BR /&gt;
  &lt;/OL&gt;
  &lt;BR /&gt;
  Yes, the default switch does automatically assign an IP to the virtual machine (DNS and DHCP).
  &lt;BR /&gt;
  &lt;BR /&gt;
  I’m really excited to have a always-available network connection for virtual machines on Hyper-V.&amp;nbsp; The Default Switch offers the best networking experience for virtual machines on a laptop.&amp;nbsp; If you need highly customized networking, however, continue using Virtual Switch Manager.
  &lt;BR /&gt;
  &lt;H2&gt;
   Revert! (automatic checkpoints)
  &lt;/H2&gt;
  &lt;BR /&gt;
  This is my personal favorite feature from Fall Creators Update.
  &lt;BR /&gt;
  &lt;BR /&gt;
  For a little bit of background, I mostly use virtual machines to build/run demos and to sandbox simple experiments.&amp;nbsp; At least once a month, I accidently mess up my virtual machine.&amp;nbsp; Sometimes I remember to make a checkpoint and I can roll back to a good state.&amp;nbsp; Most of the time I don’t.&amp;nbsp; Before automatic checkpoints, I’d have to choose between rebuilding my virtual machine or manually undoing my mistake.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Starting in Fall Creators Update, Hyper-V creates a checkpoint when you start virtual machines.&amp;nbsp; Say you’re learning about Linux and accidently `rm –rf /*` or update your guest and discover a breaking change, now you can simply revert back to when the virtual machine started.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97104iA56362949857B72C" /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  Automatic checkpoints are enabled by default on Windows 10 and disabled by default on Windows Server.&amp;nbsp; They are not useful for everyone.&amp;nbsp; For people with automation or for those of you worried about the overhead of making a checkpoint, you can disable automatic checkpoints with PowerShell (Set-VM –Name VMwithAutomation –AutomaticCheckpointsEnabled) or in VM settings under “Checkpoints”.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Here’s a
  &lt;A href="https://blogs.technet.microsoft.com/virtualization/2017/04/20/making-it-easier-to-revert/" target="_blank"&gt;
   link
  &lt;/A&gt;
  to the original announcement with more information.
  &lt;BR /&gt;
  &lt;H2&gt;
   Battery pass-through
  &lt;/H2&gt;
  &lt;BR /&gt;
  Virtual machines in Fall Creators Update are aware of the hosts battery state.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97105iA7B0E57939BA748F" /&gt;
  This is nice for a few reasons:
  &lt;BR /&gt;
  &lt;OL&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    You can see how much battery life you have left in a full-screen virtual machine.
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    The guest operating system knows the battery state and can optimize for low power situations.
   &lt;/LI&gt;
   &lt;BR /&gt;
  &lt;/OL&gt;
  &lt;BR /&gt;
  &lt;H2&gt;
   Easier virtual machine sharing
  &lt;/H2&gt;
  &lt;BR /&gt;
  Sharing your Hyper-V virtual machines is easier with the new “Share” button. Share packages and compresses your virtual machine so you can move it to another Hyper-V host right from Virtual Machine Connection.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97106iEC23F4AA52F33375" /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  Share creates a “.vmcz” file with your virtual hard drive (vhd/vhdx) and any state the virtual machine will need to run.&amp;nbsp; “Share” will not include checkpoints. If you would like to also export your checkpoints, you can use the “Export” tool, or the “Export-VM” PowerShell cmdlet.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97107iA18E70F28F8B5443" /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  Once you’ve moved your virtual machine to another computer with Hyper-V, double click the “.vmcz” file and the virtual machine will import automatically.
  &lt;BR /&gt;
  &lt;BR /&gt;
  ----
  &lt;BR /&gt;
  &lt;BR /&gt;
  That’s the list!&amp;nbsp; As always, please send us feedback via FeedbackHub.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Curious what we’re building next?
  &lt;A href="https://insider.windows.com/" target="_blank"&gt;
   Become a Windows Insider
  &lt;/A&gt;
  – almost everything here has benefited from your early feedback.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Cheers,
  &lt;BR /&gt;
  Sarah
 
&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Mar 2019 00:13:48 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/virtualization/what-s-new-in-hyper-v-for-windows-10-fall-creators-update/ba-p/382399</guid>
      <dc:creator>scooley</dc:creator>
      <dc:date>2019-03-22T00:13:48Z</dc:date>
    </item>
    <item>
      <title>Create your custom Quick Create VM gallery</title>
      <link>https://techcommunity.microsoft.com/t5/virtualization/create-your-custom-quick-create-vm-gallery/ba-p/382388</link>
      <description>&lt;HTML&gt;
 &lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;
  &lt;STRONG&gt;
   First published on TECHNET on Nov 08, 2017
  &lt;/STRONG&gt;
  &lt;BR /&gt;
  Have you ever wondered whether it is possible to add your own custom images to the list of available VMs for
  &lt;A href="https://blogs.technet.microsoft.com/virtualization/2017/07/26/hyper-v-virtual-machine-gallery-and-networking-improvements/" target="_blank"&gt;
   Quick Create
  &lt;/A&gt;
  ?
  &lt;BR /&gt;
  &lt;BR /&gt;
  The answer is: Yes, you can!
  &lt;BR /&gt;
  &lt;BR /&gt;
  Since quite a few people have been asking us, this post will give you a quick example to get started and add your own custom image while we're working on the official documentation. The following two steps will be described in this blog post:
  &lt;BR /&gt;
  &lt;OL&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Create JSON document describing your image
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Add this JSON document to the list of galleries to include
   &lt;/LI&gt;
   &lt;BR /&gt;
  &lt;/OL&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97100iB2A987CA4885F4ED" /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;H3&gt;
   Step 1: Create JSON document describing your image
  &lt;/H3&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  The first thing you will need is a JSON document which describes the image you want to have showing up in quick create. The following snippet is a sample JSON document which you can adapt to your own needs. We will publish more documentation on this including a JSON schema to run validation as soon as it is ready.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  To calculate the SHA256 hashes for the linked files you can use different tools. Since it is already available on Windows 10 machines, I like to use a quick PowerShell call:
  &lt;CODE&gt;
   Get-FileHash -Path .\contoso_logo.png -Algorithm SHA256
  &lt;/CODE&gt;
  &lt;BR /&gt;
  The values for
  &lt;CODE&gt;
   logo
  &lt;/CODE&gt;
  ,
  &lt;CODE&gt;
   symbol
  &lt;/CODE&gt;
  , and
  &lt;CODE&gt;
   thumbnail
  &lt;/CODE&gt;
  are optional, so if there are no images at hand, you can just remove these values from the JSON document.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;H3&gt;
   Step 2: Add this JSON document to the list of galleries to include
  &lt;/H3&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  To have your custom gallery image show up on a Windows 10 client, you need to set the
  &lt;CODE&gt;
   GalleryLocations
  &lt;/CODE&gt;
  registry value under
  &lt;CODE&gt;
   HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization
  &lt;/CODE&gt;
  .
  &lt;BR /&gt;
  There are multiple ways to achieve this, you can adapt the following PowerShell snippet to set the value:
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  If you don't want to include the official Windows 10 developer evaluation images, just remove the fwlink from the GalleryLocations value.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Have fun creating your own VM galleries and stay tuned for our official documentation. We're looking forward to see what you create!
  &lt;BR /&gt;
  &lt;BR /&gt;
  Lars
  &lt;BR /&gt;
  &lt;BR /&gt;
  Update: The official documentation is now live as well -- for more detail on the gallery functionality and how to create your own gallery: This way please:
  &lt;A href="https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/custom-gallery" target="_blank"&gt;
   Create a custom virtual machine gallery
  &lt;/A&gt;
 
&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Mar 2019 00:12:27 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/virtualization/create-your-custom-quick-create-vm-gallery/ba-p/382388</guid>
      <dc:creator>Lars Iwer</dc:creator>
      <dc:date>2019-03-22T00:12:27Z</dc:date>
    </item>
    <item>
      <title>A great way to collect logs for troubleshooting</title>
      <link>https://techcommunity.microsoft.com/t5/virtualization/a-great-way-to-collect-logs-for-troubleshooting/ba-p/382385</link>
      <description>&lt;HTML&gt;
 &lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;
  &lt;STRONG&gt;
   First published on TECHNET on Oct 27, 2017
  &lt;/STRONG&gt;
  &lt;BR /&gt;
  Did you ever have to troubleshoot issues within a Hyper-V cluster or standalone environment and found yourself switching between different event logs? Or did you repro something just to find out not all of the important Windows event channels had been activated?
  &lt;BR /&gt;
  &lt;BR /&gt;
  To make it easier to collect the right set of event logs into a single evtx file to help with troubleshooting we have published a
  &lt;A href="https://github.com/MicrosoftDocs/Virtualization-Documentation/tree/live/hyperv-tools/HyperVLogs" target="_blank"&gt;
   HyperVLogs PowerShell module
  &lt;/A&gt;
  on GitHub.
  &lt;BR /&gt;
  &lt;BR /&gt;
  In this blog post I am sharing with you how to get the module and how to gather event logs using the functions provided.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;H3&gt;
   Step 1: Download and import the PowerShell module
  &lt;/H3&gt;
  &lt;BR /&gt;
  First of all you need to download the PowerShell module and import it.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;H3&gt;
   Step 2: Reproduce the issue and capture logs
  &lt;/H3&gt;
  &lt;BR /&gt;
  Now, you can use the functions provided as part of the module to collect logs for different situations.
  &lt;BR /&gt;
  For example, to investigate an issue on a single node, you can collect events with the following steps:
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  Using this module and its functions made it a lot easier for me to collect the right event data to help with investigations. Any feedback or suggestions are highly welcome.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Cheers,
  &lt;BR /&gt;
  Lars
 
&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Mar 2019 00:12:12 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/virtualization/a-great-way-to-collect-logs-for-troubleshooting/ba-p/382385</guid>
      <dc:creator>Lars Iwer</dc:creator>
      <dc:date>2019-03-22T00:12:12Z</dc:date>
    </item>
    <item>
      <title>Copying Files into a Hyper-V VM with Vagrant</title>
      <link>https://techcommunity.microsoft.com/t5/virtualization/copying-files-into-a-hyper-v-vm-with-vagrant/ba-p/382376</link>
      <description>&lt;HTML&gt;
 &lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;
  &lt;STRONG&gt;
   First published on TECHNET on Jul 18, 2017
  &lt;/STRONG&gt;
  &lt;BR /&gt;
  &lt;DIV&gt;
   &lt;BR /&gt;
   &lt;BR /&gt;
   A couple of weeks ago, I published a
   &lt;A href="https://blogs.technet.microsoft.com/virtualization/2017/07/06/vagrant-and-hyper-v-tips-and-tricks/" target="_blank"&gt;
    blog
   &lt;/A&gt;
   with tips and tricks for getting started with Vagrant on Hyper-V. My fifth tip was to "Enable Nifty Hyper-V Features," where I briefly mentioned stuff like differencing disks and virtualization extensions.
   &lt;BR /&gt;
   &lt;BR /&gt;
   While those are useful, I realized later that I should have added one more feature to my list of examples: the "guest_service_interface" field in "vm_integration_services." It's hard to know what that means just from the name, so I usually call it the "the thing that lets me copy files into a VM."
   &lt;BR /&gt;
   &lt;BR /&gt;
   Disclaimer: this is
   &lt;EM&gt;
    not
   &lt;/EM&gt;
   a replacement for
   &lt;A href="https://www.vagrantup.com/docs/synced-folders/" target="_blank"&gt;
    Vagrant's synced folders
   &lt;/A&gt;
   . Those are super convienent, and should really be your default solution for sharing files. This method is more useful in one-off situations.
   &lt;BR /&gt;
   &lt;H2&gt;
    Enabling Copy-VMFile
   &lt;/H2&gt;
   &lt;BR /&gt;
   Enabling this functionality requires a simple change to your Vagrantfile. You need to set "guest_service_interface" to true within "vm_integration_services" configuration hash. Here's what my Vagrantfile looks like for CentOS 7:
   &lt;BR /&gt;
   &lt;DIV&gt;
    &lt;BR /&gt;
    # -*- mode: ruby -*-
    &lt;BR /&gt;
    # vi: set ft=ruby :
    &lt;BR /&gt;
    &lt;BR /&gt;
    Vagrant.configure("2") do |config|
    &lt;BR /&gt;
    config.vm.box = "centos/7"
    &lt;BR /&gt;
    config.vm.provider "hyperv"
    &lt;BR /&gt;
    config.vm.network "public_network"
    &lt;BR /&gt;
    config.vm.synced_folder ".", "/vagrant", disabled: true
    &lt;BR /&gt;
    config.vm.provider "hyperv" do |h|
    &lt;BR /&gt;
    h.enable_virtualization_extensions = true
    &lt;BR /&gt;
    h.differencing_disk = true
    &lt;BR /&gt;
    h.vm_integration_services = {
    &lt;BR /&gt;
    guest_service_interface: true  #&amp;lt;---------- this line enables Copy-VMFile
    &lt;BR /&gt;
    }
    &lt;BR /&gt;
    end
    &lt;BR /&gt;
    end
    &lt;BR /&gt;
   &lt;/DIV&gt;
   &lt;BR /&gt;
   You can check that it's enabled by running
   &lt;CODE&gt;
    Get-VMIntegrationService
   &lt;/CODE&gt;
   in PowerShell on the host machine:
   &lt;BR /&gt;
   &lt;CODE&gt;
    PS C:\vagrant_selfhost\centos&amp;gt;  Get-VMIntegrationService -VMName "centos-7-1-1.x86_64"
    &lt;BR /&gt;
    &lt;BR /&gt;
    VMName              Name                    Enabled PrimaryStatusDescription SecondaryStatusDescription
    &lt;BR /&gt;
    ------              ----                    ------- ------------------------ --------------------------
    &lt;BR /&gt;
    centos-7-1-1.x86_64 Guest Service Interface True    OK
    &lt;BR /&gt;
    centos-7-1-1.x86_64 Heartbeat               True    OK
    &lt;BR /&gt;
    centos-7-1-1.x86_64 Key-Value Pair Exchange True    OK                       The protocol version of...
    &lt;BR /&gt;
    centos-7-1-1.x86_64 Shutdown                True    OK
    &lt;BR /&gt;
    centos-7-1-1.x86_64 Time Synchronization    True    OK                       The protocol version of...
    &lt;BR /&gt;
    centos-7-1-1.x86_64 VSS                     True    OK                       The protocol version of...
    &lt;BR /&gt;
   &lt;/CODE&gt;
   &lt;BR /&gt;
   &lt;EM&gt;
    Note
   &lt;/EM&gt;
   : not all integration services work on all guest operating systems. For example, this functionality will not work on the "Precise" Ubuntu image that's used in Vagrant's "Getting Started" guide. The full compatibility list various Windows and Linux distrobutions can be found
   &lt;A href="https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/supported-linux-and-freebsd-virtual-machines-for-hyper-v-on-windows" target="_blank"&gt;
    here
   &lt;/A&gt;
   . Just click on your chosen distrobution and check for "File copy from host to guest."
   &lt;BR /&gt;
   &lt;H2&gt;
    Using Copy-VMFile
   &lt;/H2&gt;
   &lt;BR /&gt;
   Once you've got a VM set up correctly, copying files to and from arbitrary locations is as simple as running
   &lt;CODE&gt;
    Copy-VMFile
   &lt;/CODE&gt;
   in PowerShell.
   &lt;BR /&gt;
   &lt;BR /&gt;
   Here's a sample test I used to verify it was working on my CentOS VM:
   &lt;BR /&gt;
   &lt;CODE&gt;
    Copy-VMFile -Name 'centos-7-1-1.x86_64' -SourcePath '.\Foo.txt' -DestinationPath '/tmp' -FileSource Host
    &lt;BR /&gt;
   &lt;/CODE&gt;
   &lt;BR /&gt;
   Full details can found in the
   &lt;A href="https://technet.microsoft.com/itpro/powershell/windows/hyper-v/copy-vmfile" target="_blank"&gt;
    official documentation
   &lt;/A&gt;
   . Unfortunately, you can't yet use it to copy files from your VM to your host. If you're running a Windows Guest, you can use
   &lt;CODE&gt;
    Copy-Item
   &lt;/CODE&gt;
   with PowerShell Direct to make that work; see
   &lt;A href="https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/powershell-direct#copy-files-with-new-pssession-and-copy-item" target="_blank"&gt;
    this document
   &lt;/A&gt;
   for more details.
   &lt;BR /&gt;
   &lt;H2&gt;
    How Does It Work?
   &lt;/H2&gt;
   &lt;BR /&gt;
   The way this works is by running Hyper-V integration services within the guest operating system. Full details can be found in the
   &lt;A href="https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/integration-services" target="_blank"&gt;
    official documentation
   &lt;/A&gt;
   . The short version is that integration services are Windows Services (on Windows) or Daemons (on Linux) that allow the guest operating system to communicate with the host. In this particular instance, the integration service allows us to copy files to the VM over the VM Bus (no network required!).
   &lt;BR /&gt;
   &lt;H2&gt;
    Conclusion
   &lt;/H2&gt;
   &lt;BR /&gt;
   Hope you find this helpful -- let me know if there's anything you think I missed.
   &lt;BR /&gt;
   &lt;BR /&gt;
   John Slack
   &lt;BR /&gt;
   Program Manager
   &lt;BR /&gt;
   Hyper-V Team
   &lt;BR /&gt;
   &lt;BR /&gt;
  &lt;/DIV&gt;
 
&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Mar 2019 00:11:28 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/virtualization/copying-files-into-a-hyper-v-vm-with-vagrant/ba-p/382376</guid>
      <dc:creator>Virtualization-Team</dc:creator>
      <dc:date>2019-03-22T00:11:28Z</dc:date>
    </item>
    <item>
      <title>Hyper-V virtual machine gallery and networking improvements</title>
      <link>https://techcommunity.microsoft.com/t5/virtualization/hyper-v-virtual-machine-gallery-and-networking-improvements/ba-p/382375</link>
      <description>&lt;HTML&gt;
 &lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;
  &lt;STRONG&gt;
   First published on TECHNET on Jul 26, 2017
  &lt;/STRONG&gt;
  &lt;BR /&gt;
  In January,
  &lt;A href="https://blogs.technet.microsoft.com/virtualization/2017/01/10/cool-new-things-for-hyper-v-on-desktop/" title="Quick Create" target="_blank"&gt;
   we added Quick Create
  &lt;/A&gt;
  to Hyper-V manager in Windows 10.&amp;nbsp; Quick Create is a single-page wizard for fast, easy, virtual machine creation.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Starting in the latest fast-track Windows Insider builds (16237+) we’re expanding on that idea in two ways.&amp;nbsp; Quick Create now includes:
  &lt;BR /&gt;
  &lt;OL&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    A virtual machine gallery with downloadable, pre-configured, virtual machines.
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    A default virtual switch to allow virtual machines to share the host’s internet connection using NAT.
   &lt;/LI&gt;
   &lt;BR /&gt;
  &lt;/OL&gt;
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97096i253169891E6598E2" /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  To launch Quick Create, open Hyper-V Manager and click on the “Quick Create…” button (1).
  &lt;BR /&gt;
  &lt;BR /&gt;
  From there you can either create a virtual machine from one of the pre-built images available from Microsoft (2) or use a local installation source.&amp;nbsp; Once you’ve selected an image or chosen installation media, you’re done!&amp;nbsp; The virtual machine comes with a default name and a pre-made network connection using NAT (3) which can be modified in the “more options” menu.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Click “Create Virtual Machine” and you’re ready to go – granted downloading the virtual machine will take awhile.
  &lt;BR /&gt;
  &lt;H3&gt;
   Details about the Default Switch
  &lt;/H3&gt;
  &lt;BR /&gt;
  The switch named “Default Switch” or “Layered_ICS”, allows virtual machines to share the host’s network connection.&amp;nbsp; Without getting too deep into networking (saving that for a different post), this switch has a few unique attributes compared to other Hyper-V switches:
  &lt;BR /&gt;
  &lt;OL&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Virtual machines connected to it will have access to the host’s network whether you’re connected to WIFI, a dock, or Ethernet.
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    It’s available as soon as you enable Hyper-V – you won’t lose internet setting it up.
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    You can’t delete it.
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    It has the same name and device ID (GUID c08cb7b8-9b3c-408e-8e30-5e16a3aeb444) on all Windows 10 hosts so virtual machines on recent builds can assume the same switch is present on all Windows 10 Hyper-V host.
   &lt;/LI&gt;
   &lt;BR /&gt;
  &lt;/OL&gt;
  &lt;BR /&gt;
  I’m really excited by the work we are doing in this area.&amp;nbsp; These improvements make Hyper-V a better tool for people running virtual machines on a laptop.&amp;nbsp; They don’t, however, replace existing Hyper-V tools.&amp;nbsp; If you need to define specific virtual machine settings, New-VM or the new virtual machine wizard are&amp;nbsp;the right tools.&amp;nbsp; For people with custom networks or complicated virtual network needs, continue using Virtual Switch Manager.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Also keep in mind that all of this is a work in progress.&amp;nbsp; There are rough edges for the default switch right now and there aren't many images in the gallery.&amp;nbsp; Please give us feedback! &amp;nbsp;Your feedback helps us. &amp;nbsp;Let us know what images you would like to see and share issues by commenting on this blog or submitting feedback through Feedback Hub.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Cheers,
  &lt;BR /&gt;
  Sarah
 
&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Mar 2019 00:11:22 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/virtualization/hyper-v-virtual-machine-gallery-and-networking-improvements/ba-p/382375</guid>
      <dc:creator>scooley</dc:creator>
      <dc:date>2019-03-22T00:11:22Z</dc:date>
    </item>
    <item>
      <title>Vagrant and Hyper-V -- Tips and Tricks</title>
      <link>https://techcommunity.microsoft.com/t5/virtualization/vagrant-and-hyper-v-tips-and-tricks/ba-p/382373</link>
      <description>&lt;HTML&gt;
 &lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;
  &lt;STRONG&gt;
   First published on TECHNET on Jul 06, 2017
  &lt;/STRONG&gt;
  &lt;BR /&gt;
  &lt;DIV&gt;
   &lt;BR /&gt;
   &lt;H2&gt;
    Learning to Use Vagrant on Windows 10
   &lt;/H2&gt;
   &lt;BR /&gt;
   A few months ago, I went to
   &lt;A href="https://2017.dockercon.com/" target="_blank"&gt;
    DockerCon
   &lt;/A&gt;
   as a Microsoft representative. While I was there, I had the chance to ask developers about their favorite tools.
   &lt;BR /&gt;
   &lt;BR /&gt;
   The most common tool mentioned (outside of Docker itself) was
   &lt;A href="https://www.vagrantup.com/" target="_blank"&gt;
    Vagrant
   &lt;/A&gt;
   . This was interesting -- I was familiar with Vagrant, but I'd never actually used it. I decided that needed to change. Over the past week or two, I took some time to try it out. I got everything working eventually, but I definitely ran into some issues on the way.
   &lt;BR /&gt;
   &lt;BR /&gt;
   My pain is your gain -- here are my tips and tricks for getting started with Vagrant on Windows 10 and Hyper-V.
   &lt;BR /&gt;
   &lt;BR /&gt;
   &lt;STRONG&gt;
    NOTE: This is a supplement for Vagrant's "
    &lt;A href="https://www.vagrantup.com/intro/getting-started/index.html" target="_blank"&gt;
     Getting Started
    &lt;/A&gt;
    " guide, not a replacement.
   &lt;/STRONG&gt;
   &lt;BR /&gt;
   &lt;H2&gt;
    Tip 0: Install Hyper-V
   &lt;/H2&gt;
   &lt;BR /&gt;
   For those new to Hyper-V, make sure you've got Hyper-V running on your machine. Our
   &lt;A href="https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v" target="_blank"&gt;
    official docs
   &lt;/A&gt;
   list the exact steps and requirements.
   &lt;BR /&gt;
   &lt;H2&gt;
    Tip 1: Set Up Networking Correctly
   &lt;/H2&gt;
   &lt;BR /&gt;
   Vagrant doesn't know how to set up networking on Hyper-V right now (unlike other providers), so it's up to you to get things working the way you like them.
   &lt;BR /&gt;
   &lt;BR /&gt;
   There are&amp;nbsp;a few NAT networks&amp;nbsp;already created on Windows 10 (depending on your specific build). &amp;nbsp;Layered_ICS should work (but is under active development), while Layered_NAT
   &lt;A href="https://github.com/mitchellh/vagrant/issues/8573" target="_blank"&gt;
    doesn't have DHCP
   &lt;/A&gt;
   . &amp;nbsp;If you're a Windows Insider, you can try Layered_ICS. &amp;nbsp;If that doesn't work, the safest option is to create an external switch via Hyper-V Manager. &amp;nbsp;This is the approach I took. If you go this route, a friendly reminder that the external switch is tied to a specific network adapter. So if you make it for WiFi, it won't work when you hook up the Ethernet, and vice versa.
   &lt;BR /&gt;
   &lt;BR /&gt;
   [caption id="attachment_10175" align="aligncenter" width="879"]
   &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97094iA50A877223F66865" /&gt;
   Instructions for adding an external switch in Hyper-V manager[/caption]
   &lt;BR /&gt;
   &lt;H2&gt;
    Tip 2: Use the Hyper-V Provider
   &lt;/H2&gt;
   &lt;BR /&gt;
   Unfortunately, the
   &lt;A href="https://www.vagrantup.com/intro/getting-started/index.html" target="_blank"&gt;
    Getting Started
   &lt;/A&gt;
   guide uses VirtualBox, and you can't run other virtualization solutions alongside Hyper-V. You need to change the "
   &lt;A href="https://www.vagrantup.com/intro/getting-started/providers.html" target="_blank"&gt;
    provider
   &lt;/A&gt;
   " Vagrant uses at a few different points.
   &lt;BR /&gt;
   &lt;BR /&gt;
   When you install your first box, add --provider :
   &lt;BR /&gt;
   &lt;CODE&gt;
    vagrant box add hashicorp/precise64 --provider hyperv
    &lt;BR /&gt;
   &lt;/CODE&gt;
   &lt;BR /&gt;
   And when you boot your first Vagrant environment, again, add --provider. Note: you might run into the error mentioned in Trick 4, so skip to there if you see something like "mount error(112): Host is down".
   &lt;BR /&gt;
   &lt;CODE&gt;
    vagrant up --provider hyperv
    &lt;BR /&gt;
   &lt;/CODE&gt;
   &lt;BR /&gt;
   &lt;H2&gt;
    Tip 3: Add the basics to your Vagrantfile
   &lt;/H2&gt;
   &lt;BR /&gt;
   Adding the provider flag is a pain to do every single time you run
   &lt;CODE&gt;
    vagrant up
   &lt;/CODE&gt;
   . Fortunately, you can set up your Vagrantfile to automate things for you. After running
   &lt;CODE&gt;
    vagrant init
   &lt;/CODE&gt;
   , modify your vagrant file with the following:
   &lt;BR /&gt;
   &lt;DIV&gt;
    &lt;BR /&gt;
    Vagrant.configure(2) do |config|
    &lt;BR /&gt;
    config.vm.box = "hashicorp/precise64"
    &lt;BR /&gt;
    config.vm.provider "hyperv"
    &lt;BR /&gt;
    config.vm.network "public_network"
    &lt;BR /&gt;
    end
    &lt;BR /&gt;
   &lt;/DIV&gt;
   &lt;BR /&gt;
   One additional trick here:
   &lt;CODE&gt;
    vagrant init
   &lt;/CODE&gt;
   will create a file that will appear to be full of commented out items. However, there is one line not commented out:
   &lt;BR /&gt;
   &lt;BR /&gt;
   [caption id="attachment_10185" align="aligncenter" width="879"]
   &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97095i6CCF1849EA82EA38" /&gt;
   There is one line not commented.[/caption]
   &lt;BR /&gt;
   &lt;BR /&gt;
   Make sure you delete that line! Otherwise, you'll end up with an error like this:
   &lt;BR /&gt;
   &lt;CODE&gt;
    Bringing machine 'default' up with 'hyperv' provider...
    &lt;BR /&gt;
    ==&amp;gt; default: Verifying Hyper-V is enabled...
    &lt;BR /&gt;
    ==&amp;gt; default: Box 'base' could not be found. Attempting to find and install...
    &lt;BR /&gt;
    default: Box Provider: hyperv
    &lt;BR /&gt;
    default: Box Version: &amp;gt;= 0
    &lt;BR /&gt;
    ==&amp;gt; default: Box file was not detected as metadata. Adding it directly...
    &lt;BR /&gt;
    ==&amp;gt; default: Adding box 'base' (v0) for provider: hyperv
    &lt;BR /&gt;
    default: Downloading: base
    &lt;BR /&gt;
    default:
    &lt;BR /&gt;
    An error occurred while downloading the remote file. The error
    &lt;BR /&gt;
    message, if any, is reproduced below. Please fix this error and try
    &lt;BR /&gt;
    again.
    &lt;BR /&gt;
   &lt;/CODE&gt;
   &lt;BR /&gt;
   &lt;H2&gt;
    Trick 4: Shared folders uses SMBv1 for hashicorp/precise64
   &lt;/H2&gt;
   &lt;BR /&gt;
   For the image used in the "Getting Started" guide (hashicorp/precise64), Vagrant tries to use SMBv1 for shared folders. However, if you're like me and have
   &lt;A href="https://blogs.technet.microsoft.com/filecab/2016/09/16/stop-using-smb1/" target="_blank"&gt;
    SMBv1 disabled
   &lt;/A&gt;
   , this will fail:
   &lt;BR /&gt;
   &lt;CODE&gt;
    Failed to mount folders in Linux guest. This is usually because
    &lt;BR /&gt;
    the "vboxsf" file system is not available. Please verify that
    &lt;BR /&gt;
    the guest additions are properly installed in the guest and
    &lt;BR /&gt;
    can work properly. The command attempted was:
    &lt;BR /&gt;
    &lt;BR /&gt;
    mount -t cifs -o uid=1000,gid=1000,sec=ntlm,credentials=/etc/smb_creds_e70609f244a9ad09df0e760d1859e431 //10.124.157.30/e70609f244a9ad09df0e760d1859e431 /vagrant
    &lt;BR /&gt;
    &lt;BR /&gt;
    The error output from the last command was:
    &lt;BR /&gt;
    &lt;BR /&gt;
    mount error(112): Host is down
    &lt;BR /&gt;
    Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
    &lt;BR /&gt;
   &lt;/CODE&gt;
   &lt;BR /&gt;
   You can check if SMBv1 is enabled with this PowerShell Cmdlet:
   &lt;BR /&gt;
   &lt;CODE&gt;
    Get-SmbServerConfiguration
    &lt;BR /&gt;
   &lt;/CODE&gt;
   &lt;BR /&gt;
   If you can live without synced folders, here's the line to add to the vagrantfile to disable the default synced folder.
   &lt;BR /&gt;
   &lt;DIV&gt;
    &lt;BR /&gt;
    config.vm.synced_folder ".", "/vagrant", disabled: true
    &lt;BR /&gt;
   &lt;/DIV&gt;
   &lt;BR /&gt;
   If you can't, you can try installing cifs-utils in the VM and re-provision. You could also try
   &lt;A href="https://www.vagrantup.com/docs/synced-folders/" target="_blank"&gt;
    another synced folder method
   &lt;/A&gt;
   . For example, rsync works with Cygwin or MinGW. Disclaimer: I personally didn't try either of these methods.
   &lt;BR /&gt;
   &lt;H2&gt;
    Tip 5: Enable Nifty Hyper-V Features
   &lt;/H2&gt;
   &lt;BR /&gt;
   Hyper-V has some useful features that improve the Vagrant experience. For example, a pretty substantial portion of the time spent running
   &lt;CODE&gt;
    vagrant up
   &lt;/CODE&gt;
   is spent cloning the virtual hard drive. A faster way is to use differencing disks with Hyper-V. You can also turn on virtualization extensions, which allow nested virtualization within the VM (i.e. Docker with Hyper-V containers). Here are the lines to add to your Vagrantfile to add these features:
   &lt;BR /&gt;
   &lt;DIV&gt;
    &lt;BR /&gt;
    config.vm.provider "hyperv" do |h|
    &lt;BR /&gt;
    h.enable_virtualization_extensions = true
    &lt;BR /&gt;
    h.differencing_disk = true
    &lt;BR /&gt;
    end
    &lt;BR /&gt;
   &lt;/DIV&gt;
   &lt;BR /&gt;
   There are a many more customization options that can be added here (i.e. VMName, CPU/Memory settings, integration services). You can find the details in the
   &lt;A href="https://www.vagrantup.com/docs/hyperv/configuration.html" target="_blank"&gt;
    Hyper-V provider documentation
   &lt;/A&gt;
   .
   &lt;BR /&gt;
   &lt;H2&gt;
    Tip 6: Filter for Hyper-V compatible boxes on Vagrant Cloud
   &lt;/H2&gt;
   &lt;BR /&gt;
   You can find more boxes to use in the Vagrant Cloud (formally called Atlas). They let you filter by provider, so it's easy to find all of the
   &lt;A href="https://app.vagrantup.com/boxes/search?provider=hyperv" target="_blank"&gt;
    Hyper-V compatible boxes
   &lt;/A&gt;
   .
   &lt;BR /&gt;
   &lt;H2&gt;
    Tip 7: Default to the Hyper-V Provider
   &lt;/H2&gt;
   &lt;BR /&gt;
   While adding the default provider to your Vagrantfile is useful, it means you need to remember to do it with each new Vagrantfile you create. If you don't, Vagrant will trying to download VirtualBox when you
   &lt;CODE&gt;
    vagrant up
   &lt;/CODE&gt;
   the first time for your new box. Again, VirtualBox doesn't work alongside Hyper-V, so this is a problem.
   &lt;BR /&gt;
   &lt;CODE&gt;
    PS C:\vagrant&amp;gt; vagrant up
    &lt;BR /&gt;
    ==&amp;gt;  Provider 'virtualbox' not found. We'll automatically install it now...
    &lt;BR /&gt;
    The installation process will start below. Human interaction may be
    &lt;BR /&gt;
    required at some points. If you're uncomfortable with automatically
    &lt;BR /&gt;
    installing this provider, you can safely Ctrl-C this process and install
    &lt;BR /&gt;
    it manually.
    &lt;BR /&gt;
    ==&amp;gt;  Downloading VirtualBox 5.0.10...
    &lt;BR /&gt;
    This may not be the latest version of VirtualBox, but it is a version
    &lt;BR /&gt;
    that is known to work well. Over time, we'll update the version that
    &lt;BR /&gt;
    is installed.
    &lt;BR /&gt;
   &lt;/CODE&gt;
   &lt;BR /&gt;
   You can set your default provider on a user level by using the VAGRANT_DEFAULT_PROVIDER environmental variable. For more options (and details),
   &lt;A href="https://www.vagrantup.com/docs/providers/basic_usage.html" target="_blank"&gt;
    this
   &lt;/A&gt;
   is the relevant page of Vagrant's documentation.
   &lt;BR /&gt;
   &lt;BR /&gt;
   Here's how I set the user-level environment variable in PowerShell:
   &lt;BR /&gt;
   &lt;CODE&gt;
    [Environment]::SetEnvironmentVariable("VAGRANT_DEFAULT_PROVIDER", "hyperv", "User")
    &lt;BR /&gt;
   &lt;/CODE&gt;
   &lt;BR /&gt;
   Again, you can also set the default provider in the Vagrant file (see Trick 3), which will prevent this issue on a per project basis. You can also just add
   &lt;CODE&gt;
    --provider hyperv
   &lt;/CODE&gt;
   when running
   &lt;CODE&gt;
    vagrant up
   &lt;/CODE&gt;
   . The choice is yours.
   &lt;BR /&gt;
   &lt;H2&gt;
    Wrapping Up
   &lt;/H2&gt;
   &lt;BR /&gt;
   Those are my tips and tricks for getting started with Vagrant on Hyper-V. If there are any you think I missed, or anything you think I got wrong, let me know in the comments.
   &lt;BR /&gt;
   &lt;BR /&gt;
   Here's the complete version of my simple starting Vagrantfile:
   &lt;BR /&gt;
   &lt;DIV&gt;
    &lt;BR /&gt;
    # -*- mode: ruby -*-
    &lt;BR /&gt;
    # vi: set ft=ruby :
    &lt;BR /&gt;
    &lt;BR /&gt;
    # All Vagrant configuration is done below. The "2" in Vagrant.configure
    &lt;BR /&gt;
    # configures the configuration version (we support older styles for
    &lt;BR /&gt;
    # backwards compatibility). Please don't change it unless you know what
    &lt;BR /&gt;
    # you're doing.
    &lt;BR /&gt;
    Vagrant.configure("2") do |config|
    &lt;BR /&gt;
    config.vm.box = "hashicorp/precise64"
    &lt;BR /&gt;
    config.vm.provider "hyperv"
    &lt;BR /&gt;
    config.vm.network "public_network"
    &lt;BR /&gt;
    config.vm.synced_folder ".", "/vagrant", disabled: true
    &lt;BR /&gt;
    config.vm.provider "hyperv" do |h|
    &lt;BR /&gt;
    h.enable_virtualization_extensions = true
    &lt;BR /&gt;
    h.differencing_disk = true
    &lt;BR /&gt;
    end
    &lt;BR /&gt;
    end
    &lt;BR /&gt;
   &lt;/DIV&gt;
   &lt;BR /&gt;
  &lt;/DIV&gt;
 
&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Mar 2019 00:11:01 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/virtualization/vagrant-and-hyper-v-tips-and-tricks/ba-p/382373</guid>
      <dc:creator>Virtualization-Team</dc:creator>
      <dc:date>2019-03-22T00:11:01Z</dc:date>
    </item>
    <item>
      <title>Making it easier to revert</title>
      <link>https://techcommunity.microsoft.com/t5/virtualization/making-it-easier-to-revert/ba-p/382370</link>
      <description>&lt;HTML&gt;
 &lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;
  &lt;STRONG&gt;
   First published on TECHNET on Apr 20, 2017
  &lt;/STRONG&gt;
  &lt;BR /&gt;
  Sometimes when things go wrong in my&amp;nbsp;environment, I&amp;nbsp;don't want to have&amp;nbsp;to clean it all up -- I&amp;nbsp;just want to go back in time to when everything&amp;nbsp;was working. But remembering to maintain&amp;nbsp;good recovery points isn't easy.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Now we're making it so that you can always roll back&amp;nbsp;your virtual machine to a recent good state if you need to.&amp;nbsp;Starting in the latest Windows Insider build,&amp;nbsp;you can now always&amp;nbsp;revert a virtual machine back to the state it started in.
  &lt;BR /&gt;
  &lt;BR /&gt;
  In Virtual&amp;nbsp;Machine Connection, just click the Revert button to undo any changes made inside the virtual machine since it last started.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97092iAE9E358F4AFC86A8" /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  Under the hood, we're using checkpoints; when you start a virtual machine that doesn't have any checkpoints, we create one for you so that you can easily roll back to it if something goes wrong, then we clean it up once the virtual machine shuts down cleanly.
  &lt;BR /&gt;
  &lt;BR /&gt;
  New virtual machines will be created&amp;nbsp;with "Use automatic checkpoints"&amp;nbsp;enabled by default, but you will have to enable it yourself to use it for&amp;nbsp;existing VMs. The option is off by default on Windows Server.&amp;nbsp;&amp;nbsp;This option can be found in Settings -&amp;gt; Checkpoints -&amp;gt; "Use automatic checkpoints"
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97093iCC3413BA418E2229" /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  Note: the checkpoint will only be taken automatically when the VM starts if it&amp;nbsp;doesn't have other existing checkpoints.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Hopefully this&amp;nbsp;will come in handy&amp;nbsp;next&amp;nbsp;time you need to undo something in your VM. If you are in the Windows Insider Program, please give it a try and let us know&amp;nbsp;what you think.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Cheers,
  &lt;BR /&gt;
  Andy
 
&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Mar 2019 00:10:29 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/virtualization/making-it-easier-to-revert/ba-p/382370</guid>
      <dc:creator>Virtualization-Team</dc:creator>
      <dc:date>2019-03-22T00:10:29Z</dc:date>
    </item>
    <item>
      <title>What's new in Hyper-V for the Windows 10 Creators Update?</title>
      <link>https://techcommunity.microsoft.com/t5/virtualization/what-s-new-in-hyper-v-for-the-windows-10-creators-update/ba-p/382366</link>
      <description>&lt;HTML&gt;
 &lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;
  &lt;STRONG&gt;
   First published on TECHNET on Apr 13, 2017
  &lt;/STRONG&gt;
  &lt;BR /&gt;
  Microsoft just released the
  &lt;A href="https://blogs.windows.com/windowsexperience/2017/04/11/whats-new-in-the-windows-10-creators-update" target="_blank"&gt;
   Windows 10 Creators Update
  &lt;/A&gt;
  .&amp;nbsp; Which means Hyper-V improvements!
  &lt;BR /&gt;
  &lt;BR /&gt;
  New and improved features in Creators Update:
  &lt;BR /&gt;
  &lt;UL&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Quick Create
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Checkpoint and Save for nested Hyper-V
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Dynamic resize for VM Connect
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Zoom for VM Connect
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Networking improvements (NAT)
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Developer-centric memory management
   &lt;/LI&gt;
   &lt;BR /&gt;
  &lt;/UL&gt;
  &lt;BR /&gt;
  Keep reading for more details.&amp;nbsp; Also, if you want to try new Hyper-V things as we build them, become a
  &lt;A href="https://insider.windows.com/" target="_blank"&gt;
   Windows Insider
  &lt;/A&gt;
  .
  &lt;BR /&gt;
  Faster VM creation with Quick Create
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97089iB59D22EB0AC7D515" /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  Hyper-V Manager has a new option for quickly and easily creating virtual machines, aptly named “Quick Create”.
  &lt;A href="https://blogs.technet.microsoft.com/virtualization/2017/01/10/cool-new-things-for-hyper-v-on-desktop/" target="_blank"&gt;
   Introduced in build 15002
  &lt;/A&gt;
  , Quick Create focuses on getting the guest operating system up and running as quickly as possible -- including creating and connecting to a virtual switch.
  &lt;BR /&gt;
  &lt;BR /&gt;
  When we first released Quick Create, there were a number of issues mostly centered on our default virtual machine settings (
  &lt;A href="https://blogs.technet.microsoft.com/virtualization/2017/01/20/a-closer-look-at-vm-quick-create/" target="_blank"&gt;
   read more
  &lt;/A&gt;
  ).&amp;nbsp; In response to your feedback, we have updated the Quick Create defaults.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Creators Update Quick Create defaults:
  &lt;BR /&gt;
  &lt;UL&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Generation: 2
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Memory: 2048 MB to start, Dynamic Memory enabled
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Virtual Processors: 4
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    VHD: dynamic resize up to 100GB
   &lt;/LI&gt;
   &lt;BR /&gt;
  &lt;/UL&gt;
  &lt;BR /&gt;
  Checkpoint and save work on nested Hyper-V host
  &lt;BR /&gt;
  Last year we added the ability to run Hyper-V inside of Hyper-V (a.k.a. nested virtualization).&amp;nbsp; This has been a very popular feature, but it initially came with a number of limitations.&amp;nbsp; We have continued to work on the performance, compatibility and feature integration of nested virtualization.
  &lt;BR /&gt;
  &lt;BR /&gt;
  In the Creator update for Windows 10 you can now take checkpoints and saved states on virtual machines that are acting as nested Hyper-V hosts.
  &lt;BR /&gt;
  Dynamic resize for Enhanced Session Mode VMs
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97090i590D02FD93E0D014" /&gt;
  &lt;BR /&gt;
  &lt;BR /&gt;
  The picture says it all.&amp;nbsp; If you are using Hyper-V’s Enhanced Session Mode, you can dynamically resize your virtual machine.&amp;nbsp; Right now, this is only available to virtual machines that support Hyper-V’s Enhanced Session mode.&amp;nbsp; That includes:
  &lt;BR /&gt;
  &lt;UL&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Windows Client: Windows 8.1, Windows 10 and later
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Windows Server: Windows Server 2012 R2, Windows Server 2016 and later
   &lt;/LI&gt;
   &lt;BR /&gt;
  &lt;/UL&gt;
  &lt;BR /&gt;
  Read
  &lt;A href="https://blogs.technet.microsoft.com/virtualization/2017/01/27/introducing-vmconnect-dynamic-resize/" target="_blank"&gt;
   blog
  &lt;/A&gt;
  announcement.
  &lt;BR /&gt;
  Zoom for VM Connect
  &lt;BR /&gt;
  Is your virtual machine impossible to read?&amp;nbsp; Alternately, do you suffer from scaling issues in legacy applications?
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;B&gt;
   VMConnect
  &lt;/B&gt;
  now has the option to adjust
  &lt;B&gt;
   Zoom Level
  &lt;/B&gt;
  under the
  &lt;B&gt;
   View
  &lt;/B&gt;
  Menu.
  &lt;BR /&gt;
  &lt;BR /&gt;
  &lt;IMG src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/97091iEB1FD2CD9692657D" /&gt;
  &lt;BR /&gt;
  Multiple NAT networks and IP pinning
  &lt;BR /&gt;
  NAT networking is vital to both Docker and Visual Studio’s UWP device emulators.&amp;nbsp; When we released Windows Containers, developers discovered number of networking differences between containers on Linux and containers on Windows.&amp;nbsp; Additionally, introducing another common developer tool that uses NAT networking presented new challenges for our networking stack.
  &lt;BR /&gt;
  &lt;BR /&gt;
  In the Creators Update, there are two significant improvements to NAT:
  &lt;BR /&gt;
  &lt;OL&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Developers can now use for multiple NAT networks (internal prefixes) on a single host.
    &lt;BR /&gt;
    That means VMs, containers, emulators, et. al. can all take advantage of NAT functionality from a single host.
   &lt;/LI&gt;
   &lt;BR /&gt;
   &lt;LI&gt;
    Developers are also able to build and test their applications with industry-standard tooling directly from the container host using an overlay network driver (provided by the Virtual Filtering Platform (VFP) Hyper-V switch extension) as well as having direct access to the container using the Host IP and exposed port.
   &lt;/LI&gt;
   &lt;BR /&gt;
  &lt;/OL&gt;
  &lt;BR /&gt;
  Improved memory management
  &lt;BR /&gt;
  Until recently, Hyper-V has allocated memory very conservatively.&amp;nbsp; While that is the right behavior for Windows Server, UWP developers faced out of memory errors starting device emulators from Visual Studio (
  &lt;A href="https://blogs.technet.microsoft.com/virtualization/2017/01/27/no-more-out-of-memory-errors-for-windows-phone-emulators-in-windows-10-unless-youre-really-out-of-memory/" target="_blank"&gt;
   read more
  &lt;/A&gt;
  ).
  &lt;BR /&gt;
  &lt;BR /&gt;
  In the Creators Update, Hyper-V gives the operating system a chance to trim memory from other applications and uses all available memory.&amp;nbsp; You may still run out of memory, but now the amount of memory shown in task manager accurately reflects the amount available for starting virtual machines.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Introduced in
  &lt;A href="https://blogs.technet.microsoft.com/virtualization/2017/01/10/cool-new-things-for-hyper-v-on-desktop/" target="_blank"&gt;
   build 15002
  &lt;/A&gt;
  .
  &lt;BR /&gt;
  &lt;BR /&gt;
  As always, please send us feedback!
  &lt;BR /&gt;
  &lt;BR /&gt;
  Once more, because I can’t emphasize this enough,
  &lt;A href="https://insider.windows.com/" target="_blank"&gt;
   become a Windows Insider
  &lt;/A&gt;
  – almost everything here has benefited from your early feedback.
  &lt;BR /&gt;
  &lt;BR /&gt;
  Cheers,
  &lt;BR /&gt;
  Sarah
 
&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Mar 2019 00:09:58 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/virtualization/what-s-new-in-hyper-v-for-the-windows-10-creators-update/ba-p/382366</guid>
      <dc:creator>scooley</dc:creator>
      <dc:date>2019-03-22T00:09:58Z</dc:date>
    </item>
  </channel>
</rss>

