When you start a virtual machine (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 VM run properly on Compute Engine. A metadata server is a communication channel for transferring information from a client to the guest operating system.
This document provides an overview of the components of the guest environment, supported operating systems, and explains how to learn when you need to manually install or update 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 can 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 are importing a custom image or a virtual disk to the Compute Engine platform and choosing not to allow an automatic installation of the guest environment.
When you import virtual disks or custom images, you have the option of letting Compute Engine install the guest environment for you. However, if you choose not to install the guest environment during the import process, then, to install the guest environment, you must follow the manual steps.
You are using an image that doesn't 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 information about who builds the guest environment packages, see the Notable differences from standard images sections in the Operating system details document.
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
rpm packages that are created with the appropriate configurations for
the supported distributions.
The following list 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 the
- Bash scripts that run during instance boot.
- System init scripts:
Compute Engine OS Login packages. OS Login lets you use Identity and Access Management (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 list summarizes the main scripts and binaries that are a part of the Windows guest environment packages:
- A Windows agent executable:
- A utilities script for running
sysprepon new Windows virtual machines:
- Windows .exe and .cmd files to run startup and shutdown scripts:
- A PowerShell module containing common functions that are used by other
- An automatic updater for core Google packages:
- A Compute Engine VSS agent and provider:
For more information about the Windows guest environment, see compute-image-windows on GitHub.
For step-by-step instructions about installing the guest environment, see Installing the guest environment.