When you start a VM instance using Google-provided public images, a guest environment is automatically installed on the VM instance. The guest environment is a set of scripts, daemons, and binaries that read the content of the metadata server to make a virtual machine (VM) run properly on Compute Engine. A metadata server is a communication channel for transferring information from a client to the guest operating system.
Use this page to get an overview of the components of the guest environment, supported operating systems, and to learn when you need to manually install the guest environment.
When to manually install or update the guest environment
VM instances created using Google-provided public images include a guest environment that is installed by default.
To check if the guest environment is running on your instance, see validate the guest environment.
In some cases the installed guest environment might become outdated. If the guest environment is available on your instance but is outdated, update the guest environment.
Otherwise, you might need to manually install the guest environment under the following conditions:
You import a custom image or a virtual disk to the Compute Engine platform, and chose not to allow an automatic installation of the guest environment.
When you import virtual disks or custom images, you have the option of allowing Compute Engine to install the guest environment for you. However, if you chose not to install the guest environment during the import process, then you would need to follow the manual steps to install the guest environment.
You are using an image that does not have the guest environment optimizations for local SSD.
You have instances that are using an image that is earlier than
If you need to manually install the guest environment, see Installing the guest environment.
Supported operating systems
Each supported operating system that is available on Compute Engine requires specific guest environment packages. Either Google or the owner of the operating system builds these packages. For more information about who builds the guest environment packages, see the Notable differences from standard images sections on the Operating system details page.
The Linux guest environment
Whether the Linux guest environment is built by Google or the owner of the
operating system, there are some key components that are applicable to all
The base components of a Linux guest environment is a python package
that is PyPI compliant, along with
rpm packages that are created with the appropriate
init configurations for
the supported distros.
The following summarizes the main scripts, daemons, and packages that are packaged in the Linux guest environment:
Core Compute Engine components
- System init scripts (
- System configurations such as
dhcpconfigs that are used for hostname setting.
- The metadata script runner and guest agent binaries. These are located in
- Bash scripts that are used during instance setup.
- System init scripts (
Compute engine OS Login packages. OS Login allows you to use IAM roles to manage access to VM instances.
- NSS and PAM modules to enable OS Login functionality.
Disk partitioning scripts
gce-disk-expand. The on-boot resize scripts for root partition.
For more information about the Linux guest environment, you can review the Linux guest environment GitHub page.
The Windows guest environment
The following summarizes the main scripts and binaries that are a part of the Windows guest environment package:
- A Windows agent executable.
- A utilities script for running sysprep on new Windows virtual machines.
- Windows exe and cmd files to run startup and shutdown scripts.
- A PowerShell module for common functions that is used by other packages.
- An automatic updater for core Google packages.
- A Compute Engine VSS agent and provider.
For more information about the Windows guest environment, you can review the Windows guest environment GitHub page.
For step-by-step instructions about installing the guest environment, see Installing the guest environment.