View a markdown version of this page

Mengatur mode boot dari AMI Amazon EC2 - Amazon Elastic Compute Cloud

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengatur mode boot dari AMI Amazon EC2

Secara default, AMI mewarisi mode boot dari instance EC2 yang digunakan untuk membuat AMI. Misalnya, jika Anda membuat AMI dari instance EC2 yang berjalan di BIOS Legacy, mode boot AMI baru adalahlegacy-bios. Jika Anda membuat AMI dari instance EC2 dengan mode bootuefi-preferred, mode boot AMI baru adalahuefi-preferred.

Saat Anda mendaftarkan AMI, Anda dapat mengatur mode boot AMI keuefi,legacy-bios, atauuefi-preferred.

Ketika mode boot AMI diatur ke uefi-preferred, instans akan melakukan boot sebagai berikut:

  • Untuk tipe instans yang mendukung UEFI dan Legacy BIOS (misalnya, m5.large), instans boot menggunakan UEFI.

  • Untuk tipe instans yang hanya mendukung Legacy BIOS (misalnya, m4.large), instans boot menggunakan Legacy BIOS.

Jika Anda mengatur mode boot AMI ke uefi-preferred, sistem operasi harus mendukung kemampuan untuk melakukan boot UEFI dan Legacy BIOS.

Untuk mengonversi BIOS-based instance Legacy yang ada ke UEFI, atau UEFI-based instance yang ada ke BIOS Legacy, Anda harus terlebih dahulu memodifikasi volume instans dan sistem operasi untuk mendukung mode boot yang dipilih. Kemudian, buat snapshot volume. Terakhir, buat AMI dari snapshot.

Pertimbangan-pertimbangan
  • Menetapkan parameter mode boot AMI tidak secara otomatis mengonfigurasi sistem operasi untuk mode boot tersebut. Anda harus terlebih dahulu membuat modifikasi yang sesuai untuk volume instans dan sistem operasi untuk mendukung booting menggunakan mode boot yang dipilih. Jika tidak, AMI yang dihasilkan tidak dapat digunakan. Misalnya, jika Anda mengonversi instance BIOS-based Windows Legacy ke UEFI, Anda dapat menggunakan alat MBR2GPT dari Microsoft untuk mengonversi disk sistem dari MBR ke GPT. Perubahan yang diperlukan adalah perubahan khusus sistem operasi. Untuk informasi lebih lanjut, lihat manual untuk sistem operasi Anda.

  • Anda tidak dapat menggunakan register-image perintah atau Register-EC2Image cmdlet untuk membuat AMI yang mendukung NitroTPM dan UEFI Preferred.

  • Beberapa fitur, seperti UEFI Secure Boot, hanya tersedia pada instans yang di-boot di UEFI. Saat Anda menggunakan parameter mode boot uefi-preferred AMI dengan jenis instance yang tidak mendukung UEFI, instance diluncurkan sebagai BIOS Legacy dan UEFI-dependent fitur tersebut dinonaktifkan. Jika Anda mengandalkan ketersediaan UEFI-dependent fitur, setel parameter mode boot AMI Anda keuefi.

AWS CLI
Untuk mengatur mode boot AMI
  1. Buat modifikasi yang sesuai pada volume instans dan sistem operasi untuk mendukung booting dengan menggunakan mode boot yang dipilih. Perubahan yang diperlukan adalah perubahan khusus sistem operasi. Untuk informasi lebih lanjut, lihat manual untuk sistem operasi Anda.

    Awas

    Jika Anda tidak melakukan langkah ini, AMI tidak akan dapat digunakan.

  2. Untuk menemukan ID volume instans, gunakan perintah describe-instances. Anda akan membuat snapshot volume ini di langkah berikutnya.

    aws ec2 describe-instances \ --instance-ids i-1234567890abcdef0 \ --query Reservations[].Instances[].BlockDeviceMappings

    Berikut ini adalah output contoh.

    [ [ { "DeviceName": "/dev/xvda", "Ebs": { "AttachTime": "2024-07-11T01:05:51+00:00", "DeleteOnTermination": true, "Status": "attached", "VolumeId": "vol-1234567890abcdef0" } } ] ]
  3. Untuk membuat snapshot volume, gunakan perintah create-snapshot. Gunakan ID volume dari langkah sebelumnya.

    aws ec2 create-snapshot \ --volume-id vol-01234567890abcdef \ --description "my snapshot"

    Berikut ini adalah output contoh.

    { "Description": "my snapshot", "Encrypted": false, "OwnerId": "123456789012", "Progress": "", "SnapshotId": "snap-0abcdef1234567890", "StartTime": "", "State": "pending", "VolumeId": "vol-01234567890abcdef", "VolumeSize": 30, "Tags": [] }
  4. Tunggu sampai keadaan snapshot completed sebelum Anda pergi ke langkah berikutnya. Untuk mendapatkan status snapshot, gunakan describe-snapshots perintah dengan ID snapshot dari langkah sebelumnya.

    aws ec2 describe-snapshots \ --snapshot-ids snap-0abcdef1234567890 \ --query Snapshots[].State \ --output text

    Berikut ini adalah output contoh.

    completed
  5. Untuk membuat AMI baru, gunakan perintah register-image. Gunakan nilai SnapshotId dari output dariCreateSnapshot.

    • Untuk mengatur mode boot ke UEFI, tambahkan --boot-mode parameter dengan nilaiuefi.

      aws ec2 register-image \ --description "my image" \ --name "my-image" \ --block-device-mappings "DeviceName=/dev/sda1,Ebs={SnapshotId=snap-0abcdef1234567890,DeleteOnTermination=true}" \ --root-device-name /dev/sda1 \ --virtualization-type hvm \ --ena-support \ --boot-mode uefi
    • Untuk mengatur mode boot keuefi-preferred, atur nilai --boot-mode ke uefi-preferred

      aws ec2 register-image \ --description "my description" \ --name "my-image" \ --block-device-mappings "DeviceName=/dev/sda1,Ebs={SnapshotId=snap-0abcdef1234567890,DeleteOnTermination=true}" \ --root-device-name /dev/sda1 \ --virtualization-type hvm \ --ena-support \ --boot-mode uefi-preferred
  6. (Opsional) Untuk memverifikasi bahwa AMI yang baru dibuat memiliki mode boot yang Anda tentukan, gunakan perintah describe-images.

    aws ec2 describe-images \ --image-id ami-1234567890abcdef0 \ --query Images[].BootMode \ --output text

    Berikut ini adalah output contoh.

    uefi
