Guest environment

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 migrating VMs to Compute Engine using Migrate for Compute Engine.

  • 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 v20141218.

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 builds. The base components of a Linux guest environment are provided as deb or rpm packages that are created with the appropriate 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 (systemd, upstart, or sysvinit).
    • System configurations such as udev rules, sysctl rules, rsyslog configs, and dhcp configs that are used for hostname setting.
    • The metadata script runner and guest agent binaries. These are located in the /usr/bin directory.
    • Bash scripts that are run during instance boot.
  • 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.
    • Helper binaries.
  • Disk partitioning scripts

    • gce-disk-expand. The on-boot resize scripts for root partition.

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. google-compute-engine-windows .
  • A utilities script for running sysprep on new Windows virtual machines. google-compute-engine-sysprep.
  • Windows exe and cmd files to run startup and shutdown scripts. google-compute-engine-metadata-scripts.
  • A PowerShell module for common functions that is used by other packages. google-compute-engine-powershell.
  • An automatic updater for core Google packages. google-compute-engine-auto-updater.
  • A Compute Engine VSS agent and provider. google-compute-engine-vss.

For more information about the Windows guest environment, you can review the Windows guest environment GitHub page.

What's next

For step-by-step instructions about installing the guest environment, see Installing the guest environment.