Définir le mode de démarrage d’une AMI Amazon EC2
Lorsque vous créez une AMI à l’aide de la commande register-image, vous pouvez définir le mode de démarrage de l’AMI sur uefi
, legacy-bios
ou uefi-preferred
.
Lorsque le mode de démarrage de l’AMI est défini sur uefi-preferred
, l’instance démarre comme suit :
-
Pour les types d’instance qui prennent en charge à la fois l’UEFI et le BIOS hérité (par exemple,
m5.large
), l’instance démarre à l’aide de l’UEFI. -
Pour les types d’instance qui prennent en charge uniquement le BIOS hérité (par exemple,
m4.large
), l’instance démarre à l’aide du BIOS hérité.
Note
Si vous définissez le mode de démarrage de l’AMI sur uefi-preferred
, le système d’exploitation doit prendre en charge le démarrage de l’UEFI et du BIOS hérité.
Actuellement, vous ne pouvez pas utiliser la commande register-image pour créer une AMI prenant en charge à la fois NitroTPM et l’UEFI préférée.
Avertissement
Certaines fonctionnalités, comme UEFI Secure Boot, ne sont disponibles que sur les instances qui démarrent sur l’UEFI. Lorsque vous utilisez le paramètre de mode de démarrage d’AMI uefi-preferred
avec un type d’instance qui ne prend pas en charge l’UEFI, l’instance est lancée en tant que BIOS hérité et la fonctionnalité dépendante de l’UEFI est désactivée. Si vous vous appuyez sur la disponibilité d’une fonctionnalité dépendante de l’UEFI, définissez le paramètre du mode de démarrage de votre AMI sur uefi
.
Pour convertir une instance existante basée sur le BIOS hérité en UEFI, ou une instance existante basée sur UEFI en BIOS hérité, vous devez effectuer plusieurs étapes : tout d’abord, modifiez le volume et le système d’exploitation de l’instance pour prendre en charge le mode de démarrage sélectionné. Créez ensuite un instantané du volume. Enfin, utilisez register-image pour créer l’AMI à l’aide de l’instantané.
Vous ne pouvez pas définir le mode de démarrage d’une AMI à l’aide de la commande create-image. Avec create-image, l’AMI hérite du mode de démarrage de l’instance EC2 utilisée pour créer l’AMI. Par exemple, si vous créez une AMI à partir d’une instance EC2 exécutée sur un BIOS hérité, le mode de démarrage de l’AMI sera configuré en tant que legacy-bios
. Si vous créez une AMI à partir d’une instance EC2 lancée avec une AMI dont le mode de démarrage est défini sur uefi-preferred
, son mode de démarrage sera également défini sur uefi-preferred
.
Avertissement
La définition du paramètre de mode de démarrage de l’AMI ne configure pas automatiquement le système d’exploitation pour le mode de démarrage spécifié. Avant de procéder à ces étapes, vous devez d’abord apporter des modifications appropriées au volume et au système d’exploitation de l’instance pour prendre en charge le démarrage via le mode de démarrage sélectionné. Dans le cas contraire, l’AMI résultante ne sera pas utilisable. Par exemple, si vous convertissez une instance Windows basée sur le BIOS hérité à l’UEFI, vous pouvez utiliser l’outil MBR2GPT
Pour définir le mode de démarrage d’une AMI (AWS CLI)
-
Apporter des modifications appropriées au volume et au système d’exploitation de l’instance pour prendre en charge le démarrage via le mode de démarrage sélectionné. Les modifications requises sont spécifiques au système d’exploitation. Pour plus d’informations, consultez le manuel de votre système d’exploitation.
Note
Si vous n’effectuez pas cette étape, l’AMI ne sera pas utilisable.
-
Pour trouver l’ID de volume de l’instance, utilisez la commande describe-instances. Vous allez créer un instantané de ce volume à l’étape suivante.
aws ec2 describe-instances --region
us-east-1
--instance-idsi-1234567890abcdef0
Sortie attendue
... "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "AttachTime": "", "DeleteOnTermination": true, "Status": "attached", "VolumeId": "
vol-1234567890abcdef0
" } } ... -
Pour créer un instantané du volume, utilisez la commande create-snapshot. Utilisez l’ID de volume de l’étape précédente.
aws ec2 create-snapshot --region
us-east-1
--volume-idvol-1234567890abcdef0
--description "add text
"Sortie attendue
{ "Description": "add text", "Encrypted": false, "OwnerId": "123", "Progress": "", "SnapshotId": "
snap-01234567890abcdef
", "StartTime": "", "State": "pending", "VolumeId": "vol-1234567890abcdef0
", "VolumeSize": 30, "Tags": [] } -
Notez l’ID d’instantané dans la sortie de l’étape précédente.
-
Attendez que la création de l’instantané soit
completed
avant de passer à l’étape suivante. Pour interroger l’état de l’instantané, utilisez la commande describe-snapshots.aws ec2 describe-snapshots --region
us-east-1
--snapshot-idssnap-01234567890abcdef
Exemple de sortie
{ "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", ...
-
Pour créer une AMI, utilisez la commande register-image. Utilisez l’ID d’instantané que vous avez noté à l’étape précédente.
-
Pour définir le mode de démarrage sur l’UEFI, ajoutez le paramètre
--boot-mode
à la commande et spécifiezuefi
comme valeur.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 -
Pour définir le mode de démarrage sur
uefi-preferred
, ajoutez le paramètre--boot-mode
à la commande et spécifiezuefi-preferred
comme valeur.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
Sortie attendue
{ "ImageId": "ami-new_ami_123" }
-
-
Pour vérifier que l’AMI nouvellement créée possède le mode de démarrage spécifié à l’étape précédente, utilisez la commande describe-images.
aws ec2 describe-images --region
us-east-1
--image-idami-new_ami_123
Sortie attendue
{ "Images": [ { "Architecture": "x86_64", "CreationDate": "2021-01-06T14:31:04.000Z", "ImageId": "
ami-new_ami_123
", "ImageLocation": "", ... "BootMode": "uefi" } ] } -
Lancez une nouvelle instance à l’aide de l’AMI nouvellement créée.
Si le mode de démarrage de l’AMI est
uefi
oulegacy-bios
, les instances créées à partir de cette AMI auront le même mode de démarrage. Si le mode de démarrage AMI estuefi-preferred
, l’instance démarrera à l’aide de l’UEFI si le type d’instance prend en charge l’UEFI. Dans le cas contraire, elle démarrera à l’aide du BIOS hérité. -
Pour vérifier que la nouvelle instance possède le mode de démarrage attendu, utilisez la commande describe-instances.