

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

# Perilaku peluncuran instans dengan mode boot Amazon EC2
<a name="ami-boot"></a>

Ketika komputer melakukan boot, perangkat lunak pertama yang berjalan bertanggung jawab untuk menginisialisasi platform dan menyediakan antarmuka bagi sistem operasi untuk melakukan operasi spesifik platform.

Di Amazon EC2, ada dua varian perangkat lunak mode boot yang didukung: Unified Extensible Firmware Interface (UEFI) dan Legacy BIOS.

**Parameter mode boot yang mungkin terjadi pada AMI**  
AMI dapat memiliki salah satu nilai parameter mode boot berikut: `uefi`, `legacy-bios`, atau `uefi-preferred`. Parameter mode boot AMI bersifat opsional. Untuk AMIs tanpa parameter mode boot, instance yang diluncurkan dari ini AMIs menggunakan nilai mode boot default dari jenis instance.

**Tujuan parameter mode boot AMI**  
Parameter mode boot AMI memberi tanda ke Amazon EC2 tentang mode boot mana yang digunakan saat meluncurkan instans. Saat parameter mode boot diatur ke `uefi`, EC2 mencoba untuk meluncurkan instans di UEFI. Jika sistem operasi tidak dikonfigurasi untuk mendukung UEFI, peluncuran instans tidak akan berhasil.

**Parameter mode boot UEFI yang disukai**  
Anda dapat membuat AMIs yang mendukung UEFI dan Legacy BIOS dengan menggunakan parameter mode `uefi-preferred` boot. Saat parameter mode boot diatur ke `uefi-preferred`, dan jika tipe instans mendukung UEFI, instans akan diluncurkan di UEFI. Jika tipe instans tidak mendukung UEFI, instans akan diluncurkan di Legacy BIOS.

**Awas**  
Beberapa fitur, seperti UEFI Secure Boot, hanya tersedia pada instans yang di-boot di UEFI. Saat Anda menggunakan parameter mode boot AMI `uefi-preferred` dengan tipe instans yang tidak mendukung UEFI, instans akan diluncurkan sebagai Legacy BIOS dan fitur yang bergantung pada UEFI akan dinonaktifkan. Jika Anda mengandalkan ketersediaan fitur yang bergantung pada UEFI, atur parameter mode boot AMI Anda ke `uefi`.

**Mode boot default sesuai tipe instans**
+ Tipe instans Graviton: UEFI
+ Tipe instans Intel dan AMD: Legacy BIOS

**Dukungan zona**  
Boot UEFI tidak didukung di Wavelength Zones.

**Topics**
+ [Persyaratan untuk meluncurkan instans EC2 dalam mode boot UEFI](launch-instance-boot-mode.md)
+ [Tentukan parameter mode boot dari Amazon EC2 AMI](ami-boot-mode.md)
+ [Tentukan mode boot yang didukung dari jenis instans EC2](instance-type-boot-mode.md)
+ [Tentukan mode boot dari instans EC2](instance-boot-mode.md)
+ [Tentukan mode boot sistem operasi untuk instans EC2 Anda](os-boot-mode.md)
+ [Mengatur mode boot Amazon EC2 AMI](set-ami-boot-mode.md)
+ [Variabel UEFI untuk instans Amazon EC2](uefi-variables.md)
+ [Boot Aman UEFI untuk instans Amazon EC2](uefi-secure-boot.md)

# Persyaratan untuk meluncurkan instans EC2 dalam mode boot UEFI
<a name="launch-instance-boot-mode"></a>

Mode boot instance ditentukan oleh konfigurasi AMI, sistem operasi yang terkandung di dalamnya, dan jenis instance. Untuk meluncurkan instance dalam mode boot UEFI, Anda harus memenuhi persyaratan berikut.

