Cara Menjalankan VirtualBox Pada Perangkat yang Secure Boot-nya Aktif di Ubuntu


Selamat datang kembali di ChotibulStudio. Pada artikel kali ini saya ingin berbagi tips dan trik cara menjalankan VirtualBox dengan secure boot aktif di Ubuntu.

VirtualBox menjadi salah satu aplikasi yang memberikan solusi yang sangat praktis untuk kita.

Kita tidak perlu mengeluarkan biaya tambahan untuk membeli perangkat tertentu hanya untuk mencoba sistem operasi terbaru. Cukup menggunakan perangkat keras yang ada. Jika perlu, mungkin Anda bisa menyesuaikan sedikit agar terasa nyaman saat dioperasikan.

Akan tetapi, seiring dengan perkembangan serta bertambahnya kebutuhan komputasi terkini, ada kalanya Anda dituntut untuk melakukan beberapa konfigurasi tambahan agar VirtualBox tetap berjalan dengan baik. Terkhusus bagi Anda pengguna sistem operasi terkini yang mengharuskan secure boot aktif.

Perlu Anda ketahui bahwa VirtualBox tidak bisa menjalankan mesin virtual ketika secure boot aktif.

Solusi paling mudah adalah tentu saja dengan menonaktifkan secure boot di BIOS.

Akan tetapi bagi Anda pengguna Ubuntu atau sistem operasi  yang merekomendasikan pengaturan secure boot untuk tetap aktif, mungkin Anda memerlukan tips pada artikel ini.

Sanggahan

Seperti yang tertulis di judul. Artikel ini memang saya khususkan untuk sistem operasi Ubuntu atau sistem operasi dari turunan Debian. Tidak untuk sistem operasi lain seperti Windows 11.

Sekedar informasi. Windows 11 menjadi salah satu sistem operasi yang merekomendasikan penggunanya untuk tetap mengaktifkan secure boot.

Saya memang menggunakan Windows 11 sebagai sistem operasi kedua dan itupun dengan mekanisme dualboot dengan Ubuntu. Jadi, sampai tulisan ini saya buat, saya belum pernah memasang VirtualBox di Windows 11.

Permasalahan utama yang coba saya angkat di artikel ini adalah VirtualBox tidak bisa menjalankan mesin virtual di atasnya saat pengaturan secure boot ini aktif, ya. VirtualBox-nya tetap bisa berjalan meskipun dengan pengaturan secure boot yang aktif.

Jadi, saya akan mencoba memberikan tips agar mesin virtual yang berjalan di atas VirtualBox dengan pengaturan secure boot aktif bisa dijalankan.

Jangan lupa untuk menyiapkan secangkir kopi agar fikiran Anda tetap fokus!

Menjalankan VirtualBox dengan secure boot aktif di Ubuntu

Pertanyaan yang sering ditanyakan adalah "Apakah bisa memasang Ubuntu di perangkat yang pengaturan secure boot-nya aktif?".

Saya dengan yakin akan menjawab "Tentu saja, bisa!".

Perangkat saya terpasang dua sistem operasi secara dual boot; yaitu Windows 11 dan Ubuntu 22.04.2 LTS. Dimana Windows 11 lebih dulu terpasang (bawaan perangkat) dari Ubuntu.

Bagi Anda yang tidak ingin menonaktifkan secure boot, tapi tetep menginginkan mesin virtual di atas VirtualBox masih bisa berjalan baik, Anda memerlukan pengaturan tambahan.

Pengaturan tambahan yang diperlukan adalah Anda perlu menandatangani beberapa modul kernel bawaan VirtualBox agar bisa berjalan di atas perangkat dengan pengaturan scure boot aktif.

Persiapan penandatanganan modul kernel VirtualBox

Agar fungsi virtualisasi VirtualBox bisa digunakan, VirtualBox akan menanamkan beberapa modul ke dalam kernel sistem operasi. Proses penanaman modul tersebut terjadi saat proses pemasangan VirtualBox.

Karena proses penanaman modul tersebut terjadi pada saat proses pemasangan VirtualBox, bukan pada saat pemasangan sistem operasi, maka Anda memerlukan tambahan langkah untuk menandatangani modul-modul yang baru terpasang itu.

Untuk menandatangani kernel modul bawaan VirtualBox, kita memerlukan beberapa perkakas;

  • OpenSSL; perkakas yang Anda perlukan untuk penerbitan tanda tangan.
  • Mokutil; perkakas yang digunakan untuk memanipulasi kunci kepemilikan mesin.
  • Beberapa baris kode yang perlu Anda eksekusi saat sistem memperbarui kernel utama (kernel Linux).

Beruntung, perkakas OpenSSL dan Mokutil sudah tersedia sebagai paket bawaan Ubuntu 22.04.2 LTS. Kita bisa lewati proses pemasangan keduanya.

Tapi, bagi Anda yang penasaran bagaimana proses memasang kedua paket tersebut, Anda bisa mengeksekusi perintah ini.

$ sudo apt install openssl mokutil

Buatlah sebuah direktori khusus untuk menyimpan kunci RSA untuk penandatanganan modul VirtualBox. Eksekusi perintah berikut.

$ sudo mkdir /root/nama-direktori

Setelah direktori dibuat, silakan masuk ke direktori tersebut.

$ sudo cd /root/nama-direktori/

