

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

# Mengatur mode boot Amazon EC2 AMI
<a name="set-ami-boot-mode"></a>

Secara default, AMI mewarisi mode boot instans EC2 yang digunakan untuk membuat AMI. Misalnya, jika Anda membuat AMI dari instans EC2 yang berjalan di Legacy BIOS, mode boot AMI baru adalah. `legacy-bios` Jika Anda membuat AMI dari instans EC2 dengan mode boot`uefi-preferred`, mode boot AMI baru adalah`uefi-preferred`.

Saat Anda mendaftarkan AMI, Anda dapat mengatur mode boot AMI ke`uefi`,`legacy-bios`, atau`uefi-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 instans berbasis BioS Legacy yang ada ke UEFI, atau instans berbasis UEFI yang ada ke Legacy BIOS, Anda harus terlebih dahulu memodifikasi volume dan sistem operasi instans 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 dengan 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 Windows berbasis BioS Legacy ke UEFI, Anda dapat menggunakan [MBR2alat](https://learn.microsoft.com/en-us/windows/deployment/mbr-to-gpt) GPT 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 [https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html)perintah atau [https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html)cmdlet untuk membuat AMI yang mendukung [NitRotPM](nitrotpm.md) 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 tipe instans yang tidak mendukung UEFI, instance akan diluncurkan sebagai Legacy BIOS dan fitur yang bergantung pada UEFI dinonaktifkan. Jika Anda mengandalkan ketersediaan fitur yang bergantung pada UEFI, atur parameter mode boot AMI Anda ke `uefi`.

------
#### [ AWS CLI ]

**Untuk mengatur mode boot AMI**

1. Buat perubahan yang sesuai dengan volume instans dan sistem operasi untuk mendukung boot melalui 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.

1. Untuk menemukan ID volume instans, gunakan perintah [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html). 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"
               }
           }
       ]
   ]
   ```

1. Untuk membuat snapshot volume, gunakan perintah [https://docs.aws.amazon.com/cli/latest/reference/ec2/create-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-snapshot.html). 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": []
   }
   ```

1. Tunggu sampai status snapshot `completed` sebelum Anda pergi ke langkah berikutnya. Untuk mendapatkan status snapshot, gunakan [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html)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
   ```

1. Untuk membuat AMI baru, gunakan perintah [https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html). Gunakan nilai `SnapshotId` dari dari output**CreateSnapshot**.
   + Untuk mengatur mode boot ke UEFI, tambahkan `--boot-mode` parameter dengan nilai. `uefi`

     ```
     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 ke`uefi-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
     ```

1. (Opsional) Untuk memverifikasi bahwa AMI yang baru dibuat memiliki mode boot yang Anda tentukan, gunakan perintah. [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html)

   ```
   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 perubahan yang sesuai dengan volume instans dan sistem operasi untuk mendukung boot melalui 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.

1. Untuk menemukan ID volume instance, gunakan [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html)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
   ```

1. Untuk membuat snapshot volume, gunakan [https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Snapshot.html](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Snapshot.html)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
   ```

1. Tunggu sampai status snapshot `completed` sebelum Anda pergi ke langkah berikutnya. Untuk mendapatkan status snapshot, gunakan [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Snapshot.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Snapshot.html)cmdlet dengan ID snapshot dari langkah sebelumnya.

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

   Berikut ini adalah output contoh.

   ```
   completed
   ```

1. Untuk membuat AMI baru, gunakan [https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html)cmdlet. Gunakan nilai `SnapshotId` dari dari output**New-EC2Snapshot**.
   + Untuk mengatur mode boot ke UEFI, tambahkan `-BootMode` parameter dengan nilai. `uefi`

     ```
     $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 ke`uefi-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
     ```

1. (Opsional) Untuk memverifikasi bahwa AMI yang baru dibuat memiliki mode boot yang Anda tentukan, gunakan cmdlet. [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html)

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

   Berikut ini adalah output contoh.

   ```
   uefi
   ```

------