Stay organized with collections Save and categorize content based on your preferences.
Linux Windows
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 environmentVM 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 migrating VMs to Compute Engine using Migrate to Virtual Machines.
You are using an image that doesn't have the guest environment optimizations for Local SSD disks.
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 systemsEach 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 environmentWhether 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 distributions.
The following list summarizes the main scripts, daemons, and packages that are packaged in the Linux guest environment:
The google-compute-engine
package contains the following components:
systemd
.udev
rules, sysctl
rules, rsyslog
configs, and dhcp
configs, that are used for hostname setting.This package depends on the google-guest-agent
and google-compute-engine-oslogin
packages.
As of October 2024, the google-compute-engine
package contains a gce-resolved.conf file. This configuration file ensures that domain lookups for .local
Cloud DNS domains are routed to the metadata server. Without this file, domain lookups are routed through systemd-resolved, which frequently fails.
To review the source code for this package, see guest-configs on GitHub.
The google-guest-agent
package contains the guest agent and metadata script executables which runs on the guest OS to support the Compute Engine features. The following features are supported by the Linux guest agent:
The Linux guest agent communicates with Compute Engine services as follows:
The Linux guest agent also collects telemetry data from the guest OS to use for analysis and debugging. The telemetry data includes: OS name, OS version, OS kernel release, OS kernel version, and OS agent version. To disable the collection of the telemetry data, set the following metadata at either the VM or project level: disable-guest-telemetry=TRUE
.
As of December 2024, the guest agent installs a secondary systemd
unit named google-guest-agent-manager
. This unit manages on demand plugins lifecycle.
To review the source code for this package, see guest-agent on GitHub.
The google-compute-engine-oslogin
package contains the binaries, modules, and scripts for OS Login. You can use OS Login to manage access to VM instances using Identity and Access Management (IAM) roles.
The package includes the following:
sudo
).google_oslogin_nss_cache
, which is a utility for updating the local user and group cache.selinux
, which contains SELinux policy definition files and a compiled policy package for configuring SELinux to support OS Login.The OS Login components communicate with Compute Engine services as follows:
To review the source code for this package, see guest-oslogin on GitHub.
The gce-disk-expand
components communicate with Compute Engine services as follows:
To review the source code for this package, see guest-diskexpand on GitHub.
The google-osconfig-agent
package contains OS Config agent that VM Manager uses to manage OS inventory, patches, and OS policies.
The scripts communicate with Compute Engine services as follows:
To review the source code for this agent, see osconfig on GitHub.
The following list summarizes the packages that are a part of the Windows guest environment:
The google-compute-engine-windows
package contains the Windows guest agent. The Windows guest agent is used to support the following processes:
The Windows guest agent communicates with Compute Engine services as follows: + Reads data from and writes data to the VM metadata + Sends logs to the Windows Application Event Log, serial port, and Cloud Logging
The Windows guest agent also collects telemetry data from the guest OS to use for analysis and debugging. The telemetry data includes: OS name, OS version, OS kernel release, OS kernel version, and OS agent version. To disable the collection of the telemetry data, set the following metadata at either the VM or project level: disable-guest-telemetry=TRUE
.
As of December 2024, the guest agent installs a secondary system service named GCEAgentManager
. This service manages on demand plugins lifecycle.
To review the source code for this agent, see guest-agent on GitHub.
The google-compute-engine-sysprep
package contains scripts that are for generalizing a Windows instance in preparation for creating an image. The package also includes the instance_setup.ps1
script which is used on first boot to configure the new instance.
The scripts communicate with Compute Engine services as follows:
To review the source code for this agent, see compute-image-windows on GitHub
The google-compute-engine-metadata-scripts
package contains scripts and binaries that are used for running the Compute Engine, sysprep-specialize, startup and shutdown scripts.
The scripts communicate with Compute Engine services as follows:
sysprep-specialize-script-url
and windows-startup-script-url
are usedTo review the source code for this agent, see compute-image-windows on GitHub
The google-compute-engine-powershell
package contains a PowerShell module. This module contains common functions that are used by PowerShell scripts in the other Windows Guest Environment scripts.
The scripts communicates with the following Compute Engine services:
To review the source code for this agent, see compute-image-windows on GitHub.
The google-compute-engine-auto-updater
package contains scripts that are used for updating the Compute Engine packages daily. This package is no longer installed by default.
The scripts communicate with Compute Engine services as follows:
To review the source code for this agent, see compute-image-windows on GitHub.
The google-compute-engine-diagnostics
package contains a binary that is used to collect diagnostic information from the instance and saves the information to a Cloud Storage bucket. The binary is executed by the Windows guest agent.
The scripts communicate with Compute Engine services as follows:
To review the source code for this agent, see compute-image-tools on GitHub
The certgen
package contains a binary that creates a certificate on the instance.
To review the source code for this agent, see compute-image-windows on GitHub.
The googet
package contains a binary that is a package manager used to install and maintain the guest environment.
The scripts communicate with Compute Engine services by reading data from the Google Cloud repositories at packages.cloud.google.com
.
To review the source code for this agent, see googet on GitHub.
The google-compute-engine-vss
package installs the Compute Engine VSS agent and provider that are used for taking a persistent disk snapshot using the Microsoft's Volume Shadow Copy Service (VSS).
The scripts communicate with Compute Engine services as follows:
To review the source code for this agent, see compute-image-windows on GitHub
The google-osconfig-agent
package contains OS Config agent which is used by VM Manager for managing OS inventory, patches, and OS policies.
The scripts communicate with Compute Engine services as follows:
To review the source code for this agent, see osconfig on GitHub.
The following Compute Engine drivers are maintained for Windows images:
Each driver is packaged using GooGet and published to Google Cloud repositories. Source code for the drivers is at compute-windows-drivers on GitHub. All Google Cloud Windows images are preconfigured with the GooGet tool and Google Cloud repositories. If you need to install GooGet and set up repositories yourself, see Packaging and package distribution.
To install or upgrade a specific driver, run following command:
googet install DRIVER_PACKAGE_NAMEWhat's next
For step-by-step instructions about installing the guest environment, see Installing the guest environment.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-07 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["Guest environments, which are sets of scripts, daemons, and binaries, are automatically installed on VM instances started with Google-provided public images to ensure proper functionality on Compute Engine."],["Manual installation of the guest environment is necessary when importing custom images or virtual disks without opting for automatic installation, migrating VMs using Migrate to Virtual Machines, or using images that lack guest environment optimizations or are older than version `v20141218`."],["The Linux guest environment includes components like `google-compute-engine`, `google-guest-agent`, `google-compute-engine-oslogin`, `gce-disk-expand`, and `google-osconfig-agent` packages, each handling specific tasks such as system configurations, account management, OS Login, disk expansion, and OS management, respectively."],["The Windows guest environment consists of packages such as `google-compute-engine-windows`, `google-compute-engine-sysprep`, and others, responsible for managing accounts, network configurations, preparing images, running scripts, and performing diagnostics, among other functions."],["Compute Engine offers a suite of Windows drivers for various hardware components, including Ethernet, SCSI disks, display adapters, crash handling, memory ballooning, and virtual NICs, which can be installed or upgraded using the `googet` package manager."]]],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4