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 the guest environment
VM instances created using Google-provided public images include a guest environment that is installed by default.
You might need to manually install the guest environment if you meet any of the following requirements:
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 build these packages.
The following outlines the creators and maintainers of the available guest environment packages:
- Ubuntu 14.04 or later published to its Universe repository
- CentOS/Red Hat Enterprise Linux (RHEL) 6 and 7
- Container Optimized OS
- Debian 9
- Windows Server 2019
- Windows Server 1809 and 1803
- Windows Server 1709
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2008 R2
- SQL Server on Windows Server
- Windows bring your own license(Beta):
- Windows 7
- Windows 10
- SLES 12, SLES 15, SLES for SAP
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.
- Entry point scripts created by the Python package. These are located in
- Bash scripts that are used by
- System init scripts (
- The Python 2 package for Linux daemons and libraries.
- The Python 3 package for Linux daemons and libraries.
Compute engine 0S Login packages. OS Login allows you to use IAM roles to manage access to VM instances.
- Bash scripts to enable and disable OS Login.
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.