Establecimiento del modo de arranque de una AMI de Amazon EC2
Cuando crea una AMI mediante el comando register-image, puede establecer el modo de arranque de la AMI en uefi
, legacy-bios
o uefi-preferred
.
Cuando el modo de arranque de la AMI está establecido en uefi-preferred
, la instancia se inicia de la siguiente manera:
-
En el caso de los tipos de instancia que admiten UEFI y BIOS heredado (por ejemplo,
m5.large
), la instancia se inicia mediante UEFI. -
En el caso de los tipos de instancia que únicamente admiten el BIOS heredado (por ejemplo,
m4.large
), la instancia se inicia mediante el BIOS heredado.
nota
Si configura el modo de arranque de la AMI en uefi-preferred
, el sistema operativo tiene que admitir la posibilidad de arrancar en UEFI y BIOS heredado.
Actualmente, no puede usar el comando register-image para crear una AMI que sea compatible con NitroTPM y UEFI preferido.
aviso
Algunas características, como UEFI Secure Boot, solo están disponibles en instancias que arrancan en UEFI. Al utilizar el parámetro del modo de arranque de AMI uefi-preferred
con un tipo de instancia que no admita UEFI, la instancia se iniciará como BIOS antigua y la característica dependiente de UEFI se deshabilitará. Si depende de la disponibilidad de una característica dependiente de UEFI, defina el parámetro del modo de arranque de AMI en uefi
.
Para convertir una instancia existente basada en Legacy BIOS en UEFI o una instancia existente basada en UEFI en Legacy BIOS debe realizar una serie de pasos. Primero, modifique el volumen y el sistema operativo de la instancia para admitir el modo de arranque seleccionado. Luego, cree una instantánea del volumen. Por último, utilice register-image para crear la AMI con la instantánea.
No se puede establecer el modo de arranque de una AMI con el comando create-image. Con create-image, la AMI hereda el modo de arranque de la instancia de EC2 utilizada para crear la AMI. Por ejemplo, si crea una AMI a partir de una instancia de EC2 que se ejecuta en Legacy BIOS, el modo de arranque de la AMI que se configurará será legacy-bios
. Si crea una AMI a partir de una instancia de EC2 que se lanzó mediante una AMI con un modo de arranque establecido en uefi-preferred
, la AMI que se cree también tendrá su modo de arranque establecido en uefi-preferred
.
aviso
Establecer el parámetro de modo de arranque de la AMI no configura automáticamente el sistema operativo para el modo de arranque especificado. Antes de continuar con estos pasos, primero debe realizar las modificaciones adecuadas en el volumen y el sistema operativo de la instancia para admitir el arranque mediante el modo de arranque seleccionado. De lo contrario, no se podrá utilizar la AMI obtenida. Por ejemplo, si está convirtiendo una instancia basada en Legacy BIOS a UEFI, puede utilizar la herramienta MBR2GPT
Para establecer el modo de arranque de una AMI (AWS CLI)
-
Realice las modificaciones adecuadas en el volumen y el sistema operativo de la instancia para admitir el arranque a través del modo de arranque seleccionado. Las modificaciones obligatorias son específicas del sistema operativo. Para obtener más información, consulte el manual del sistema operativo.
nota
Si no realiza este paso, no se podrá utilizar la AMI.
-
Para buscar el ID de volumen de la instancia, utilice el comando describe-instances. En el siguiente paso, creará una instantánea de este volumen.
aws ec2 describe-instances --region
us-east-1
--instance-idsi-1234567890abcdef0
Resultado previsto
... "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "AttachTime": "", "DeleteOnTermination": true, "Status": "attached", "VolumeId": "
vol-1234567890abcdef0
" } } ... -
Para crear una instantánea del volumen, utilice el comando create-snapshot. Utilice el ID del volumen del paso anterior.
aws ec2 create-snapshot --region
us-east-1
--volume-idvol-1234567890abcdef0
--description "add text
"Salida prevista
{ "Description": "add text", "Encrypted": false, "OwnerId": "123", "Progress": "", "SnapshotId": "
snap-01234567890abcdef
", "StartTime": "", "State": "pending", "VolumeId": "vol-1234567890abcdef0
", "VolumeSize": 30, "Tags": [] } -
Anote el ID de instantánea del resultado del paso anterior.
-
Espere hasta que la creación de la instantánea se encuentre en estado
completed
antes de ir al siguiente paso. Para consultar el estado de la instantánea, utilice el comando describe-snapshots.aws ec2 describe-snapshots --region
us-east-1
--snapshot-idssnap-01234567890abcdef
Ejemplo de resultado
{ "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", ...
-
Para crear una AMI, utilice el comando register-image. Utilice el ID de la instantánea que anotó en el paso anterior.
-
Para configurar el modo de arranque en UEFI, agregue el parámetro
--boot-mode
al comando y especifiqueuefi
como valor.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 -
Para configurar el modo de arranque en
uefi-preferred
, agregue el parámetro--boot-mode
al comando y especifiqueuefi-preferred
como valor.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
Resultado previsto
{ "ImageId": "ami-new_ami_123" }
-
-
Para verificar que la AMI recién creada cuenta el modo de arranque especificado en el paso anterior, utilice el comando describe-images.
aws ec2 describe-images --region
us-east-1
--image-idami-new_ami_123
Resultado previsto
{ "Images": [ { "Architecture": "x86_64", "CreationDate": "2021-01-06T14:31:04.000Z", "ImageId": "
ami-new_ami_123
", "ImageLocation": "", ... "BootMode": "uefi" } ] } -
Lance una instancia nueva utilizando la AMI recién creada.
Si el modo de arranque de la AMI es
uefi
olegacy-bios
, las instancias creadas a partir de esta AMI tendrán el mismo modo de arranque que la AMI. Si el modo de arranque de la AMI esuefi-preferred
, la instancia se iniciará mediante UEFI si el tipo de instancia admite UEFI; de lo contrario, la instancia se iniciará con un BIOS heredado. -
Para verificar que la instancia nueva tiene el modo de arranque esperado, utilice el comando describe-instances.