**AMI**  
AMI harus dikonfigurasi untuk UEFI sebagai berikut:  
+ **Sistem operasi** – sistem operasi yang terdapat dalam AMI harus dikonfigurasi untuk menggunakan UEFI; jika tidak, peluncuran instans akan gagal. Untuk informasi selengkapnya, lihat [Tentukan mode boot sistem operasi untuk instans EC2 Anda](os-boot-mode.md).
+ **Parameter mode boot AMI** – Parameter mode boot AMI harus diatur ke `uefi` atau `uefi-preferred`. Untuk informasi selengkapnya, lihat [Tentukan parameter mode boot dari Amazon EC2 AMI](ami-boot-mode.md).
**Linux — Linux** berikut AMIs mendukung UEFI:  
+ Amazon Linux 2023
+ Amazon Linux 2 (hanya jenis instans Graviton)
Untuk Linux lain AMIs, Anda harus [mengkonfigurasi AMI](set-ami-boot-mode.md), mengimpor AMI melalui [VM Import/Export, atau mengimpor](https://docs.aws.amazon.com/vm-import/latest/userguide/) AMI melalui. [CloudEndure](https://docs.cloudendure.com/)  
**Windows — Windows** berikut AMIs mendukung UEFI:  
+ Windows\$1Server-2025-\$1 (kecuali dengan awalan nama) AMIs `BIOS-`
+ TPM-Windows\$1Server-2022-English-Full-Base
+ TPM-Windows\$1Server-2022-English-Core-Base
+ TPM-Windows\$1Server-2019-English-Full-Base
+ TPM-Windows\$1Server-2019-English-Core-Base
+ TPM-Windows\$1Server-2016-English-Full-Base
+ TPM-Windows\$1Server-2016-English-Core-Base

**Tipe instans**  
Semua instans yang dibangun di atas Sistem AWS Nitro mendukung UEFI dan Legacy BIOS, kecuali yang berikut: instans bare metal,, G4ad, P4, u-3tb1, u-6tb1, u-9tb1 DL1, u-12tb1, u-18tb1, u-24tb1, dan. VT1 Untuk informasi selengkapnya, lihat [Tentukan mode boot yang didukung dari jenis instans EC2](instance-type-boot-mode.md).

Tabel berikut menunjukkan bahwa mode boot suatu instans (ditunjukkan oleh kolom **Mode boot instans yang dihasilkan**) ditentukan oleh kombinasi parameter mode boot AMI (kolom 1), konfigurasi mode boot dari sistem operasi yang berada dalam AMI (kolom 2), dan dukungan mode boot dari tipe instans tersebut (kolom 3).


| Parameter mode boot AMI | Konfigurasi mode boot sistem operasi | Dukungan mode boot tipe instans | Mode boot instans yang dihasilkan | 
| --- | --- | --- | --- | 
| UEFI | UEFI | UEFI | UEFI | 
| Legacy BIOS | Legacy BIOS | Legacy BIOS | Legacy BIOS | 
| UEFI Diutamakan | UEFI | UEFI | UEFI | 
| UEFI Diutamakan | UEFI | UEFI dan Legacy BIOS | UEFI | 
| UEFI Diutamakan | Legacy BIOS | Legacy BIOS | Legacy BIOS | 
| UEFI Diutamakan | Legacy BIOS | UEFI dan Legacy BIOS | Legacy BIOS | 
| Tidak ada mode boot yang ditentukan - ARM | UEFI | UEFI | UEFI | 
| Tidak ada mode boot yang ditentukan - x86 | Legacy BIOS | UEFI dan Legacy BIOS | Legacy BIOS | 

# Tentukan parameter mode boot dari Amazon EC2 AMI
<a name="ami-boot-mode"></a>

Parameter mode boot AMI bersifat opsional. AMI dapat memiliki salah satu nilai parameter mode boot berikut: `uefi`, `legacy-bios`, atau `uefi-preferred`.

Beberapa AMIs tidak memiliki parameter mode boot. Ketika AMI tidak memiliki parameter mode boot, instans yang diluncurkan dari AMI akan menggunakan nilai default dari tipe instans tersebut, yaitu `uefi` di Graviton, dan `legacy-bios` pada tipe instans Intel dan AMD.

------
#### [ Console ]

**Untuk menentukan parameter mode boot AMI**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **AMIs**, lalu pilih AMI.

1. Periksa bidang **Mode boot**.
   + Nilai **uefi** menunjukkan bahwa AMI mendukung UEFI.
   + Nilai **uefi-preferred** menunjukkan bahwa AMI mendukung UEFI dan Legacy BIOS.
   + Jika tidak ada nilai, instans yang diluncurkan dari AMI menggunakan nilai default dari tipe instans tersebut.

**Untuk menentukan parameter mode boot AMI saat meluncurkan instance**  
Saat meluncurkan sebuah instans menggunakan wizard peluncuran instans, pada langkah untuk memilih AMI, periksa bidang **Mode boot**. Untuk informasi selengkapnya, lihat [Aplikasi dan Gambar OS (Gambar Mesin Amazon)](ec2-instance-launch-parameters.md#liw-ami).

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

**Untuk menentukan parameter mode boot AMI**  
Gunakan [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html)perintah untuk menentukan mode boot AMI.

```
aws ec2 describe-images \
    --region us-east-1 \
    --image-id ami-0abcdef1234567890 \
    --query Images[].BootMode \
    --output text
```

Berikut ini adalah output contoh.

```
uefi
```

Dalam output, nilai `uefi` menunjukkan bahwa AMI mendukung UEFI. Nilai `uefi-preferred` menunjukkan bahwa AMI mendukung UEFI dan Legacy BIOS. Jika tidak ada nilai, instans yang diluncurkan dari AMI menggunakan nilai default dari tipe instans tersebut.

------
#### [ PowerShell ]

**Untuk menentukan parameter mode boot AMI**  
Gunakan [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html)cmdlet untuk menentukan mode boot AMI.

```
Get-EC2Image -Region us-east-1 `
    -ImageId ami-0abcdef1234567890 | Format-List Name, BootMode, TpmSupport
```

Berikut ini adalah output contoh.

```
Name       : TPM-Windows_Server-2016-English-Full-Base-2023.05.10
BootMode   : uefi
TpmSupport : v2.0
```

Dalam output, nilai `BootMode` menunjukkan mode boot AMI. Nilai `uefi` menunjukkan bahwa AMI mendukung UEFI. Nilai `uefi-preferred` menunjukkan bahwa AMI mendukung UEFI dan Legacy BIOS. Jika tidak ada nilai, instans yang diluncurkan dari AMI menggunakan nilai default dari tipe instans tersebut.

------

# Tentukan mode boot yang didukung dari jenis instans EC2
<a name="instance-type-boot-mode"></a>

Anda dapat menentukan mode boot yang didukung dari jenis instance.

Konsol Amazon EC2 tidak menampilkan mode boot yang didukung dari jenis instans.

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

Gunakan [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html)perintah untuk menentukan mode boot yang didukung dari jenis instance. `--query`Parameter menyaring output untuk mengembalikan hanya mode boot yang didukung.

Contoh berikut menunjukkan bahwa jenis instance yang ditentukan mendukung mode boot UEFI dan Legacy BIOS.

```
aws ec2 describe-instance-types \
    --instance-types m5.2xlarge \
    --query "InstanceTypes[*].SupportedBootModes"
```

Berikut ini adalah output contoh.

```
[
    [
        "legacy-bios",
        "uefi"
    ]
]
```

Contoh berikut menunjukkan bahwa `t2.xlarge` hanya mendukung Legacy BIOS.

```
aws ec2 describe-instance-types \
    --instance-types t2.xlarge \
    --query "InstanceTypes[*].SupportedBootModes"
```

Berikut ini adalah output contoh.

```
[
    [
        "legacy-bios"
    ]
]
```

------
#### [ PowerShell ]

Gunakan [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceType.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceType.html)cmdlet untuk menentukan mode boot yang didukung dari jenis instance.

Contoh berikut menunjukkan bahwa `m5.2xlarge` mendukung mode boot UEFI dan Legacy BIOS.

```
Get-EC2InstanceType -InstanceType m5.2xlarge | Format-List InstanceType, SupportedBootModes
```

Berikut ini adalah output contoh.

```
InstanceType       : m5.2xlarge
SupportedBootModes : {legacy-bios, uefi}
```

Contoh berikut menunjukkan bahwa `t2.xlarge` hanya mendukung Legacy BIOS.

```
Get-EC2InstanceType -InstanceType t2.xlarge | Format-List InstanceType, SupportedBootModes
```

Berikut ini adalah output contoh.

```
InstanceType       : t2.xlarge
SupportedBootModes : {legacy-bios}
```

------

**Untuk menentukan jenis instans yang mendukung UEFI**  
Anda dapat menentukan jenis instans yang mendukung UEFI. Konsol Amazon EC2 tidak menampilkan dukungan UEFI dari jenis instans.

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

Tipe instans yang tersedia berbeda-beda menurut Wilayah AWS. Untuk melihat jenis instance yang tersedia yang mendukung UEFI di Region, gunakan perintah. [describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html) Sertakan parameter `--filters` untuk cakupan hasil ke tipe instans yang mendukung UEFI dan parameter `--query` untuk cakupan output ke nilai `InstanceType`.

```
aws ec2 describe-instance-types \
    --filters Name=supported-boot-mode,Values=uefi \
    --query "InstanceTypes[*].[InstanceType]" --output text | sort
```

------
#### [ PowerShell ]

Tipe instans yang tersedia berbeda-beda menurut Wilayah AWS. Untuk melihat jenis instans yang tersedia yang mendukung UEFI di Wilayah, gunakan cmdlet. [Get-EC2InstanceType](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceType.html)

```
Get-EC2InstanceType | `
	Where-Object {$_.SupportedBootModes -Contains "uefi"} | `
	Sort-Object InstanceType | `
	Format-Table InstanceType -GroupBy CurrentGeneration
```

------

**Untuk menentukan jenis instans yang mendukung UEFI Secure Boot dan mempertahankan variabel non-volatile**  
Instans bare metal tidak mendukung UEFI Secure Boot dan variabel non-volatile, jadi contoh-contoh ini mengecualikan mereka dari output. Untuk informasi tentang UEFI Secure Boot, lihat [Boot Aman UEFI untuk instans Amazon EC2](uefi-secure-boot.md).

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

Gunakan [describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html)perintah, dan kecualikan instance bare metal dari output.

```
aws ec2 describe-instance-types \
    --filters Name=supported-boot-mode,Values=uefi Name=bare-metal,Values=false \
    --query "InstanceTypes[*].[InstanceType]" \
    --output text | sort
```

------
#### [ PowerShell ]

Gunakan [Get-EC2InstanceType](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceType.html)cmdlet, dan kecualikan instance bare metal dari output.

```
Get-EC2InstanceType | `
    Where-Object { `
        $_.SupportedBootModes -Contains "uefi" -and `
        $_.BareMetal -eq $False
        } | `
    Sort-Object InstanceType  | `
    Format-Table InstanceType, SupportedBootModes, BareMetal, `
        @{Name="SupportedArchitectures"; Expression={$_.ProcessorInfo.SupportedArchitectures}}
```

------

# Tentukan mode boot dari instans EC2
<a name="instance-boot-mode"></a>

Mode boot sebuah instans ditampilkan di bidang **Mode boot** di konsol Amazon EC2, dan oleh parameter `currentInstanceBootMode` di AWS CLI.

Apabila sebuah instans diluncurkan, nilai untuk parameter mode boot-nya ditentukan oleh nilai parameter mode boot AMI yang digunakan untuk meluncurkannya, seperti berikut:
+ AMI dengan parameter mode boot `uefi` menciptakan sebuah instans dengan parameter `currentInstanceBootMode` `uefi`.
+ AMI dengan parameter mode boot `legacy-bios` menciptakan sebuah instans dengan parameter `currentInstanceBootMode` ` legacy-bios`.
+ AMI dengan parameter mode boot `uefi-preferred` menciptakan instans dengan parameter `currentInstanceBootMode` `uefi` jika tipe instans mendukung UEFI; jika tidak, ia membuat instans dengan parameter `currentInstanceBootMode` `legacy-bios`.
+ AMI tanpa nilai parameter mode boot akan menciptakan instans dengan nilai parameter `currentInstanceBootMode` yang bergantung pada apakah arsitektur AMI adalah ARM atau x86 dan mode boot yang didukung tipe instans tersebut. Mode boot default adalah `uefi` pada tipe instans Graviton, dan `legacy-bios` pada tipe instans Intel dan AMD.

------
#### [ Console ]

**Untuk menentukan mode boot dari sebuah instance**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Pada panel navigasi, pilih **Instans**, kemudian pilih instans Anda.

1. Di tab **Detail**, periksa bidang **Mode boot**.

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

**Untuk menentukan mode boot dari sebuah instance**  
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) untuk menentukan mode boot sebuah instans. Anda juga dapat menentukan mode boot AMI yang digunakan untuk membuat instans. 

```
aws ec2 describe-instances \
    --region us-east-1 \
    --instance-ids i-1234567890abcdef0 \
    --query Reservations[].Instances[].BootMode \
    --output text
```

Berikut ini adalah output contoh.

```
uefi
```

------
#### [ PowerShell ]

**Untuk menentukan mode boot dari sebuah 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 untuk menentukan mode boot sebuah instance. Anda juga dapat menentukan mode boot AMI yang digunakan untuk membuat instans. 

```
(Get-EC2Instance `
    -InstanceId i-1234567890abcdef0).Instances | Format-List BootMode, CurrentInstanceBootMode, InstanceType, ImageId