PowerShell
Untuk mengatur mode boot AMI
  1. Buat modifikasi yang sesuai pada volume instans dan sistem operasi untuk mendukung booting dengan menggunakan mode boot yang dipilih. Perubahan yang diperlukan adalah perubahan khusus sistem operasi. Untuk informasi lebih lanjut, lihat manual untuk sistem operasi Anda.

    Awas

    Jika Anda tidak melakukan langkah ini, AMI tidak akan dapat digunakan.

  2. Untuk menemukan ID volume instance, gunakan Get-EC2Instance cmdlet.

    (Get-EC2Instance ` -InstanceId i-1234567890abcdef0).Instances.BlockDeviceMappings.Ebs

    Berikut ini adalah output contoh.

    AssociatedResource : AttachTime : 7/11/2024 1:05:51 AM DeleteOnTermination : True Operator : Status : attached VolumeId : vol-01234567890abcdef
  3. Untuk membuat snapshot volume, gunakan New-EC2Snapshot cmdlet. Gunakan ID volume dari langkah sebelumnya.

    New-EC2Snapshot ` -VolumeId vol-01234567890abcdef ` -Description "my snapshot"

    Berikut ini adalah output contoh.

    AvailabilityZone : Description : my snapshot Encrypted : False FullSnapshotSizeInBytes : 0 KmsKeyId : OwnerId : 123456789012 RestoreExpiryTime : SnapshotId : snap-0abcdef1234567890 SseType : StartTime : 4/25/2025 6:08:59 PM State : pending StateMessage : VolumeId : vol-01234567890abcdef VolumeSize : 30
  4. Tunggu sampai keadaan snapshot completed sebelum Anda pergi ke langkah berikutnya. Untuk mendapatkan status snapshot, gunakan Get-EC2Snapshot cmdlet dengan ID snapshot dari langkah sebelumnya.

    (Get-EC2Snapshot ` -SnapshotId snap-0abcdef1234567890).State.Value

    Berikut ini adalah output contoh.

    completed
  5. Untuk membuat AMI baru, gunakan Register-EC2Image cmdlet. Gunakan nilai SnapshotId dari output dariNew-EC2Snapshot.

    • Untuk mengatur mode boot ke UEFI, tambahkan -BootMode parameter dengan nilaiuefi.

      $block = @{SnapshotId=snap-0abcdef1234567890} Register-EC2Image ` -Description "my image" ` -Name "my-image" ` -BlockDeviceMapping @{DeviceName="/dev/xvda";Ebs=$block} ` -RootDeviceName /dev/xvda ` -EnaSupport $true ` -BootMode uefi
    • Untuk mengatur mode boot keuefi-preferred, atur nilai -BootMode ke uefi-preferred

      $block = @{SnapshotId=snap-0abcdef1234567890} Register-EC2Image ` -Description "my image" ` -Name "my-image" ` -BlockDeviceMapping @{DeviceName="/dev/xvda";Ebs=$block} ` -RootDeviceName /dev/xvda ` -EnaSupport $true ` -BootMode uefi-preferred
  6. (Opsional) Untuk memverifikasi bahwa AMI yang baru dibuat memiliki mode boot yang Anda tentukan, gunakan cmdlet. Get-EC2Image

    (Get-EC2Image ` -ImageId ami-1234567890abcdef0).BootMode.Value

    Berikut ini adalah output contoh.

    uefi