本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設置 Amazon 的啟動模式 EC2 AMI
當您AMI使用register-image指令建立時,您可以AMI將的啟動模式設定為uefi
legacy-bios
、或uefi-preferred
。
當AMI啟動模式設定為時uefi-preferred
,執行個體會以下列方式啟動:
-
對於同時支援UEFI和 Legacy BIOS (例如
m5.large
) 的執行個體類型,執行個體會使用UEFI. -
對於僅支援 Legacy BIOS (例如
m4.large
) 的執行個體類型,執行個體會使用 Legacy 啟動BIOS。
注意
如果將AMI開機模式設定為uefi-preferred
,作業系統必須支援啟動UEFI和 Legacy 的功能BIOS。
目前,您無法使用該register-image命令來創建同時支持 Nitro TPM 和UEFI首選的命令。AMI
警告
某些功能 (例如「UEFI安全開機」) 僅適用於開機的執行個體UEFI。當您將uefi-preferred
AMI啟動模式參數與不支援的執行個體類型搭配使用時UEFI,執行個體會以 Legacy 的身分啟動,而BIOS且會停用UEFI相依功能。如果您依賴UEFI相依功能的可用性,請將您的AMI開機模式參數設定為uefi
。
若要將現有 Legacy BIOS 型執行個體轉換為 LegacyUEFI,或將現有的執行個體轉換UEFI為 LegacyBIOS,您需要執行以下幾個步驟:首先,修改執行個體的磁碟區和作業系統,以支援選取的開機模式。然後,建立磁碟區的快照。最後,使register-image用建立AMI使用快照。
您無法AMI使用create-image指令設定的開機模式。使用 create-image,AMI會繼承用於EC2建立. AMI 例如,如果您AMI從在 Legacy 上執行的EC2執行個體建立BIOS,則AMI開機模式會設定為legacy-bios
。如果您AMI從使用啟動模式設為啟動的EC2執行個AMI體建立執行個體uefi-preferred
,則建立的AMI執行個體也會將其開機模式設定為uefi-preferred
。
警告
設定AMI開機模式參數並不會自動為指定的開機模式設定作業系統。在繼續執行這些步驟之前,您必須先對執行個體的磁碟區和作業系統進行適當的修改,以支援使用選取的開機模式進行開機;否則,產生的結果AMI將無法使用。例如,如果您要將舊版 BIOS Windows 執行個體轉換為UEFI,您可以使用 Microsoft 提供的MBR2GPT
若要設定 AMI (AWS CLI) 的開機模式
-
對執行個體的磁碟區和作業系統進行適當的修改,以支援透過選取的開機模式開機。所需的修改視作業系統而異。如需詳細資訊,請參閱作業系統的手冊。
注意
如果您不執行此步驟,AMI將無法使用。
-
若要尋找執行個體的磁碟區 ID,請使用 describe-instances 命令。您將在下一個步驟中建立此磁碟區的快照。
aws ec2 describe-instances --region
us-east-1
--instance-idsi-1234567890abcdef0
預期的輸出結果
... "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "AttachTime": "", "DeleteOnTermination": true, "Status": "attached", "VolumeId": "
vol-1234567890abcdef0
" } } ... -
若要建立磁碟區的快照,請使用 create-snapshot 命令。使用上一個步驟的磁碟區 ID。
aws ec2 create-snapshot --region
us-east-1
--volume-idvol-1234567890abcdef0
--description "add text
"預期的輸出結果
{ "Description": "add text", "Encrypted": false, "OwnerId": "123", "Progress": "", "SnapshotId": "
snap-01234567890abcdef
", "StartTime": "", "State": "pending", "VolumeId": "vol-1234567890abcdef0
", "VolumeSize": 30, "Tags": [] } -
請注意上一個步驟輸出中的快照 ID。
-
等到快照建立
completed
後,再進行下一個步驟。若要查詢快照的狀態,請使用 describe-snapshots 命令。aws ec2 describe-snapshots --region
us-east-1
--snapshot-idssnap-01234567890abcdef
範例輸出
{ "Snapshots": [ { "Description": "This is my snapshot", "Encrypted": false, "VolumeId": "vol-049df61146c4d7901", "State": "completed", "VolumeSize": 8, "StartTime": "2019-02-28T21:28:32.000Z", "Progress": "100%", "OwnerId": "012345678910", "SnapshotId": "snap-01234567890abcdef", ...
-
若要建立新的AMI,請使用register-image指令。使用您在之前步驟中記下的快照 ID。
-
若要將啟動模式設定為UEFI,請將
--boot-mode
參數增加至指令並指定uefi
為值。aws ec2 register-image \ --region
us-east-1
\ --description "add description
" \ --name "add name
" \ --block-device-mappings "DeviceName=/dev/sda1,Ebs={SnapshotId=snap-01234567890abcdef
,DeleteOnTermination=true}" \ --architecture x86_64 \ --root-device-name /dev/sda1 \ --virtualization-type hvm \ --ena-support \ --boot-mode uefi -
若要將開機模式設定為
uefi-preferred
,請將--boot-mode
參數新增至命令並將uefi-preferred
指定為值。aws ec2 register-image \ --region us-east-1 \ --description "add description" \ --name "add name" \ --block-device-mappings "DeviceName=/dev/sda1,Ebs={SnapshotId=snap-01234567890abcdef,DeleteOnTermination=true}" \ --architecture x86_64 \ --root-device-name /dev/sda1 \ --virtualization-type hvm \ --ena-support \ --boot-mode uefi-preferred
預期的輸出結果
{ "ImageId": "ami-new_ami_123" }
-
-
若要確認新建立的啟動模式是否AMI具有您在上一個步驟中指定的開機模式,請使用指describe-images令。
aws ec2 describe-images --region
us-east-1
--image-idami-new_ami_123
預期的輸出結果
{ "Images": [ { "Architecture": "x86_64", "CreationDate": "2021-01-06T14:31:04.000Z", "ImageId": "
ami-new_ami_123
", "ImageLocation": "", ... "BootMode": "uefi" } ] } -
使用新建立的執行個體啟動新AMI執行個體。
如果AMI啟動模式為
uefi
或legacy-bios
,則從此模式建立的執行個體AMI將具有與AMI. 如果AMI啟動模式為uefi-preferred
,則執行個體將使用UEFI執行個體類型支援的情況下啟動UEFI;否則,執行個體將會使用 Legacy 啟動BIOS。 -
若要驗證新執行個體是否具有預期的開機模式,請使用 describe-instances 命令。