All Products
Search
Document Center

Elastic Compute Service:Check and repair custom images

Last Updated:Aug 05, 2025

The image check feature checks whether a custom image is valid and can be used to create fully functional ECS instances. You can use this feature when you create or import an image. After the check is complete, you can view the results in the ECS console and improve the image quality based on the repair suggestions. This helps ensure that your ECS instances run in a stable and efficient manner.

Note
  • An image check is triggered after you create or import an image. The process is not affected if the check fails.

  • The image check feature is free of charge.

  • Images that pass the check are tagged with the operating system version (acs:ecs:image:osVersion) and kernel version (acs:ecs:image:kernelVersion) tags.

Limits

The image check feature is available only if the snapshots used to create the custom image do not include encrypted snapshots, or if the source instance does not use encrypted disks.

The image check feature does not support certain Linux and Windows operating systems. For more information, see the following tables.

Unsupported Linux operating systems

Operating system

Version

Gentoo

Gentoo 13 64-bit

Gentoo_32

Gentoo_64

Gentoo_arm64

Aliyun

LifseaOS 10 64-bit

LifseaOS 3 64-bit

LifseaOS 3 64-bit for GPUs

FreeBSD

FreeBSD 10.1 64-bit

FreeBSD 8.2 64-bit

FreeBSD_32

FreeBSD_64

FreeBSD 11.1 64-bit

FreeBSD 11.2 64-bit

FreeBSD 11.3 64-bit

FreeBSD 12.1 64-bit

FreeBSD 11.4 64-bit

FreeBSD_arm64

FreeBSD 13.0 64-bit

FreeBSD 12.3 64-bit

CoreOS

CoreOS 681.2.0 64-bit

CoreOS_32

CoreOS_64

CoreOS 1353.8.0 64-bit

CoreOS 1465.8.0 64-bit

CoreOS 1576.5.0 64-bit

CoreOS 1688.5.3 64-bit

CoreOS 1745.7.0 64-bit

CoreOS 2023.4.0 64-bit

CoreOS 2247.6.0 64-bit

CoreOS 2303.3.0 64-bit

CoreOS 2303.4.0 64-bit

CoreOS 2345.3.0 64-bit

CoreOS_arm64

Fedora CoreOS

FedoraCoreOS_64

Fedora CoreOS 33.20210217.3.0_3

FedoraCoreOS_arm64

Fedora CoreOS 34.20210529.3.0_3

Solaris

Solaris 10u8 64-bit

mars

Aliyun Customized Linux

Customized Linux

CustomizedLinux_64

CustomizedLinux_32

CustomizedLinux_arm64

Unsupported Windows operating systems

Operating system

Version

Windows Server 2008

Windows Server 2008 Standard Edition 64-bit (Simplified Chinese)

Windows Server 2008 Standard Edition 64-bit (English)

Windows Server 2008 Standard Edition SP2 32-bit (Simplified Chinese)

Windows Server 2008 Enterprise Edition 32-bit (Simplified Chinese)

Windows Server 2008 Standard Edition SP2 32-bit (English)

WindowsServer2008_64

WindowsServer2008_32

Windows Server 2008 Standard Edition SP2 32-bit (Japanese)

Windows Server 2003

Windows Server 2003 R2 Standard Edition SP2 64-bit (Simplified Chinese)

Windows Server 2003 R2 Standard Edition SP2 32-bit (Simplified Chinese)

Windows Server 2003 R2 Standard Edition SP2 64-bit (English)

Windows Server 2003 R2 Enterprise Edition 64-bit (English)

Windows Server 2003 R2 Enterprise Edition 64-bit (Simplified Chinese)

Windows Server 2003 R2 Enterprise Edition 32-bit (Simplified Chinese)

WindowsServer2003_64

WindowsServer2003_32

Windows 7

Windows7_32

Windows 8

Windows8_32

Windows 10

Windows10_32

Configure the image check feature

Configure the image check feature during image creation

Use the console

When you create a custom image in the ECS console, the image check feature is enabled by default. You can keep the default setting. For more information, see Create a custom image from an instance and Create a custom image from a snapshot.

