カスタムイメージをインポートする際は、起動の失敗を防ぐために、正しいブートモードを設定してください。
ブートモードのタイプ
Elastic Compute Service (ECS) は、次の 2 つのブートモードをサポートしています。
モード | 説明 | 一般的なユースケース |
BIOS | ハードウェアを初期化し、OS を読み込む従来のファームウェアインターフェイス | CentOS 6 や Windows XP などのレガシーOS |
UEFI | セキュアブートをサポートする最新のファームウェア標準 | 最新のOSおよびセキュリティ強化インスタンスタイプ |
ブートモードの決定方法
最終的なブートモードは、インスタンスタイプがサポートするブートモードと、イメージに設定されたブートモードによって決まります。
インスタンスタイプのブートモード:Alibaba Cloud によって設定されており、変更はできません。オプションは、UEFI、BIOS、または UEFI & BIOS です。
イメージのブートモード:パブリックイメージはデフォルトのモードを使用します。カスタムイメージの場合は、インポート時にモードを設定するか、後で変更します。オプションは、UEFI、BIOS、または UEFI-Preferred です。
UEFI-Preferred は、イメージが両方のモードをサポートしているものの、インスタンスタイプでサポートされている場合は UEFI で起動することを意味します。
次の表は、最終的なブートモードがどのように決まるかを示しています。
インスタンスタイプのブートモード | イメージのブートモード | 最終的なブートモード |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
インスタンスタイプとイメージのブートモードに互換性がない場合 (たとえば、UEFI のみをサポートするインスタンスタイプで BIOS イメージを使用する場合など)、ECS インスタンスは起動に失敗します。
ブートモードの設定
前提条件
カスタムイメージのブートモードを設定する前に、以下を確認してください。
イメージに正しいブートローダーが設定されていること:
UEFI:イメージに EFI システムパーティション (ESP) があること
BIOS:イメージにマスターブートレコード (MBR) があること
目的のブートモードが対象のインスタンスタイプと互換性があること (上記の表をご参照ください)
Alibaba Cloud はインポート時にイメージのメタデータのみを読み取ることができ、内部のブートローダー設定を検査または変更することはできません。ブートローダーが正しくないと、インスタンスはシステムディスクを認識できなくなります。
カスタムイメージのインポート時にブートモードを指定
コンソール
ECSコンソールで、[イメージ]ページに移動し、対象のリージョンを選択します。
[イメージ] ページの右上隅にある [イメージのインポート] をクリックします。

[イメージのインポート] ダイアログボックスで、パラメーターを設定し、[ブートモード] を選択します。
UEFI-Preferredはインポート時に設定できません。UEFI-Preferredを使用するには、まずイメージをインポートしてから起動モードを変更してください。
[OK] をクリックします。
API
ImportImage API を呼び出し、BootMode を目的のブートモードに設定します。
既存のカスタムイメージのブートモードの変更
カスタムイメージを使用してインスタンスを作成した後は、そのブートモードを変更することはできません。
コンソール
ECSコンソールで、[イメージ]ページに移動し、対象カスタムイメージのリージョンを選択します。
イメージIDをクリックして、その詳細ページを開きます。
[基本情報] セクションで、[ブートモード] の横にある
アイコンをクリックします。ブートモードを選択し、[確認] をクリックします。
API
ModifyImageAttribute API を呼び出し、BootMode を目的のモードに設定します。
FAQ
Why can't I see certain image versions when creating an ECS instance?
The instance type's boot mode filters available images. If you select a security-enhanced instance type that only supports UEFI, BIOS-only images are hidden. Select a different instance type or use a UEFI-compatible image.
How can I view the boot modes supported by an instance type?
Console
Go to the Custom Launch page.
On the [Instance] page, click the [All Instance Types] tab and click [View more specification parameters].

Select the [Supported Boot Mode] checkbox and click [OK].

Search for the target instance type to view its supported boot modes.

API
Call DescribeInstanceTypes. The SupportedBootModes field in the response lists the supported boot modes.
How can I view the boot mode of an image?
Console
Go to the Images page and select the target region.
Click the image ID to open its details page.
The [Boot Mode] is shown in the [Basic Information] section.

API
Call DescribeImages. The boot mode is returned in BootMode.
How do I check whether a custom image uses a BIOS or UEFI bootloader?
Run this check on the source server or on a temporary instance created from the image.
Linux: Check if
/sys/firmware/efiexists. If yes, the system booted in UEFI mode.Windows: Open PowerShell as administrator and run
Get-Disk. CheckPartitionStyle: GPT indicates UEFI, MBR indicates BIOS.