```

Berikut ini adalah output contoh.

```
BootMode                : uefi
CurrentInstanceBootMode : uefi
InstanceType            : c5a.large
ImageId                 : ami-0abcdef1234567890
```

------

# Tentukan mode boot sistem operasi untuk instans EC2 Anda
<a name="os-boot-mode"></a>

Mode boot AMI memandu Amazon EC2 tentang mode boot apa yang digunakan untuk melakukan boot instans. Untuk melihat apakah sistem operasi instans Anda dikonfigurasi untuk UEFI, Anda harus terhubung ke instans Anda menggunakan SSH (instance Linux) atau RDP (instance Windows).

Gunakan instruksi untuk sistem operasi instans Anda.

## Linux
<a name="os-boot-mode-linux"></a>

**Untuk menentukan mode boot sistem operasi instans**

1. [Sambungkan ke instans Linux Anda menggunakan SSH](connect-linux-inst-ssh.md).

1. Untuk melihat mode boot sistem operasi, coba salah satu hal berikut ini:
   + Jalankan perintah berikut.

     ```
     [ec2-user ~]$ sudo /usr/sbin/efibootmgr
     ```

     Output yang diharapkan dari sebuah instans yang diboot dalam mode boot UEFI

     ```
     BootCurrent: 0001
     Timeout: 0 seconds
     BootOrder: 0000,0001
     Boot0000* UiApp
     Boot0001* UEFI Amazon Elastic Block Store vol-xyz
     ```
   + Jalankan perintah berikut untuk memverifikasi keberadaan direktori `/sys/firmware/efi`. Direktori ini hanya ada jika instans boot menggunakan UEFI. Jika direktori ini tidak ada, perintah akan menampilkan `Legacy BIOS Boot Detected`.

     ```
     [ec2-user ~]$ [ -d /sys/firmware/efi ] && echo "UEFI Boot Detected" || echo "Legacy BIOS Boot Detected"
     ```

     Output yang diharapkan dari sebuah instans yang diboot dalam mode boot UEFI

     ```
     UEFI Boot Detected
     ```

     Output yang diharapkan dari instans yang boot dalam mode boot Legacy BIOS

     ```
     Legacy BIOS Boot Detected
     ```
   + Jalankan perintah berikut untuk memverifikasi bahwa EFI muncul di output `dmesg`.

     ```
     [ec2-user ~]$ dmesg | grep -i "EFI"
     ```

     Output yang diharapkan dari sebuah instans yang diboot dalam mode boot UEFI

     ```
     [    0.000000] efi: Getting EFI parameters from FDT:
     [    0.000000] efi: EFI v2.70 by EDK II
     ```

## Windows
<a name="os-boot-mode-windows"></a>

**Untuk menentukan mode boot sistem operasi instans**

1. [Sambungkan ke instans Windows Anda menggunakan RDP.](connecting_to_windows_instance.md)

1. Pergi ke **Informasi Sistem** dan periksa baris **Mode BIOS**.  
![\[Jendela Informasi Sistem yang menampilkan baris Mode BIOS yang dipilih. Nilai untuk Mode BIOS adalah Legacy.\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/images/BIOS-mode-win.png)

# 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
   ```

------

# Variabel UEFI untuk instans Amazon EC2
<a name="uefi-variables"></a>

Saat Anda meluncurkan instans di mana mode boot diatur ke UEFI, penyimpanan nilai kunci untuk variabel akan dibuat. Penyimpanan dapat digunakan oleh UEFI dan sistem operasi instans untuk menyimpan variabel UEFI.

Variabel UEFI digunakan oleh boot loader dan sistem operasi untuk mengonfigurasi startup sistem awal. Variabel ini memungkinkan sistem operasi untuk mengelola pengaturan tertentu dari proses boot, seperti urutan boot, atau mengelola kunci untuk UEFI Secure Boot.

**Awas**  
Siapa pun yang dapat terhubung ke instance (dan berpotensi perangkat lunak apa pun yang berjalan pada instance), atau siapa pun yang memiliki izin untuk menggunakan [GetInstanceUefiData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceUefiData.html)API pada instance dapat membaca variabel. Anda tidak boleh menyimpan data sensitif, seperti sandi atau informasi identitas pribadi, di penyimpanan variabel UEFI.

**Persistensi variabel UEFI**
+ Untuk instans yang diluncurkan pada atau sebelum 10 Mei 2022, variabel UEFI dihapus saat boot ulang atau berhenti.
+ Untuk instans yang diluncurkan pada atau setelah 11 Mei 2022, variabel UEFI yang ditandai sebagai non-volatile akan dipertahankan saat boot ulang dan berhenti/mulai.
+ Instans bare metal tidak mempertahankan variabel non-volatile UEFI di seluruh operasi berhenti/memulai instans.

