クラウド移行やカスタムイメージのインポートなどのシナリオでは、インスタンスタイプとイメージの非互換性による起動失敗を防ぐために、イメージの起動モードを確認し、設定する必要があります。これにより、ご利用の Elastic Compute Service (ECS) インスタンスが正常に起動し、実行されることが保証されます。
起動モードのタイプ
ECS インスタンスは、BIOS と UEFI の 2 種類の起動モードをサポートしています。
BIOS:ハードウェアの初期化とオペレーティングシステムの読み込みに使用される従来のファームウェアインターフェイスです。主に、CentOS 6、Windows XP 以前のバージョンなど、古いオペレーティングシステムとの互換性のために使用されます。
UEFI:BIOS に代わる最新のインターフェイスで、セキュアブートをサポートしています。
起動モードのルール
ECS インスタンスの起動モードは、インスタンスタイプとイメージの両方でサポートされている起動モードによって決まります。インスタンスタイプは物理的なハードウェアの制約を決定し、イメージはソフトウェアの起動方法を決定します。
インスタンスタイプの起動モード:インスタンスタイプの起動モードは Alibaba Cloud によって定義されており、変更することはできません。モードには
UEFI、BIOS、または両方 (UEFI & BIOS) があります。イメージの起動モード:パブリックイメージの起動モードはシステムによって定義されています。カスタムイメージの起動モードは、イメージの作成後またはインポートプロセス中に変更できます。モードには
UEFI、BIOS、UEFI 優先があります。UEFI 優先は、イメージが両方のモードをサポートしているが、まず UEFI モードでの起動を試みることを示します。
インスタンスタイプとイメージの起動モードには互換性が必要です。インスタンスタイプとイメージの起動モードが一致しない場合 (例えば、UEFI のインスタンスタイプで BIOS のイメージを使用するなど)、インスタンスの起動に失敗することがあります。
インスタンスタイプの起動モード | イメージの起動モード | 最終的なインスタンスの起動モード |
|
|
|
|
|
|
|
| イメージの起動モードに従います。 イメージの起動モードが イメージの起動モードが |
|
|
起動モードの設定
カスタムイメージをインポートする際、Alibaba Cloud はイメージのメタデータのみを識別できます。イメージ内部の起動設定を検査したり変更したりすることはできません。カスタムイメージの起動モードを設定する前に、対応するブートローダーがイメージファイル内で正しく設定されていることを確認してください。例えば、UEFI の場合は EFI システムパーティション、BIOS の場合は MBR です。設定が正しくないと、インスタンスがシステムディスクを認識できず、起動失敗につながります。
カスタムイメージのインポート時の起動モード指定
コンソール
ECS コンソールで、[イメージ] ページに移動します。トップメニューバーで、対象の ECS インスタンスのリージョンを選択します。
[イメージ] ページの右上隅にある [イメージのインポート] をクリックします。

[イメージのインポート] ウィンドウで、必須パラメーターを設定し、[起動モード] を選択します。
イメージのインポート時に起動モードを UEFI 優先に設定することはできません。起動モードを UEFI 優先に設定するには、イメージのインポート後に起動モードを変更する必要があります。

[インポートの確認] をクリックします。
API
ImportImage 操作を呼び出してカスタムイメージをインポートする際に、BootMode パラメーターを設定してカスタムイメージの起動モードを指定します。
既存のカスタムイメージの起動モードの変更
カスタムイメージから作成されたインスタンスの安定性と一貫性を確保するため、そのカスタムイメージの起動モードは変更できません。
コンソール
ECS コンソールで、[イメージ] ページに移動します。トップメニューバーで、対象の ECS インスタンスのリージョンを選択します。
対象イメージの ID をクリックして、イメージの詳細ページに移動します。
[基本情報] セクションで、[起動モード] の横にある
アイコンをクリックします。[起動モードの設定] ウィンドウで、起動モードを選択し、[OK] をクリックします。
API
ModifyImageAttribute 操作を呼び出し、BootMode パラメーターを設定してイメージの起動モードを変更します。
よくある質問
コンソールで ECS インスタンスを作成する際に、特定のイメージバージョンが表示または選択できないのはなぜですか?
コンソールで ECS インスタンスを作成する際、選択したインスタンスタイプの起動モードによって、利用可能なイメージバージョンが制限されます。例えば、UEFI 起動モードのみをサポートするセキュリティ強化型インスタンスタイプを選択した場合、コンソールは BIOS モードのみをサポートするイメージを除外します。
インスタンスタイプがサポートする起動モードの確認方法
コンソール
ECS コンソールの カスタム起動 ページに移動します。
[インスタンス] ページの [すべてのインスタンスタイプ] タブで、[インスタンスタイプのパラメーターをさらに表示] をクリックします。

[サポートされている起動モード] チェックボックスにチェックを入れ、[OK] をクリックします。

対象のインスタンスタイプを入力して、サポートされている起動モードをクエリします。

API
DescribeInstanceTypes 操作を呼び出します。応答の SupportedBootModes フィールドで、インスタンスタイプの起動モードが指定されます。
イメージの起動モードの確認方法
コンソール
ECS コンソールの イメージ ページに移動します。上部のメニューバーで、対象の ECS インスタンスが含まれるリージョンを選択します。
対象イメージの ID をクリックして、イメージ詳細ページを開きます。
[基本情報] セクションで、[Boot Mode] を表示します。

API
DescribeImages 操作を呼び出します。イメージの起動モードは、戻り値の BootMode パラメーターで指定されます。
カスタムイメージが BIOS 起動か UEFI 起動かを確認する方法
この確認は、イメージの作成元となったソースサーバー、またはイメージから作成した一時インスタンス上で実行できます。
Linux:
/sys/firmware/efiディレクトリが存在するかどうかを確認します。ディレクトリが存在する場合、システムは UEFI 起動モードを使用しています。Windows: システムディスクのパーティションテーブルのタイプを確認します。PowerShell を管理者として開き、
Get-Diskコマンドを実行します。応答のPartitionStyle列に表示されるディスクパーティションテーブルのタイプを確認します。GPT パーティションテーブルは UEFI 起動モードに対応し、MBR パーティションテーブルは BIOS 起動モードに対応します。