Use an API

You can call the CreateImage operation and set the DetectionStrategy=Standard parameter. You can also call this operation in OpenAPI Explorer, which eliminates the need to calculate signatures and automatically generates SDK example code.

Configure the image check feature during image import

Use the console

When you import a custom image in the console, the image check feature is enabled by default. You can keep the default setting. For more information, see Import a custom image.

Use an API

You can call the ImportImage operation and set the DetectionStrategy=Standard parameter. In OpenAPI Explorer, you can call this operation to avoid calculating signatures and automatically generate SDK code samples.

View image check results

Use the console

  1. On the Custom Images page, find the image. When its status changes to Available, an image check task automatically runs.

    image.png

  2. Hover over Checked and click View Details to view the detailed results of the image check.

  3. (Conditionally required) If any items require repair, repair them as prompted.

    • (For Linux only) You can click One-click Repair to repair the items using the ACS-ECS-RepairImage public template from CloudOps Orchestration Service (OOS).

    • You can also manually repair the image based on the suggestions provided in the image details. For more information about the image check items and repair suggestions, see Image check items and repair suggestions.

    image.png

Use an API

You can call the DescribeImages operation to query the checked image by its image ID. You can call this operation in OpenAPI Explorer to avoid calculating signatures and to automatically generate SDK code samples.

Note

In the return value, DetectionOptions indicates the check results, Status indicates the status of the check task, and Item indicates the result for each check item.

Image check items and repair suggestions

Linux operating systems

Check item

Description

Repair suggestion

GUESTOS.Platform

The system platform. This must be a Linux operating system.

None.

GUESTOS.OSVersion

The system version.

None.

GUESTOS.Architecture

The system architecture.

None.

GUESTOS.RtcTimeMode

The time zone of the hardware clock (Real-Time Clock (RTC)) for the image. The value can be UTC or local. We recommend that you set the time zone to UTC.

For information about how to set the time standard of the hardware clock to UTC, see Linux time and time zones.

GUESTOS.BootMode

The boot mode of the image. The value can be LEGACY or UEFI.

None.

GUESTOS.KernelVersion

The kernel version.

None.

GUESTOS.Virtio

Checks whether the virtio driver is installed in the image. ECS instances require virtualization device drivers to run. If this driver is not installed, instance startup may fail.

For information about how to install the virtio driver for an image, see Install the virtio driver.

GUESTOS.Nvme

Checks whether the NVMe driver is installed in the image. Some ECS instance families, such as ecs.g7se, use disks that are attached based on the NVMe protocol. The NVMe driver must be installed in the image.

For information about how to install the NVMe driver for an image, see How do I install an NVMe drive for an existing custom image?.

GUESTOS.Fstab

Checks the `/etc/fstab` file in the image, which contains mount information for system disk devices. Incorrect configurations, such as non-existent mount devices or incorrect device UUIDs, can cause system startup to fail.

For information about how to correctly configure /etc/fstab, see Configure UUIDs in the fstab file to automatically mount a data disk.

GUESTOS.Grub

Checks whether the GRUB boot file in the image is valid. Issues such as incorrect device configurations, non-existent devices, or incorrect UUIDs can cause system startup to fail.

None

GUESTOS.Dhcp

Checks whether the network configuration file in the image is set to use DHCP. If the image is configured with a static IP address, network configuration issues will occur after the instance starts.

For information about how to set the network configuration mode of an image to DHCP, see How to configure the network as DHCP in a Linux image.

GUESTOS.Selinux

Checks whether SELinux is disabled for the image. We recommend that you disable SELinux for cloud images. Otherwise, system startup may fail.

For information about how to disable SELinux, see Enable or disable SELinux.

GUESTOS.OnlineResizeFS

Checks whether the image supports automatic resizing of the root partition. If commands such as `cloud-init` and `growpart` are installed in the image, the root partition is automatically resized after an instance is created from the image. For example, if your image size is 20 GB and you create an instance with a 100 GB system disk, the root partition is automatically resized to 100 GB after the instance is created.