# Boot Aman UEFI untuk instans Amazon EC2
<a name="uefi-secure-boot"></a>

UEFI Secure Boot dibangun di atas proses boot aman lama Amazon EC2, dan menyediakan tambahan yang membantu pelanggan mengamankan perangkat lunak dari ancaman defense-in-depth yang bertahan selama reboot. UEFI Secure Boot memastikan bahwa instans hanya melakukan boot perangkat lunak yang diberi tanda dengan kunci kriptografi. Kunci disimpan dalam basis data kunci di [penyimpanan variabel non-volatile UEFI](uefi-variables.md). UEFI Secure Boot mencegah modifikasi yang tidak sah dari aliran boot instans.

**Topics**
+ [Cara kerja Boot Aman UEFI dengan instans Amazon EC2](how-uefi-secure-boot-works.md)
+ [Persyaratan untuk Boot Aman UEFI di Amazon EC2](launch-instance-with-uefi-sb.md)
+ [Verifikasi apakah instans Amazon EC2 diaktifkan untuk Boot Aman UEFI](verify-uefi-secure-boot.md)
+ [Buat AMI Linux dengan tombol Boot Aman UEFI kustom](create-ami-with-uefi-secure-boot.md)
+ [Buat gumpalan AWS biner untuk UEFI Secure Boot](aws-binary-blob-creation.md)

# Cara kerja Boot Aman UEFI dengan instans Amazon EC2
<a name="how-uefi-secure-boot-works"></a>

UEFI Secure Boot adalah fitur yang ditentukan dalam UEFI, yang menyediakan verifikasi tentang keadaan rantai boot. UEFI Secure Boot dirancang untuk memastikan bahwa hanya binari UEFI yang terverifikasi secara kriptografis yang akan dieksekusi setelah inisialisasi mandiri pada firmware. Binari ini termasuk driver UEFI dan bootloader utama, serta komponen yang dimuat rantai.

UEFI Secure Boot menetapkan empat basis data utama, yang digunakan dalam rantai kepercayaan. Basis data disimpan di penyimpanan variabel UEFI.

Rantai kepercayaan tersebut adalah sebagai berikut:

**Basis data kunci platform (PK)**  
Basis data PK adalah root kepercayaan. Basis data ini berisi satu kunci PK publik yang digunakan dalam rantai kepercayaan untuk memperbarui basis data kunci untuk pertukaran kunci (KEK).  
Untuk mengubah basis data PK, Anda harus memiliki kunci PK privat untuk menandatangani permintaan pembaruan. Ini termasuk menghapus basis data PK dengan menulis kunci PK kosong.

**Basis data kunci untuk pertukaran kunci (KEK)**  
Basis data KEK adalah daftar kunci KEK publik yang digunakan dalam rantai kepercayaan untuk memperbarui basis data tanda tangan (db) dan denylist (dbx).  
Untuk mengubah basis data KEK publik, Anda harus memiliki kunci PK privat untuk menandatangani permintaan pembaruan.

**Basis data tanda tangan (db)**  
Basis data db adalah daftar kunci publik dan hash yang digunakan dalam rantai kepercayaan untuk memvalidasi semua binari boot UEFI.  
Untuk mengubah basis data db, Anda harus memiliki kunci PK privat atau salah satu kunci KEK privat untuk menandatangani permintaan pembaruan.

