Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions,
see Getting Started with Amazon Web Services in China
(PDF).
Determine the supported boot modes of an EC2 instance type
You can use the Amazon CLI or the Tools for PowerShell to determine the supported boot modes of an instance
type.
To determine the supported boot modes of an instance type
You can use the following methods to determine the supported boot modes of an
instance type.
- Amazon CLI
-
Use the describe-instance-types command to determine
the supported boot modes of an instance type. The
--query
parameter filters the output to return only the
supported boot modes.
The following example shows that m5.2xlarge
supports both
UEFI and Legacy BIOS boot modes.
aws ec2 describe-instance-types --region us-east-1
--instance-types m5.2xlarge --query "InstanceTypes[*].SupportedBootModes"
The following is example output.
[
[
"legacy-bios",
"uefi"
]
]
The following example shows that t2.xlarge
supports only
Legacy BIOS.
aws ec2 describe-instance-types --region us-east-1
--instance-types t2.xlarge --query "InstanceTypes[*].SupportedBootModes"
The following is example output.
[
[
"legacy-bios"
]
]
- PowerShell
-
Use the Get-EC2InstanceType (Tools for PowerShell) Cmdlet to determine
the supported boot modes of an instance type.
The following example shows that m5.2xlarge
supports both
UEFI and Legacy BIOS boot modes.
Get-EC2InstanceType -Region us-east-1
-InstanceType m5.2xlarge | Format-List InstanceType, SupportedBootModes
The following is example output.
InstanceType : m5.2xlarge
SupportedBootModes : {legacy-bios, uefi}
The following example shows that t2.xlarge
supports only
Legacy BIOS.
Get-EC2InstanceType -Region us-east-1
-InstanceType t2.xlarge | Format-List InstanceType, SupportedBootModes
The following is example output.
InstanceType : t2.xlarge
SupportedBootModes : {legacy-bios}
To determine the instance types that support UEFI
You can use the following methods to determine the instance types that support UEFI;
- Amazon CLI
-
The available instance types vary by Amazon Web Services Region. To see the available instance types
that support UEFI in a Region, use the describe-instance-types command with the
--region
parameter. If you omit the
--region
parameter, your configured default Region is used in the request. Include the
--filters
parameter to scope the results to the
instance types that support UEFI and the --query
parameter
to scope the output to the value of InstanceType
.
aws ec2 describe-instance-types --filters Name=supported-boot-mode,Values=uefi --query "InstanceTypes[*].[InstanceType]" --output text | sort
The following is example output.
a1.2xlarge
a1.4xlarge
a1.large
a1.medium
a1.metal
a1.xlarge
c5.12xlarge
...
- PowerShell
-
PS C:\>
Get-EC2InstanceType | `
Where-Object {$_.SupportedBootModes -Contains "uefi"} | `
Sort-Object InstanceType | `
Format-Table InstanceType -GroupBy CurrentGeneration
The following is example output.
CurrentGeneration: False
InstanceType
------------
a1.2xlarge
a1.4xlarge
a1.large
a1.medium
a1.metal
a1.xlarge
CurrentGeneration: True
InstanceType
------------
c5.12xlarge
c5.18xlarge
c5.24xlarge
c5.2xlarge
c5.4xlarge
c5.9xlarge
...
To determine the instance types that support UEFI Secure Boot and persist non-volatile variables
Bare metal instances do not support UEFI Secure Boot and non-volatile
variables, so these examples exclude them from the output.
- Amazon CLI
-
Use the describe-instance-types command, and exclude the
bare metal instances from the output by including the
Name=bare-metal,Values=false
filter.
aws ec2 describe-instance-types --filters Name=supported-boot-mode,Values=uefi Name=bare-metal,Values=false --query "InstanceTypes[*].[InstanceType]" --output text | sort
The following is example output.
a1.2xlarge
a1.4xlarge
a1.large
a1.medium
...
- PowerShell
-
PS C:\>
Get-EC2InstanceType | `
Where-Object { `
$_.SupportedBootModes -Contains "uefi" -and `
$_.BareMetal -eq $False
} | `
Sort-Object InstanceType | `
Format-Table InstanceType, SupportedBootModes, BareMetal, @{Name="SupportedArchitectures"; Expression={$_.ProcessorInfo.SupportedArchitectures}}
InstanceType SupportedBootModes BareMetal SupportedArchitectures
------------ ------------------ --------- ----------------------
a1.2xlarge {uefi} False arm64
a1.4xlarge {uefi} False arm64
a1.large {uefi} False arm64
a1.medium {uefi} False arm64
a1.xlarge {uefi} False arm64
c5.12xlarge {legacy-bios, uefi} False x86_64
c5.18xlarge {legacy-bios, uefi} False x86_64