For information about how to configure an image to support automatic resizing, see Install cloud-init.

GUESTOS.SystemImage

Checks whether the image is a valid system disk image. Do not import invalid images, such as ISO images or empty images.

None.

GUESTOS.CloudAssistant

Checks whether Cloud Assistant is installed in the image. Cloud Assistant is a native automated O&M tool for ECS. You can use Cloud Assistant to perform batch operations, run commands (such as Shell, PowerShell, and Bat commands), and send files to ECS instances without requiring passwords, logons, or jump servers. We recommend that you install Cloud Assistant in your image to efficiently perform O&M on your ECS instances.

For information about how to install Cloud Assistant, see Install Cloud Assistant Agent.

GUESTOS.CloudInit

Checks whether cloud-init is installed in the image. cloud-init is a standard initialization service for cloud servers. It configures instance hostnames, keys, and root partition resizing.

For information about how to install cloud-init for an image, see Install cloud-init.

GUESTOS.SecurityCenterAgent

Checks whether the Security Center Agent is installed in the image. Security Center is a unified security management system that detects, analyzes, and provides early warnings for security threats in real time. It provides security capabilities such as security overview, anti-ransomware, anti-virus, tamper-proofing, and compliance checks to comprehensively detect and protect your servers and web applications.

For information about how to install the Security Center Agent for an image, see Install the client.

GUESTOS.SupportMocInstanceTypes

Checks whether the image supports Alibaba Cloud ECS Bare Metal Instance types.

The latest ECS instances from Alibaba Cloud are often Bare Metal Instances, such as ecs.g6 and ecs.g7. If the system and kernel versions of the image are too old, errors may occur when you start instances of these types. For more information about instance families, see Instance families.

  • If you are using a CentOS 5 system, we recommend that you upgrade it to the latest CentOS 5.11. For more information, see How do I resolve the downtime issue after instance migration?.

  • Operating systems that do not support Bare Metal Instance types are typically older versions that have reached their end of life (EOL) and are no longer maintained. We recommend that you upgrade to an operating system version that is actively maintained by its vendor.

Windows operating systems

Check item

Description

Repair suggestion

GUESTOS.Platform

The system platform. This must be a Windows operating system.

None.

GUESTOS.OSVersion

The system version.

None.

GUESTOS.Architecture

The system architecture.

None.

GUESTOS.KernelVersion

The kernel version.

None.

GUESTOS.Virtio

Checks whether the virtio driver is installed in the image. ECS instances require virtualization device drivers to run. If this driver is not installed, instance startup may fail.

For information about how to install the virtio driver for an image, see Install the virtio driver.

GUESTOS.BCD

Checks whether the Boot Configuration Data (BCD) file in the image is correct. A missing or corrupted BCD file can prevent an instance from starting.

Use a correct BCD file.

GUESTOS.Registry

Checks whether the registry file in the image is correct. A missing or corrupted registry file can prevent an instance from starting.

Use a correct registry file.

GUESTOS.Hotfix

Checks whether the patches in the image are correct. Missing required patches or installing problematic patches can prevent an instance from starting.

  • Uninstall incorrect patches. The following patches are known to cause issues: KB5009624, KB5009595, KB5009546, KB5009557, KB5009555, KB5014738, KB5014702, KB5014692, and KB5014678.

  • For a Microsoft Windows Server 2008 R2 64-bit operating system, you must also install the KB3033929 patch.

GUESTOS.Disk

Checks whether the disk settings in the image are correct. If residual driver entries exist on the disk, the instance may fail to start.

Clear residual drivers from the registry

GUESTOS.Sysprep

Checks whether the Sysprep process was completed when the image was created. If the Sysprep process was aborted, for example by a forced system shutdown, the instance may fail to start.

Create the image again. Make sure that you do not interrupt the Sysprep process of the system. For more information, see Create a virtual machine and install an operating system.

GUESTOS.Update

Checks whether the Windows Update process was completed when the image was created. If the update process was aborted, for example by a forced system shutdown, the instance may fail to start.