**Basis data denylist tanda tangan (dbx)**  
Basis data dbx adalah daftar kunci publik dan hash biner yang tidak tepercaya, dan digunakan dalam rantai kepercayaan sebagai file pencabutan.  
Basis data dbx selalu diutamakan daripada semua basis data kunci lainnya.  
Untuk mengubah basis data dbx, Anda harus memiliki kunci PK privat atau kunci KEK privat apa pun untuk menandatangani permintaan pembaruan.  
Forum UEFI mengelola dbx yang tersedia untuk umum untuk banyak biner dan sertifikat yang diketahui buruk di [https://uefi.org/revocationlistfile](https://uefi.org/revocationlistfile).

**penting**  
UEFI Secure Boot memberlakukan validasi tanda tangan pada binari UEFI apa pun. Untuk mengizinkan eksekusi biner UEFI di UEFI Secure Boot, Anda menandatanganinya dengan salah satu kunci db privat yang dijelaskan di atas.

Secara default, UEFI Secure Boot dinonaktifkan dan sistem ada pada `SetupMode`. Ketika sistem ada di `SetupMode`, semua variabel kunci dapat diperbarui tanpa tanda tangan kriptografis. Ketika PK diatur, UEFI Secure Boot diaktifkan dan keluar. SetupMode 

# Persyaratan untuk Boot Aman UEFI di Amazon EC2
<a name="launch-instance-with-uefi-sb"></a>

Saat Anda [meluncurkan instans Amazon EC2 dengan AMI yang didukung dan jenis instans](LaunchingAndUsingInstances.md) yang didukung, instans tersebut akan secara otomatis memvalidasi binari boot UEFI terhadap database Boot Aman UEFI. Tidak diperlukan konfigurasi tambahan. Anda juga dapat mengonfigurasi UEFI Secure Boot pada sebuah instans setelah diluncurkan.

**catatan**  
UEFI Secure Boot melindungi instans Anda dan sistem operasinya dari perubahan aliran boot. Jika Anda membuat AMI baru dari sumber AMI yang mengaktifkan UEFI Secure Boot dan memodifikasi parameter tertentu selama proses penyalinan, seperti mengubah bagian `UefiData` dalam AMI, Anda dapat menonaktifkan Boot Aman UEFI.

**Topics**
+ [Didukung AMIs](#uefi-amis)
+ [Tipe instans yang didukung](#uefi-instance)

## Didukung AMIs
<a name="uefi-amis"></a>

**Linux AMIs**  
Untuk meluncurkan instance Linux, AMI Linux harus mengaktifkan UEFI Secure Boot.

Amazon Linux mendukung UEFI Secure Boot dimulai dengan AL2023 rilis 2023.1. Namun, Boot Aman UEFI tidak diaktifkan secara default. AMIs Untuk informasi selengkapnya, lihat [Boot Aman UEFI](https://docs.aws.amazon.com/linux/al2023/ug/uefi-secure-boot.html) di *AL2023 Panduan Pengguna*. Versi lama Amazon Linux AMIs tidak diaktifkan untuk UEFI Secure Boot. Agar dapat menggunakan AMI yang didukung, Anda harus melakukan sejumlah langkah konfigurasi pada Linux AMI Anda sendiri. Untuk informasi selengkapnya, lihat [Buat AMI Linux dengan tombol Boot Aman UEFI kustom](create-ami-with-uefi-secure-boot.md).

**Jendela AMIs**  
Untuk meluncurkan instance Windows, AMI Windows harus mengaktifkan UEFI Secure Boot. *Untuk menemukan AMI AWS Windows yang telah dikonfigurasi sebelumnya untuk Boot Aman UEFI dengan kunci Microsoft, lihat [Temukan Windows Server yang AMIs dikonfigurasi dengan NitRotPM dan UEFI](https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/ami-windows-tpm.html#ami-windows-tpm-find) Secure Boot di Referensi Windows.AWS AMIs *

[Saat ini, kami tidak mendukung mengimpor Windows dengan UEFI Secure Boot dengan menggunakan perintah import-image.](https://docs.aws.amazon.com/cli/latest/reference/ec2/import-image.html)

## Tipe instans yang didukung
<a name="uefi-instance"></a>

Semua jenis instans virtual yang mendukung UEFI juga mendukung UEFI Secure Boot. Untuk tipe instans yang mendukung UEFI Secure Boot, lihat [Persyaratan untuk mode boot UEFI](launch-instance-boot-mode.md).

**catatan**  
Tipe instans bare metal tidak mendukung UEFI Secure Boot.

# Verifikasi apakah instans Amazon EC2 diaktifkan untuk Boot Aman UEFI
<a name="verify-uefi-secure-boot"></a>

Anda dapat menggunakan prosedur berikut untuk menentukan apakah Amazon EC2 diaktifkan untuk Boot Aman UEFI.

## Instans Linux
<a name="verify-uefi-secure-boot-linux"></a>

Anda dapat menggunakan utilitas `mokutil` untuk memverifikasi apakah instans Linux diaktifkan untuk UEFI Secure Boot. Jika `mokutil` tidak diinstal pada instans Anda, Anda harus menginstalnya. Untuk petunjuk penginstalan Amazon Linux 2, lihat [Menemukan dan menginstal paket perangkat lunak pada instans Amazon Linux 2](https://docs.aws.amazon.com/linux/al2/ug/find-install-software.html). Untuk distribusi Linux lainnya, lihat dokumentasi spesifiknya.

**Untuk memverifikasi apakah sebuah instans Linux diaktifkan untuk UEFI Secure Boot**  
Connect ke instance Anda dan jalankan perintah berikut seperti `root` pada jendela terminal.

```
mokutil --sb-state 
```

Berikut ini adalah output contoh.
+ Jika UEFI Secure Boot diaktifkan, output berisi `SecureBoot enabled`.
+ Jika UEFI Secure Boot tidak diaktifkan, output berisi `SecureBoot disabled` atau `Failed to read SecureBoot`.

## Instans Windows
<a name="verify-uefi-secure-boot-windows"></a>

**Untuk memverifikasi apakah sebuah instans Windows diaktifkan untuk UEFI Secure Boot**

1. Terhubung ke instans Anda.

1. Buka alat msinfo32.

1. Periksa bidang **Kondisi Secure Boot**. Jika UEFI Secure Boot diaktifkan, nilainya **Didukung**, seperti yang ditunjukkan pada gambar berikut.  
![\[Kondisi Secure Boot dalam Informasi Sistem.\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/images/secure-boot-state-win.png)

Anda juga dapat menggunakan Windows PowerShell Cmdlet `Confirm-SecureBootUEFI` untuk memeriksa status Boot Aman. Untuk informasi selengkapnya tentang cmdlet, lihat [Konfirmasi- SecureBoot UEFI di](https://learn.microsoft.com/en-us/powershell/module/secureboot/confirm-securebootuefi) Dokumentasi Microsoft.

# Buat AMI Linux dengan tombol Boot Aman UEFI kustom
<a name="create-ami-with-uefi-secure-boot"></a>

Petunjuk ini menunjukkan kepada Anda cara membuat AMI Linux dengan UEFI Secure Boot dan kunci pribadi yang dibuat khusus. Amazon Linux mendukung UEFI Secure Boot dimulai dengan AL2023 rilis 2023.1. Untuk informasi selengkapnya, lihat [Boot Aman UEFI aktif AL2023](https://docs.aws.amazon.com/linux/al2023/ug/uefi-secure-boot.html) di Panduan Pengguna *Amazon Linux 2023*.

**penting**  
Prosedur berikut ditujukan untuk **pengguna tingkat lanjut saja**. Anda harus memiliki pengetahuan yang cukup tentang alur boot distribusi SSL dan Linux untuk menggunakan prosedur ini.

**Prasyarat**
+ Alat-alat berikut akan digunakan:
  + OpenSSL – [https://www.openssl.org/](https://www.openssl.org/)
  + [efivar — efivar https://github.com/rhboot/](https://github.com/rhboot/efivar)
  + [efitools - https://git.kernel. org/pub/scm/linux/kernel/git/jejb/efitools.git/](https://git.kernel.org/pub/scm/linux/kernel/git/jejb/efitools.git/)
  + Perintah [get-instance-uefi-data](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-uefi-data.html)
+ Instans Linux Anda harus telah diluncurkan dengan AMI Linux yang mendukung mode boot UEFI, dan memiliki data non-volatile.

Instans yang baru dibuat tanpa kunci UEFI Secure Boot akan dibuat di `SetupMode`, yang memungkinkan Anda untuk mendaftarkan kunci Anda sendiri. Beberapa AMIs datang pra-konfigurasi dengan UEFI Secure Boot dan Anda tidak dapat mengubah kunci yang ada. Jika Anda ingin mengubah kunci, Anda harus membuat AMI baru berdasarkan AMI yang asli.

Anda memiliki dua cara untuk menyebarkan kunci di penyimpanan variabel, yang dijelaskan dalam Opsi A dan Opsi B di bawah ini. Opsi A menjelaskan bagaimana melakukan ini dari dalam instans, meniru aliran perangkat keras nyata. Opsi B menjelaskan cara membuat gumpalan biner, yang kemudian diteruskan sebagai file base64 saat Anda membuat AMI. Untuk kedua opsi, Anda harus terlebih dahulu membuat tiga pasang kunci, yang digunakan untuk rantai kepercayaan.

**Topics**
+ [Tugas 1: Buat pasangan kunci](#uefi-secure-boot-create-three-key-pairs)
+ [Tugas 2 - Opsi A: Tambahkan kunci ke toko variabel dari dalam instance](#uefi-secure-boot-optionA)
+ [Tugas 2 - Opsi B: Buat gumpalan biner yang berisi penyimpanan variabel yang telah diisi sebelumnya](#uefi-secure-boot-optionB)

## Tugas 1: Buat pasangan kunci
<a name="uefi-secure-boot-create-three-key-pairs"></a>

UEFI Secure Boot didasarkan pada tiga basis data utama berikut, yang digunakan dalam rantai kepercayaan: kunci platform (PK), kunci untuk pertukaran kunci (KEK), dan basis data (db) tanda tangan.¹

Anda membuat setiap kunci pada instans. Untuk menyiapkan kunci publik dalam format yang valid untuk standar UEFI Secure Boot, Anda membuat sertifikat untuk setiap kunci. `DER` mendefinisikan format SSL (pengodean biner suatu format). Anda kemudian mengonversi setiap sertifikat menjadi daftar tanda tangan UEFI, yang merupakan format biner yang dipahami oleh UEFI Secure Boot. Terakhir, Anda menandatangani setiap sertifikat dengan kunci yang relevan.

**Topics**
+ [Bersiap untuk membuat pasangan kunci](#uefisb-prepare-to-create-key-pairs)
+ [Pasangan kunci 1: Buat kunci platform (PK)](#uefisb-create-key-pair-1)
+ [Pasangan kunci 2: Buat kunci untuk pertukaran kunci (KEK)](#uefisb-create-key-pair-2)
+ [Pasangan kunci 3: Buat basis data (db) tanda tangan](#uefisb-create-key-pair-3)
+ [Tanda tangani gambar boot (kernel) dengan kunci privat](#uefi-secure-boot-sign-kernel)

### Bersiap untuk membuat pasangan kunci
<a name="uefisb-prepare-to-create-key-pairs"></a>

Sebelum membuat pasangan kunci, buat pengidentifikasi unik global (GUID) untuk digunakan dalam pembuatan kunci.

1. [Hubungkan ke instans.](connect.md)

1. Jalankan perintah berikut di prompt shell.

   ```
   uuidgen --random > GUID.txt
   ```

### Pasangan kunci 1: Buat kunci platform (PK)
<a name="uefisb-create-key-pair-1"></a>

PK adalah root kepercayaan untuk instans UEFI Secure Boot. PK privat digunakan untuk memperbarui KEK, yang nantinya dapat digunakan untuk menambahkan kunci resmi ke basis data (db) tanda tangan.

Standar X.509 digunakan untuk membuat pasangan kunci. Untuk informasi tentang standar yang digunakan, lihat [X.509](https://en.wikipedia.org/wiki/X.509) di *Wikipedia*.

**Untuk membuat PK**

1. Buat kunci. Anda harus memberi nama variabel `PK`.

   ```
   openssl req -newkey rsa:4096 -nodes -keyout PK.key -new -x509 -sha256 -days 3650 -subj "/CN=Platform key/" -out PK.crt
   ```

   Parameter berikut ditentukan:
   + `-keyout PK.key` – File kunci privat.
   + `-days 3650` – Jumlah hari sertifikat tersebut valid.
   + `-out PK.crt` – Sertifikat yang digunakan untuk membuat variabel UEFI.
   + `CN=Platform key` – Nama umum (CN) untuk kunci. Anda dapat memasukkan nama organisasi Anda sendiri alih-alih*Platform key*.

1. Buat sertifikat.

   ```
   openssl x509 -outform DER -in PK.crt -out PK.cer
   ```

1. Konversi sertifikat menjadi daftar tanda tangan UEFI.

   ```
   cert-to-efi-sig-list -g "$(< GUID.txt)" PK.crt PK.esl
   ```

1. Tanda tangani daftar tanda tangan UEFI dengan PK privat (yang ditandatangani sendiri).

   ```
   sign-efi-sig-list -g "$(< GUID.txt)" -k PK.key -c PK.crt PK PK.esl PK.auth
   ```

### Pasangan kunci 2: Buat kunci untuk pertukaran kunci (KEK)
<a name="uefisb-create-key-pair-2"></a>

KEK privat digunakan untuk menambahkan kunci ke db, yang merupakan daftar tanda tangan resmi untuk boot pada sistem. 

**Untuk membuat PK**

1. Buat kunci.

   ```
   openssl req -newkey rsa:4096 -nodes -keyout KEK.key -new -x509 -sha256 -days 3650 -subj "/CN=Key Exchange Key/" -out KEK.crt
   ```

1. Buat sertifikat.

   ```
   openssl x509 -outform DER -in KEK.crt -out KEK.cer
   ```

1. Konversi sertifikat menjadi daftar tanda tangan UEFI.

   ```
   cert-to-efi-sig-list -g "$(< GUID.txt)" KEK.crt KEK.esl
   ```

1. Tanda tangani daftar tanda tangan dengan PK privat.

   ```
   sign-efi-sig-list -g "$(< GUID.txt)" -k PK.key -c PK.crt KEK KEK.esl KEK.auth
   ```

### Pasangan kunci 3: Buat basis data (db) tanda tangan
<a name="uefisb-create-key-pair-3"></a>

Daftar db berisi kunci resmi yang diizinkan untuk di-boot pada sistem. Untuk memodifikasi daftar ini, diperlukan KEK privat. Gambar boot akan ditandatangani dengan kunci privat yang dibuat pada langkah ini.

**Untuk membuat PK**

1. Buat kunci.

   ```
   openssl req -newkey rsa:4096 -nodes -keyout db.key -new -x509 -sha256 -days 3650 -subj "/CN=Signature Database key/" -out db.crt
   ```

1. Buat sertifikat.

   ```
   openssl x509 -outform DER -in db.crt -out db.cer
   ```

1. Konversi sertifikat menjadi daftar tanda tangan UEFI.

   ```
   cert-to-efi-sig-list -g "$(< GUID.txt)" db.crt db.esl
   ```

1. Tanda tangani daftar tanda tangan dengan KEK privat.

   ```
   sign-efi-sig-list -g "$(< GUID.txt)" -k KEK.key -c KEK.crt db db.esl db.auth
   ```

### Tanda tangani gambar boot (kernel) dengan kunci privat
<a name="uefi-secure-boot-sign-kernel"></a>

Untuk Ubuntu 22.04, gambar berikut memerlukan tanda tangan.

```
/boot/efi/EFI/ubuntu/shimx64.efi
/boot/efi/EFI/ubuntu/mmx64.efi
/boot/efi/EFI/ubuntu/grubx64.efi
/boot/vmlinuz
```

**Untuk menandatangani gambar**  
Gunakan sintaksis berikut untuk menandatangani gambar.

```
sbsign --key db.key --cert db.crt --output /boot/vmlinuz /boot/vmlinuz
```

**catatan**  
Anda harus menandatangani semua kernel baru. *`/boot/vmlinuz`* biasanya akan symlink ke kernel yang terakhir diinstal.

Lihat dokumentasi distribusi Anda untuk menemukan rantai boot dan gambar yang diperlukan.

¹ Terima kasih kepada ArchWiki komunitas untuk semua pekerjaan yang telah mereka lakukan. Perintah untuk membuat PK, membuat KEK, membuat DB, dan menandatangani gambar berasal dari [Creating keys](https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface/Secure_Boot#Creating_keys), yang ditulis oleh Tim ArchWiki and/or Pemeliharaan kontributor. ArchWiki 

## Tugas 2 - Opsi A: Tambahkan kunci ke toko variabel dari dalam instance
<a name="uefi-secure-boot-optionA"></a>

Setelah Anda membuat [tiga pasang kunci](#uefi-secure-boot-create-three-key-pairs), Anda dapat terhubung ke instans Anda dan menambahkan kunci ke penyimpanan variabel dari dalam instans dengan menyelesaikan langkah-langkah berikut. Atau, selesaikan langkah-langkahnya[Tugas 2 - Opsi B: Buat gumpalan biner yang berisi penyimpanan variabel yang telah diisi sebelumnya](#uefi-secure-boot-optionB).

**Topics**
+ [Langkah 1: Luncurkan instans yang akan mendukung UEFI Secure Boot](#step1-launch-uefi-sb)
+ [Langkah 2: Konfigurasikan instans untuk mendukung UEFI Secure Boot](#step2-launch-uefi-sb)
+ [Langkah 3: Buat AMI dari instans](#step3-launch-uefi-sb)

### Langkah 1: Luncurkan instans yang akan mendukung UEFI Secure Boot
<a name="step1-launch-uefi-sb"></a>

Ketika Anda [meluncurkan sebuah instans](LaunchingAndUsingInstances.md) dengan prasyarat berikut, instans kemudian akan siap untuk dikonfigurasi untuk mendukung UEFI Secure Boot. Anda hanya dapat mengaktifkan dukungan untuk UEFI Secure Boot pada instans saat peluncuran; Anda tidak dapat mengaktifkannya nanti.

**Prasyarat**
+ **AMI** – AMI Linux harus mendukung mode boot UEFI. Untuk memverifikasi bahwa AMI mendukung mode boot UEFI, parameter mode boot AMI harus **uefi**. Untuk informasi selengkapnya, lihat [Tentukan parameter mode boot dari Amazon EC2 AMI](ami-boot-mode.md).

  Perhatikan bahwa AWS hanya menyediakan Linux yang AMIs dikonfigurasi untuk mendukung UEFI untuk jenis instans berbasis Graviton. AWS saat ini tidak menyediakan x86\$164 Linux AMIs yang mendukung mode boot UEFI. Anda dapat mengonfigurasi AMI Anda sendiri untuk mendukung mode boot UEFI untuk semua arsitektur. Untuk mengonfigurasi AMI Anda sendiri untuk mendukung mode boot UEFI, Anda harus melakukan sejumlah langkah konfigurasi pada AMI Anda sendiri. Untuk informasi selengkapnya, lihat [Mengatur mode boot Amazon EC2 AMI](set-ami-boot-mode.md).
+ **Tipe instans** – Semua tipe instans virtual yang mendukung UEFI juga mendukung UEFI Secure Boot. Tipe instans bare metal tidak mendukung UEFI Secure Boot. Untuk tipe instans yang mendukung UEFI Secure Boot, lihat [Persyaratan untuk mode boot UEFI](launch-instance-boot-mode.md).
+ Luncurkan instans Anda setelah rilis UEFI Secure Boot. Hanya instans yang diluncurkan setelah 10 Mei 2022 (saat UEFI Secure Boot dirilis) yang dapat mendukung UEFI Secure Boot.

Setelah Anda meluncurkan instans Anda, Anda dapat memverifikasi bahwa instans siap dikonfigurasi untuk mendukung UEFI Secure Boot (dengan kata lain, Anda dapat melanjutkan ke [Langkah 2](#step2-launch-uefi-sb)) dengan memeriksa apakah tersedia data UEFI. Keberadaan data UEFI menunjukkan bahwa data non-volatile tetap ada.

**Untuk memverifikasi apakah instans Anda siap untuk Langkah 2**  
Gunakan perintah [https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-uefi-data.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-uefi-data.html) dan tentukan ID instans.

```
aws ec2 get-instance-uefi-data --instance-id i-1234567890abcdef0
```

Instans siap untuk Langkah 2 jika data UEFI sudah tersedia dalam output. Jika output kosong, instans tidak dapat dikonfigurasi untuk mendukung UEFI Secure Boot. Hal ini dapat terjadi jika instans Anda diluncurkan sebelum dukungan UEFI Secure Boot tersedia. Luncurkan instans baru dan coba lagi.

### Langkah 2: Konfigurasikan instans untuk mendukung UEFI Secure Boot
<a name="step2-launch-uefi-sb"></a>

#### Daftarkan pasangan kunci di penyimpanan variabel UEFI Anda pada instans
<a name="step2a-launch-uefi-sb"></a>

**Awas**  
Anda harus menandatangani gambar boot Anda *setelah* Anda mendaftarkan kunci, jika tidak, Anda tidak akan dapat melakukan boot instans Anda.

Setelah Anda membuat daftar tanda tangan UEFI yang ditandatangani (`PK`, `KEK`, dan `db`), tanda tangan tersebut harus terdaftar ke firmware UEFI.

Penulisan ke variabel `PK` hanya dapat dilakukan jika:
+ Belum ada PK yang terdaftar, yang ditunjukkan jika variabel `SetupMode` nya `1`. Periksa ini dengan menggunakan perintah berikut. Outputnya adalah `1` atau `0`.

  ```
  efivar -d -n 8be4df61-93ca-11d2-aa0d-00e098032b8c-SetupMode 
  ```
+ PK yang baru ditandatangani oleh kunci privat dari PK yang ada.

**Untuk mendaftarkan kunci di penyimpanan variabel UEFI Anda**  
Perintah berikut harus dijalankan pada instans.

Jika SetupMode diaktifkan (nilainya`1`), kunci dapat didaftarkan dengan menjalankan perintah berikut pada instance:

```
[ec2-user ~]$ efi-updatevar -f db.auth db
```

```
[ec2-user ~]$ efi-updatevar -f KEK.auth KEK
```

```
[ec2-user ~]$ efi-updatevar -f PK.auth PK
```

**Untuk memverifikasi bahwa UEFI Secure Boot diaktifkan**  
Untuk memverifikasi bahwa UEFI Secure Boot diaktifkan, ikuti langkah-langkah di [Verifikasi apakah instans Amazon EC2 diaktifkan untuk Boot Aman UEFI](verify-uefi-secure-boot.md).

Anda sekarang dapat mengekspor penyimpanan variabel UEFI Anda dengan perintah CLI [https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-uefi-data.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-uefi-data.html), atau Anda melanjutkan ke langkah berikutnya dan menandatangani gambar boot Anda untuk boot ulang ke instans dengan UEFI Secure Boot diaktifkan.

### Langkah 3: Buat AMI dari instans
<a name="step3-launch-uefi-sb"></a>

Untuk membuat AMI dari instance, Anda dapat menggunakan konsol atau `CreateImage` API, CLI, atau. SDKs Untuk instruksi konsol, lihat [Buat AMI yang didukung Amazon EBS-Backed](creating-an-ami-ebs.md). Untuk petunjuk API, lihat [CreateImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateImage.html).

**catatan**  
API `CreateImage` secara otomatis menyalin penyimpanan variabel UEFI dari instans ke AMI. Konsol menggunakan API `CreateImage`. Setelah Anda meluncurkan instans menggunakan AMI ini, instans akan memiliki penyimpanan variabel UEFI yang sama.

## Tugas 2 - Opsi B: Buat gumpalan biner yang berisi penyimpanan variabel yang telah diisi sebelumnya
<a name="uefi-secure-boot-optionB"></a>

Setelah Anda membuat [tiga pasangan kunci](#uefi-secure-boot-create-three-key-pairs), Anda dapat membuat gumpalan biner yang berisi penyimpanan variabel yang telah diisi sebelumnya yang berisi kunci UEFI Secure Boot. Atau, selesaikan langkah-langkahnya[Tugas 2 - Opsi A: Tambahkan kunci ke toko variabel dari dalam instance](#uefi-secure-boot-optionA).

**Awas**  
Anda harus menandatangani gambar boot Anda *sebelum* mendaftarkan kunci, jika tidak, Anda tidak akan dapat melakukan boot instans Anda.

**Topics**
+ [Langkah 1: Buat penyimpanan variabel baru atau perbarui yang sudah ada](#uefi-secure-boot-create-or-update-variable)
+ [Langkah 2: Unggah gumpalan biner pada pembuatan AMI](#uefi-secure-boot-upload-binary-blob-on-ami-creation)

### Langkah 1: Buat penyimpanan variabel baru atau perbarui yang sudah ada
<a name="uefi-secure-boot-create-or-update-variable"></a>

Anda dapat membuat penyimpanan variabel *offline* tanpa instans yang berjalan dengan menggunakan python-uefivars. Alat ini dapat membuat penyimpanan variabel baru dari kunci Anda. Skrip saat ini mendukung EDK2 format, AWS format, dan representasi JSON yang lebih mudah diedit dengan perkakas tingkat yang lebih tinggi.

**Untuk membuat penyimpanan variabel offline tanpa instans yang berjalan**

1. Unduh alat di tautan berikut.

   ```
   https://github.com/awslabs/python-uefivars
   ```

1. Buat penyimpanan variabel baru dari kunci Anda dengan menjalankan perintah berikut. Ini akan membuat gumpalan biner berenkode base64 di.bin. *your\$1binary\$1blob* Alat ini juga mendukung pembaruan gumpalan biner melalui parameter `-I`.

   ```
   ./uefivars.py -i none -o aws -O your_binary_blob.bin -P PK.esl -K KEK.esl --db db.esl --dbx dbx.esl
   ```

### Langkah 2: Unggah gumpalan biner pada pembuatan AMI
<a name="uefi-secure-boot-upload-binary-blob-on-ami-creation"></a>

Gunakan [https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html) untuk meneruskan data penyimpanan variabel UEFI Anda. Untuk parameter `--uefi-data`, tentukan gumpalan biner Anda, dan untuk parameter `--boot-mode`, tentukan `uefi`.

```
aws ec2 register-image \
    --name uefi_sb_tpm_register_image_test \
    --uefi-data $(cat your_binary_blob.bin) \
    --block-device-mappings "DeviceName=/dev/sda1,Ebs= {SnapshotId=snap-0123456789example,DeleteOnTermination=true}" \
    --architecture x86_64 \
    --root-device-name /dev/sda1 \
    --virtualization-type hvm \
    --ena-support \
    --boot-mode uefi
```

# Buat gumpalan AWS biner untuk UEFI Secure Boot
<a name="aws-binary-blob-creation"></a>

Anda dapat menggunakan langkah-langkah berikut untuk mengkustomisasi variabel UEFI Secure Boot selama pembuatan AMI. KEK yang digunakan dalam langkah-langkah ini berlaku per September 2021. Jika Microsoft memperbarui KEK, Anda harus menggunakan KEK terbaru.

**Untuk membuat gumpalan AWS biner**

1. Buat daftar tanda tangan PK kosong.

   ```
   touch empty_key.crt
   cert-to-efi-sig-list empty_key.crt PK.esl
   ```

1. Unduh sertifikat KEK.

   ```
   https://go.microsoft.com/fwlink/?LinkId=321185
   ```

1. Bungkus sertifikat KEK dalam daftar tanda tangan UEFI (`siglist`).

   ```
   sbsiglist --owner 77fa9abd-0359-4d32-bd60-28f4e78f784b --type x509 --output MS_Win_KEK.esl MicCorKEKCA2011_2011-06-24.crt 
   ```

1. Unduh sertifikat db Microsoft.

   ```
   https://www.microsoft.com/pkiops/certs/MicWinProPCA2011_2011-10-19.crt
   https://www.microsoft.com/pkiops/certs/MicCorUEFCA2011_2011-06-27.crt
   ```

1. Hasilkan daftar tanda tangan db.

   ```
   sbsiglist --owner 77fa9abd-0359-4d32-bd60-28f4e78f784b --type x509 --output MS_Win_db.esl MicWinProPCA2011_2011-10-19.crt
   sbsiglist --owner 77fa9abd-0359-4d32-bd60-28f4e78f784b --type x509 --output MS_UEFI_db.esl MicCorUEFCA2011_2011-06-27.crt
   cat MS_Win_db.esl MS_UEFI_db.esl > MS_db.esl
   ```

1. Unified Extensible Firmware Interface Forum tidak lagi menyediakan file DBX. Mereka sekarang disediakan oleh Microsoft di GitHub. [Unduh pembaruan DBX terbaru dari repositori pembaruan Microsoft Secure Boot di secureboot\$1objects. https://github.com/microsoft/](https://github.com/microsoft/secureboot_objects)

1. Buka paket biner pembaruan yang ditandatangani.

   Buat `SplitDbxContent.ps1` dengan konten skrip di bawah ini. Atau, Anda dapat menginstal skrip dari [PowerShell Galeri](https://www.powershellgallery.com/packages/SplitDbxContent/1.0) menggunakan`Install-Script -Name SplitDbxContent`.

   ```
   <#PSScriptInfo
    
   .VERSION 1.0
    
   .GUID ec45a3fc-5e87-4d90-b55e-bdea083f732d
    
   .AUTHOR Microsoft Secure Boot Team
    
   .COMPANYNAME Microsoft
    
   .COPYRIGHT Microsoft
    
   .TAGS Windows Security
    
   .LICENSEURI
    
   .PROJECTURI
    
   .ICONURI
    
   .EXTERNALMODULEDEPENDENCIES
    
   .REQUIREDSCRIPTS
    
   .EXTERNALSCRIPTDEPENDENCIES
    
   .RELEASENOTES
   Version 1.0: Original published version.
    
   #>
   
   <#
   .DESCRIPTION
    Splits a DBX update package into the new DBX variable contents and the signature authorizing the change.
    To apply an update using the output files of this script, try:
    Set-SecureBootUefi -Name dbx -ContentFilePath .\content.bin -SignedFilePath .\signature.p7 -Time 2010-03-06T19:17:21Z -AppendWrite'
   .EXAMPLE
   .\SplitDbxAuthInfo.ps1 DbxUpdate_x64.bin
   #>
   
   
   # Get file from script input
   $file  = Get-Content -Encoding Byte $args[0]
   
   # Identify file signature
   $chop = $file[40..($file.Length - 1)]
   if (($chop[0] -ne 0x30) -or ($chop[1] -ne 0x82 )) {
       Write-Error "Cannot find signature"
       exit 1
   }
   
   # Signature is known to be ASN size plus header of 4 bytes
   $sig_length = ($chop[2] * 256) + $chop[3] + 4
   $sig = $chop[0..($sig_length - 1)]
   
   if ($sig_length -gt ($file.Length + 40)) {
       Write-Error "Signature longer than file size!"
       exit 1
   }
   
   # Content is everything else
   $content = $file[0..39] + $chop[$sig_length..($chop.Length - 1)]
   
   # Write signature and content to files
   Set-Content -Encoding Byte signature.p7 $sig
   Set-Content -Encoding Byte content.bin $content
   ```

   Gunakan skrip untuk membongkar file DBX yang ditandatangani.

   ```
   PS C:\Windows\system32> SplitDbxContent.ps1 .\dbx.bin
   ```

   Ini menghasilkan dua file — `signature.p7` dan`content.bin`. Gunakan `content.bin` pada langkah berikutnya.

1. Buat penyimpanan variabel UEFI menggunakan skrip `uefivars.py`.

   ```
   ./uefivars.py -i none -o aws -O uefiblob-microsoft-keys-empty-pk.bin -P ~/PK.esl -K ~/MS_Win_KEK.esl --db ~/MS_db.esl  --dbx ~/content.bin 
   ```

1. Periksa gumpalan biner dan penyimpanan variabel UEFI.

   ```
   ./uefivars.py -i aws -I uefiblob-microsoft-keys-empty-pk.bin -o json | less
   ```

1. Anda dapat memperbarui gumpalan dengan meneruskannya ke alat yang sama lagi.

   ```
   ./uefivars.py -i aws -I uefiblob-microsoft-keys-empty-pk.bin -o aws -O uefiblob-microsoft-keys-empty-pk.bin -P ~/PK.esl -K ~/MS_Win_KEK.esl --db ~/MS_db.esl  --dbx ~/content.bin
   ```

   Keluaran yang diharapkan

   ```
   Replacing PK
   Replacing KEK
   Replacing db
   Replacing dbx
   ```