Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix a few typos #1950

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Hi, I am Vijay Tewari a program manager with the Virtualization team here at Mic

Below is my tentative schedule for VMworld. As you can see a lot of wait lists, but I am hoping that I can squeeze in. Would like your feedback if there are sessions you would like to see covered.

We will be tweeting (follow vtango on [Twitter](https://twitter.com/vtango)) and blogging all through the event, so follow along. Looking forward to seeing you!! Vijay Vijay Tewari, Principal Program Manager, Virtualization
We will be tweeting (follow vtango on [Twitter](https://twitter.com/vtango)) and blogging all through the event, so follow along. Looking forward to seeing you!! Vijay Tewari, Principal Program Manager, Virtualization

**** 

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ At this point, the question I’m always asked is, “What now? What if a virtua

No.

At this point, Dynamic Memory will attempt to reclaim pages from other virtual machines. However, in the absolute worst case where no free pages are available, the **guest operating** system will page as needed, not the parent. This is important because the guest operating system knows best what memory should and shouldn ’t be paged. (I covered this back in [Part 5](https://techcommunity.microsoft.com/t5/virtualization/repost-dynamic-memory-coming-to-hyper-v-part-5-8230/ba-p/381751)...) Finally, when free memory does become available from other virtual machines, Dynamic Memory will move memory as needed.
At this point, Dynamic Memory will attempt to reclaim pages from other virtual machines. However, in the absolute worst case where no free pages are available, the **guest operating** system will page as needed, not the parent. This is important because the guest operating system knows best what memory should and shouldn’t be paged. (I covered this back in [Part 5](https://techcommunity.microsoft.com/t5/virtualization/repost-dynamic-memory-coming-to-hyper-v-part-5-8230/ba-p/381751)...) Finally, when free memory does become available from other virtual machines, Dynamic Memory will move memory as needed.

**Over-Subscription & the CPU Analogy**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ The guest must avoid the examination and/or manipulation of any input or output

## Legal Hypercall Environments

Hypercalls can be invoked only from the most privileged guest processor mode. On x64 platfoms, this means protected mode with a current privilege level (CPL) of zero. Although real-mode code runs with an effective CPL of zero, hypercalls are not allowed in real mode. An attempt to invoke a hypercall within an illegal processor mode will generate a #UD (undefined operation) exception.
Hypercalls can be invoked only from the most privileged guest processor mode. On x64 platforms, this means protected mode with a current privilege level (CPL) of zero. Although real-mode code runs with an effective CPL of zero, hypercalls are not allowed in real mode. An attempt to invoke a hypercall within an illegal processor mode will generate a #UD (undefined operation) exception.

All hypercalls should be invoked through the architecturally-defined hypercall interface (see below). An attempt to invoke a hypercall by any other means (for example, copying the code from the hypercall code page to an alternate location and executing it from there) might result in an undefined operation (#UD) exception. The hypervisor is not guaranteed to deliver this exception.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ In cases where architectural feature discovery mechanisms indicate support for a

The Hyper-V L0 hypervisor will not indicate support for a VMCS field for which no enlightened VMCS field or exception is defined. If another L0 hypervisor needs a new enlightened VMCS field or exception to be defined, please contact Microsoft.

## Enlighened VMCB fields (AMD)
## Enlightened VMCB fields (AMD)

AMD has reserved space in the VMCB for hypervisor use, as well as an associated clean bit. The reserved bytes are in the control section, offset 0x3E0-3FF, of the VMCB. The clean bit is bit 31 (the clean bit must be invalidated whenever the hypervisor modifies the “enlightenments” area of the VMCB).

Expand Down Expand Up @@ -222,7 +222,7 @@ On AMD platforms, all TLB entries are architecturally tagged with an ASID (addre

## Nested Virtualization Exceptions

On Intel platforms. the L1 hypervisor can opt in to combining virtualization exceptions in the page fault exception class. The L0 hypervisor advertises support for this enlightment in the Hypervisor Nested Virtualization Features CPUID leaf.
On Intel platforms. the L1 hypervisor can opt in to combining virtualization exceptions in the page fault exception class. The L0 hypervisor advertises support for this enlightenment in the Hypervisor Nested Virtualization Features CPUID leaf.

This enlightenment can be enabled by setting VirtualizationException to “1” in [HV_NESTED_ENLIGHTENMENTS_CONTROL](datatypes/HV_NESTED_ENLIGHTENMENTS_CONTROL.md) data structure in the Virtual Processor Assist Page.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Enhanced Session Mode requires Remote Desktop to be enabled in the VM. Search fo

![Enable Remote Desktop](media/remote-desktop-settings.png)

Versions newer than Windows 10, version 2004 will requrire an additional setting, this includes Windows 11. If the Virtual Machine Connect window shows a background without a login prompt, then you need to make one more change.
Versions newer than Windows 10, version 2004 will require an additional setting, this includes Windows 11. If the Virtual Machine Connect window shows a background without a login prompt, then you need to make one more change.

First, log back in to the VM using Basic Mode. Search for "Sign-In Options" in the Settings app or Start menu.
On this page, turn "Require Windows Hello sign-in for Microsoft accounts" off.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ int sock = socket(AF_VSOCK, SOCK_STREAM, 0);

Bind associates a socket with connection information.

The function definition is copied below for convinience, read more about bind [here](/windows/desktop/api/winsock/nf-winsock-bind).
The function definition is copied below for convenience, read more about bind [here](/windows/desktop/api/winsock/nf-winsock-bind).

``` C
// Windows
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,6 @@ The error message displayed in PowerShell is "The system failed to create '\[pat
Use a NTFS formatted drive instead.

## I get this message when I try to install: "Hyper-V cannot be installed: The processor does not support second level address translation (SLAT)."
Hyper-V requires SLAT in order to run virtual machines. If you computer does not support SLAT, then it cannot be a host for virtual mahchines.
Hyper-V requires SLAT in order to run virtual machines. If you computer does not support SLAT, then it cannot be a host for virtual machines.

If you are only trying to install the management tools, unselect **Hyper-V Platform** in **Programs and Features** > **Turn Windows features on or off**.
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ To learn more about the gMSA improvements, see [Create gMSAs for Windows contain

### IPv6 support

The first step to fully supporting the IPv6 dual stack has been implemented for Kuberenetes in Windows. The IPv6 dual stack is supported for L2Bridge-based networks on the platform. IPv6 is dependent on the CNI used in Kubernetes, and it also required Kubernetes version 1.20 to enable the IPv6 support end-to-end. For more information, see [IPv4/IPv6 in Introduction to Windows support in Kubernetes](https://kubernetes.io/docs/setup/production-environment/windows/intro-windows-in-kubernetes/#ipv4-ipv6-dual-stack).
The first step to fully supporting the IPv6 dual stack has been implemented for Kubernetes in Windows. The IPv6 dual stack is supported for L2Bridge-based networks on the platform. IPv6 is dependent on the CNI used in Kubernetes, and it also required Kubernetes version 1.20 to enable the IPv6 support end-to-end. For more information, see [IPv4/IPv6 in Introduction to Windows support in Kubernetes](https://kubernetes.io/docs/setup/production-environment/windows/intro-windows-in-kubernetes/#ipv4-ipv6-dual-stack).

## Improved Kubernetes experience

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ PS C:\>

### Process Isolation

Due to the shared kernel nature of process-isolated containers, current behavior limits the user to running only **one instance** of the printer spooler service across the host and all its container children. If the host has the printer spooler running, you must stop the service on the host before attemping to launch the printer service in the guest.
Due to the shared kernel nature of process-isolated containers, current behavior limits the user to running only **one instance** of the printer spooler service across the host and all its container children. If the host has the printer spooler running, you must stop the service on the host before attempting to launch the printer service in the guest.

> [!TIP]
> If you launch a container and query for the spooler service in both the container and the host simultaneously, both will report their state as 'running'. But do not be deceived--the container will not be able to query for a list of available printers. The host's spooler service must not run.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ For reference, the following table lists the version numbers for Base OS contain

## Troubleshoot host and container image mismatches

Before you start, make sure sure to get familiar with the information in [Version compatibility](version-compatibility.md). This information will help you figure out whether your issue was caused by mismatching patches. When you've established mismatching patches as the cause, you can follow the instructions in this section to troubleshoot the issue.
Before you start, make sure to get familiar with the information in [Version compatibility](version-compatibility.md). This information will help you figure out whether your issue was caused by mismatching patches. When you've established mismatching patches as the cause, you can follow the instructions in this section to troubleshoot the issue.

### Query the version of your container host

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ One of the Kubernetes networking requirements (see [Kubernetes model](https://ku

Local NodePort access from the node itself may fail. This is a known feature gap being addressed with cumulative update KB4571748 (or later). NodePort access will work from other nodes or external clients.

### My Windows node stops routing thourgh NodePorts after I scaled down my pods
### My Windows node stops routing through NodePorts after I scaled down my pods

Due to a design limitation, there needs to be at least one pod running on the Windows node for NodePort forwarding to work.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ C:\> docker swarm init --advertise-addr=<HOSTIPADDRESS> --listen-addr <HOSTIPADD
In order to launch a Docker Service to a mixed-OS swarm cluster, there must be a way to distinguish which swarm nodes are running the OS for which that service is designed, and which are not. [Docker object labels](https://docs.docker.com/engine/userguide/labels-custom-metadata/) provide a useful way to label nodes, so that services can be created and configured to run only on the nodes that match their OS.

>[!NOTE]
>[Docker object labels](https://docs.docker.com/engine/userguide/labels-custom-metadata/) can be used to apply metadata to a variety of Docker objects (including container images, containers, volumes and networks), and for a variety of purposes (e.g. labels could be used to separate 'front-end' and 'back-end' components of an application, by allowing front-end microservices to be secheduled only on 'front-end' labeled nodes and back-end mircoservices to be scheduled only on 'back-end' labeled nodes). In this case, we use labels on nodes, to distinguish Windows OS nodes and Linux OS nodes.
>[Docker object labels](https://docs.docker.com/engine/userguide/labels-custom-metadata/) can be used to apply metadata to a variety of Docker objects (including container images, containers, volumes and networks), and for a variety of purposes (e.g. labels could be used to separate 'front-end' and 'back-end' components of an application, by allowing front-end microservices to be scheduled only on 'front-end' labeled nodes and back-end mircoservices to be scheduled only on 'back-end' labeled nodes). In this case, we use labels on nodes, to distinguish Windows OS nodes and Linux OS nodes.

To label your existing swarm nodes, use the following syntax:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ docker run --rm busybox echo hello_world

The container should run, print "hello_world", then exit.

When you query `docker images`, you should see the Linux container image that you just pulled an ran:
When you query `docker images`, you should see the Linux container image that you just pulled and ran:

```console
docker images
Expand Down
2 changes: 1 addition & 1 deletion windows-container-samples/Django/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ docker run -it -p 80:80 django cmd

**Instructions**

All container sample source code is kept under the Vitualization-Documentation git repository in a folder called windows-container-samples.
All container sample source code is kept under the Virtualization-Documentation git repository in a folder called windows-container-samples.
1. Open a CLI session and change directories to the folder in which you want to store this repository.
2. Clone the repo to your current working directory:
git clone https://github.com/MicrosoftDocs/Virtualization-Documentation.git
Expand Down
2 changes: 1 addition & 1 deletion windows-container-samples/python/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ docker run -it python
```
# Instructions

All container sample source code is kept under the Vitualization-Documentation git repository in a folder called windows-container-samples.
All container sample source code is kept under the Virtualization-Documentation git repository in a folder called windows-container-samples.
1. Open a PowerShell session and change directories to the folder in which you want to store this repository.
2. Clone the repo to your current working directory:
git clone https://github.com/MicrosoftDocs/Virtualization-Documentation.git
Expand Down
2 changes: 1 addition & 1 deletion windows-container-samples/rails/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This dockerfile will install Ruby on Rails, version 2.2.3-x64, in a Windows Server Core based container. It will use the ruby image as a base. In order to run this dockerfile, you must have Ruby installed on your computer. It installs the gems located in the ruby directory.

All container sample source code is kept under the Vitualization-Documentation git repository in a folder called windows-container-samples.
All container sample source code is kept under the Virtualization-Documentation git repository in a folder called windows-container-samples.
1. Open a CLI session and change directories to the folder in which you want to store this repository.
2. Clone the repo to your current working directory:
git clone https://github.com/MicrosoftDocs/Virtualization-Documentation.git
Expand Down
2 changes: 1 addition & 1 deletion windows-container-samples/ruby/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ This will display the Ruby version and exit. Modify the Dockerfile appropriately
docker run -it ruby cmd
```
# Instructions
All container sample source code is kept under the Vitualization-Documentation git repository in a folder called windows-container-samples.
All container sample source code is kept under the Virtualization-Documentation git repository in a folder called windows-container-samples.
1. Open a PowerShell session and change directories to the folder in which you want to store this repository.
2. Clone the repo to your current working directory:
git clone https://github.com/MicrosoftDocs/Virtualization-Documentation.git
Expand Down
4 changes: 2 additions & 2 deletions windows-container-samples/sqlite/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Description:

This sample will create a demo container with the latest SQLite 3.37.0 software on windows server 2022 servercore image. Sqlite is a libray that implements a serverless, self-contained, high-reliability SQL database engine.
This sample will create a demo container with the latest SQLite 3.37.0 software on windows server 2022 servercore image. Sqlite is a library that implements a serverless, self-contained, high-reliability SQL database engine.

This dockerfile is for demonstration purposes and may require modification for production use.

Expand Down Expand Up @@ -35,7 +35,7 @@ All container sample source code is kept under the Vitualization-Documentation g
docker build -t sqlite:latest .
5. To run the newly built container, run the docker run command.
docker run -it sqlite
6. This will enter you into the container and you should see sql lite databse appear.
6. This will enter you into the container and you should see sql lite database appear.

## Dockerfile Details:
```Dockerfile
Expand Down
2 changes: 1 addition & 1 deletion windows-server-container-tools/DockerTLS/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ author: taylorb-microsoft
---

# Protect the Docker daemon socket on Windows
This is an initial set of PowerShell scripts that utalize OpenSSL to automate creating self signed keys and certificates for Docker on Windows. These scripts follow the directions at https://docs.docker.com/engine/security/https/.
This is an initial set of PowerShell scripts that utilize OpenSSL to automate creating self signed keys and certificates for Docker on Windows. These scripts follow the directions at https://docs.docker.com/engine/security/https/.


## Example Workflow:
Expand Down
2 changes: 1 addition & 1 deletion windows-server-container-tools/Wait-Service/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ If AllowServiceRestarts is true if the service is restarted the script automatic
#### ServiceName
The name of the service to wait for.
#### StartupTime
The amount of time in seconds to wait for the service to start after initating the script. Default is 10sec.
The amount of time in seconds to wait for the service to start after initiating the script. Default is 10sec.
#### AllowServiceRestart
Automatically restart the wait process when the service exits looping for the StartupTimeout again.
## Example
Expand Down