Create the image again. Make sure that you do not interrupt the update process of the system. For more information, see Create a virtual machine and install an operating system.

GUESTOS.Xen

Checks for residual Xen drivers, which can prevent the system from starting.

Configure the Xen driver to not take effect

GUESTOS.CloudAssistant

Checks whether Cloud Assistant is installed in the image. Cloud Assistant is a native automated O&M tool for ECS. You can use Cloud Assistant to perform batch operations, run commands (such as Shell, PowerShell, and Bat commands), and send files to ECS instances without requiring passwords, logons, or jump servers. We recommend that you install Cloud Assistant in your image to efficiently perform O&M on your ECS instances.

For information about how to install Cloud Assistant, see Install Cloud Assistant Agent.

GUESTOS.Server

Checks whether the service configurations in the image are correct. If driver installation is disabled, the instance cannot update its drivers.

Configure drivers to be installable

GUESTOS.DesktopConfig

Checks whether the desktop configuration file (desktop.ini) is missing. If this file is missing, the desktop configuration is invalid.

Configure a correct desktop.ini file.

GUESTOS.BootMgr

Checks whether the system boot manager (BootMgr) file is missing. If this file is missing, the system cannot start.

Configure a correct BootMgr.

Clear residual drivers from the registry

The HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control registry tree contains configuration information that controls system startup and some device settings. The Class subkey contains filter drivers that are registered on the device. If these filter drivers have been deleted but their entries remain in the registry, the instance may fail to start. You must clear the residual entries of these filter drivers from the registry. The following section describes how to manually clear residual entries from the disk class registry.

  1. Log on to the source server of the image file.

  2. Open the registry.

    For example, in Windows 10, enter regedit in the search box on the taskbar and press Enter to open the registry.

  3. Navigate to the disk registry key.

    The path of the disk registry is HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e967-e325-11ce-bfc1-08002be10318}.

  4. Confirm and delete residual driver entries.

    1. Check the value of the UpperFilter property to determine if the system has residual drivers.

      If a driver's entry exists in `UpperFilters` but the corresponding driver file is missing from C:\Windows\System32\drivers, it is a residual driver.

      Warning

      Be cautious when you delete driver entries. To avoid system errors, make sure that the driver is not a built-in system driver.

      For example, `partmgr` shown in the following figure is a system-built-in driver. Do not delete it from `UpperFilters`.系统自带驱动

    2. Delete the names of residual drivers from the `UpperFilters` value.

Configure the Xen driver to not take effect

VPCs do not use the Xen driver. However, some older images may have residual Xen drivers, which can cause instance startup to fail. You can configure the Xen driver in the registry to disable it.

  1. Log on to the source server of the image file.

  2. Open the registry.

    For example, in Windows 10, enter regedit in the search box on the taskbar and press Enter to open the registry.

  3. Navigate to the corresponding registry key.

    The path of the registry is HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\XenPCI\Parameters.

  4. Clear the value of the hide_devices property in the registry.

    修改注册表

Configure drivers to be installable

The HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services registry tree records all services in the system. Some of these services control whether drivers can be installed. If installation is disabled, instances created from the image cannot update their drivers. You must modify the registry property that prohibits driver installation.

  1. Log on to the source server of the image file.

  2. Open the registry.

    For example, in Windows 10, enter regedit in the search box on the taskbar and press Enter to open the registry.

  3. Navigate to the corresponding registry key.

    • For systems later than Windows Server 2008 R2: The path of the registry is HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\DeviceInstall\Parameters.

    • For Windows Server 2008 R2 and earlier systems: The path of the registry is HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\PlugPlay\Parameters.

  4. Modify the registry property that prohibits driver installation. If the DeviceInstallDisabled property exists and its value is not 0, you must change its value to 0 or delete the property.

    • For example, for a Windows Server 2008 R2 system:2008R2系统注册表

    • For example, for a Windows Server 2016 system:windows server 2016注册表

What to do next

You can use the custom image that has passed the image check and been repaired to create fully functional ECS instances. For more information, see Create an instance from a custom image.