Penerbitan sertifikat untuk penanda tanganan modul VirtualBox

Proses penerbitan sertifikat untuk penandatanganan modul VirtualBox sangat bergantung dengan OpenSSL. Pastikan OpenSSL sudah terpasang dengan baik, ya.

Eksekusi perintah berikut untuk menerbitkan kunci RSA.

$ sudo openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VirtualBox/"

Setelah mengeksekusi perintah tersebut, kini Anda sudah memiliki 2 berkas kunci RSA; MOK.priv dan MOK.der yang nantinya digunakan untuk menandatangani modul kernel VirtualBox.

Ubah hak akses kunci privat dengan mengeksekusi perintah berikut.

$ sudo chmod 600 MOK.priv

Impor kunci dengan paket Mokutil

Proses impor kunci publik ke sistem bisa Anda lakukan dengan bantuan paket Mokutil agar dipercaya oleh sistem. Ini adalah proses dua langkah, di mana kunci pertama kali diimpor dan kemudian kunci harus didaftarkan saat perangkat di-but ulang.

Eksekusi perintah berikut untuk mengimpor kunci publik.

$ sudo mokutil --import MOK.der
input password:
input password again:

Sistem akan meminta kata sandi untuk otentikasi saat pendaftaran kunci setelah perangkat di-but ulang, nanti. Cukup masukkan kata sandi sederhana yang mudah diingat, karena hanya untuk penggunaan sementara.

Setelah proses impor selesai, silakan but ulang perangkat Anda hingga sampai pada tampilan layar biru Perform MOK Management.

Tampilan Perform MOK Management
Tampilan Perform MOK Management. Gambar oleh user993560 from Askubuntu.com


Pada tampilan layar biru Perform MOK Management;

  1. Pada tampilan Perform MOK Management, pilih Enroll MOK.
  2. Sistem akan menampilkan daftar kunci yang terpasang di sistem. Pilih Continue.
  3. Sistem akan memastikan kembali apakah Anda akan memasang kunci tersebut atau tidak. Pilih Yes.
  4. Masukkan kata sandi yang sudah Anda atur saat impor kunci.
  5. Anda akan dibawa pada jendela akhir The system must now be rebooted. Pada pilihan OK, tekan tombol Enter.

Sistem akan but kembali seperti semua.

Skrip penandatanganan modul kernel

Skirip ini sangat berguna saat kernel baru dipasang oleh sistem. Jadi, setiap rilis kernel baru dipasang oleh sistem, Anda tinggal mengeksekusi skrip ini untuk menandatangani kembali agar tetap bisa dimuat oleh kernel baru.

Untuk membuat berkas untuk skrip baru, eksekusi perintah berikut.

$ sudo nano sign-vbox-modules

Kemudian salin-tempel skrip berikut pada editor nano yang sudah siap untuk diedit.

#!/bin/bash
for modfile in $(dirname $(modinfo -n vboxdrv))/*.ko; do
  echo "Signing $modfile"
  /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
                                /root/module-signing/MOK.priv \
                                /root/module-signing/MOK.der "$modfile"
done

Simpan kemudian ubah hak aksesnya agar bisa dieksekusi.

$ sudo chmod 700 sign-vbox-modules

Eksekusi berkas sign-vbox-modules dengan perintah berikut.

$ sudo ./sign-vbox-modules

Terkahir, muat modul vboxdrv dan jalankan VirtualBox. Eksekusi perintah berikut.

$ sudo modprobe vboxdrv

Sampai pada langkah ini, VirtualBox yang berjalan di atas perangkat dengan pengaturan secure boot aktif sudah bisa menjalankan mesin virtualnya dengan baik.

Berikut beberapa langkah jika suatu ketika kernel sistem Anda perbarui oleh APT;

  1. Setelah kernel Linux baru dipasang oleh sistem, Anda harus menyalakan ulang perangkat Anda. Hal itu untuk memastikan kernel terbaru telah dimuat dengan baik oleh sistem. Jika Anda tidak ingin menyalakan ulang perangkat, ada baiknya jangan mengeksekusi berkas sign-vbox-modules.
  2. Setelah sistem berhasil but ulang, ada baiknya Anda memastikan versi kernel terkini dengan perintah modinfo -n dan uname -r.
  3. Eksekusi berkas sign-vbox-modules hanya ketika kedua poin di atas sudah benar-benar Anda pastikan.

Sampai pada langkah ini, Anda sudah mengetahui cara menjalankan VirtualBox dengan secure boot aktif di Ubuntu.

Demikian artikel yang dapat saya bagikan. Semoga bisa memberikan manfaat, khususnya untuk saya pribadi, Anda dan orang-orang yang Anda cintai. 

Referensi

VirtualBox + Secure Boot + Ubuntu = fail, tersedia secara daring di https://stegard.net/2016/10/virtualbox-secure-boot-ubuntu-fail/.

Installing Oracle Virtualbox 6.0 on UEFI System with Secure Boot enabled, tersedia secara daring di https://askubuntu.com/a/1190956.

Komentar

Postingan populer dari blog ini

Implementasi IPv6 TunnelBroker untuk Server WordPress Self Host

Daftar Rekomendasi Repositori Lokal Debian 11 "Bullseye"

Koneksi Internet Bermasalah di Ubuntu 18.04, Berikut Cara Memperbaikinya