Saya memutakhirkan dari Ubuntu 15.10 ke 16.04 dan sejak itu VirtualBox 5.0.18 tidak memulai VM saya lagi. Ia mengeluh bahwa 'vboxdrv' tidak dimuat. Jadi saya mencoba memuatnya dan mendapatkan kesalahan berikut:
$ sudo modprobe vboxdrv
modprobe: ERROR: could not insert 'vboxdrv': Required key not available
Saya percaya ini terkait dengan boot aman yang saya gunakan dan yang ingin saya terus gunakan. Sebenarnya dengan Ubuntu 15.10 boot aman dan VirtualBox berfungsi dengan baik.
Saya juga mencoba $ sudo apt-get --reinstall install virtualbox-dkms
yang berhasil membangun modul kernel tetapi tidak menyelesaikan masalah ini.
Adakah yang tahu bagaimana cara mendapatkan vboxdrv sambil tetap mengaktifkan boot aman?
Pembaruan 2 : Saya juga mencoba menjalankan sudo mokutil --disable-validation
. Saat menjalankan perintah ini, selama boot berikutnya saya diminta untuk menonaktifkan boot aman, tambahkan kunci atau hash dari disk. Karena saya tidak ingin menonaktifkan boot aman, sepertinya ini juga tidak menyelesaikan masalah saya. Saya juga ingin mengaktifkan UEFI untuk instalasi Windows paralel.
Catatan : Jika Anda tidak keberatan menonaktifkan boot aman, lihat Mengapa saya mendapatkan "kunci yang diperlukan tidak tersedia" ketika menginstal modul kernel pihak ke-3 atau setelah upgrade kernel? sebagai gantinya.
aptitude install virtualbox virtualbox-dkms
akan menandatangani modul dan meminta Anda kata sandi satu kali (?). Mulai ulang, masukkan konfigurasi MOK dan daftarkan kunci menggunakan kata sandi itu.Jawaban:
Sejak kernel versi 4.4.0-20, diberlakukan bahwa modul kernel yang tidak ditandatangani tidak akan diizinkan berjalan dengan Secure Boot diaktifkan. Karena Anda ingin menjaga Boot Aman, maka langkah logis berikutnya adalah menandatangani modul-modul tersebut.
Jadi mari kita coba.
Buat kunci penandatanganan
Opsi : untuk keamanan tambahan, lewati sakelar -node, yang akan meminta kata sandi. Kemudian sebelum melanjutkan ke langkah berikutnya, pastikan untuk melakukannya
export KBUILD_SIGN_PIN='yourpassword'
Masuk modul (vboxdrv untuk contoh ini, tetapi ulangi untuk modul lain
ls $(dirname $(modinfo -n vboxdrv))/vbox*.ko)
untuk fungsionalitas penuh)Konfirmasikan modul telah ditandatangani
Daftarkan tombol-tombol tersebut ke Secure Boot
yang akan meminta kata sandi untuk digunakan untuk mengonfirmasi impor di langkah berikutnya.
Nyalakan ulang dan ikuti instruksi untuk Mendaftar MOK (Kunci Pemilik Mesin). Ini contoh dengan gambar. Sistem akan reboot sekali lagi.
Konfirmasikan kunci terdaftar
Jika VirtualBox masih tidak memuat, itu mungkin karena modul tidak memuat (
sudo modprobe vboxdrv
akan memperbaikinya) atau bahwa kunci tidak ditandatangani. Cukup ulangi langkah itu dan semuanya akan bekerja dengan baik.Sumber: Artikel situs web terperinci untuk implementasi modul penandatanganan Fedora dan Ubuntu . @zwets untuk keamanan tambahan . @shasha_trn untuk menyebutkan semua modul .
Sumber daya tambahan: Saya membuat skrip bash untuk saya gunakan setiap kali
virtualbox-dkms
meningkatkan dan dengan demikian menimpa modul yang ditandatangani. Lihat vboxsign saya awalnya di GitHub .sumber
sudo apt install --reinstall virtualbox-dkms
sebelum mengikuti instruksi yang diberikan.KBUILD_SIGN_PIN
variabel lingkungan dengan benar ?export KBUILD_SIGN_PIN=password
danexport KBUILD_SIGN_PIN="password"
sebelum langkah 2 keduanya menghasilkanSSL error:0907B068:PEM routines:PEM_READ_BIO_PRIVATEKEY:bad password read: pem_pkey.c:117
Pada sistem saya, saya melakukan yang berikut untuk membuatnya berfungsi:
Jalankan mokutil:
Kemudian mokutil meminta saya untuk mengatur kata sandi untuk Manajer MOK. Setelah reboot PC BIOS menunjukkan dialog untuk mengkonfigurasi MOK Manager. Saya menonaktifkan SecureBoot dari dialog ini, ia meminta beberapa karakter dari kata sandi (mis. Masukkan karakter (5), dll).
Setelah mem-boot modul vboxdrv dimuat dengan benar.
Anehnya, mokutil masih menunjukkan SecureBoot diaktifkan:
sumber
Anda dapat menonaktifkan pemeriksaan validasi dengan
Setelah itu paket DKMS harus diinstal.
sumber
Saya mendapat kesalahan tentang vboxdrv setelah peningkatan juga. Tetapi ada masalah dengan versi lama (5.0.14) dari Paket Ekstensi Oracle VM VirtualBox. Saya mengunduh dan menginstal versi yang lebih baru (5.0.18) dari paket ini dan masalah hilang.
sumber
Baiklah jadi setelah sedikit pengujian saya cukup yakin ini adalah masalah boot yang aman.
Seperti jika diaktifkan maka ini dilemparkan:
Namun jika boot aman dinonaktifkan maka virtualbox dimuat dengan baik tanpa kesalahan.
Saya masih menetapkan BIOS sebagai UEFI.
sumber
Saya memiliki masalah yang sama hari ini, saya memiliki Windows 10 dan Ubuntu 15.10 pada dual boot dengan uefi diaktifkan pada Bios (saya tidak menonaktifkannya sehingga saya dapat menjalankan Windows yang sudah diinstal sebelumnya).
Setelah memutakhirkan ke Ubuntu 16.04 VirtualBox berhenti memuat VMs saya dengan pesan kesalahan yang sama:
Saya menduga masalah UEFI karena ketika memutakhirkan penginstal bertanya apakah saya ingin menonaktifkannya, yang saya jawab Tidak (Karena Ya dapat membuat Windows saya tidak dapat digunakan).
Apa yang saya lakukan adalah pergi ke Bios dan mengaktifkan dukungan untuk boot BIOS lama TANPA menonaktifkan boot aman.
Virtualbox berfungsi dengan baik sekarang.
Pembaruan : Sebagaimana @zwets menunjuk dengan benar di komentar, mengaktifkan modul lawas menyebabkan boot aman dinonaktifkan.
sumber