vboxdrv.sh: başarısız: modprobe vboxdrv başarısız oldu. Lütfen nedenini öğrenmek için 'dmesg' kullanın

27

Ubuntu dizüstü bilgisayarımda VirtualBox'ı çalıştırırken sorun yaşıyorum. Dizüstü bilgisayarım çift önyükleme ve çalıştırıyor (Windows 10 - sanırım yıllardır kullanmadım), Ubuntu 16.0.4 LTS.

Dizüstü bilgisayarımın BIOS ayarlarında güvenli açılış etkin.

Burada yayınlanan benzer soruların, özellikle şu iki şeyin olduğunun farkındayım:

Bu iki soru için cevap bölümlerinde verilen tüm talimatları izledim - yine de sorun çözülmemiş olarak kalır.

Sanal kutuyu çalıştırmayı denediğimde konsol çıktısı şöyledir:

[email protected]:~$ virtualbox
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
         available for the current kernel (4.4.0-47-generic) or it failed to
         load. Please recompile the kernel module and install it by

           sudo /sbin/vboxconfig

         You will not be able to start VMs until this problem is fixed.

Burada önerildiği gibi /sbin/vboxconfig çalıştırdığımda konsol çıkışı:

[email protected]:~$ sudo /sbin/vboxconfig  
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
vboxdrv.sh: failed: modprobe vboxdrv failed. Please use 'dmesg' to find out why.

There were problems setting up VirtualBox.  To re-start the set-up process, run
  /sbin/vboxconfig
as root.

İşte dmesg çıktısının kuyruk sonu:

[   44.319682] audit: type=1400 audit(1491313982.374:11): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/bin/evince-previewer" pid=705 comm="apparmor_parser"
[   45.041433] cgroup: new mount options do not match the existing superblock, will be ignored
[   59.682936] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[   59.697820] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[   59.702008] IPv6: ADDRCONF(NETDEV_UP): enp2s0f0: link is not ready
[   60.267000] IPv6: ADDRCONF(NETDEV_UP): enp2s0f0: link is not ready
[   62.473044] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[   70.681706] audit_printk_skb: 60 callbacks suppressed
[   70.681709] audit: type=1400 audit(1491314008.734:32): apparmor="STATUS" operation="profile_load" profile="unconfined" name="docker-default" pid=2009 comm="apparmor_parser"
[   70.850936] aufs 4.x-rcN-20160111
[   75.407218] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[   75.408555] Bridge firewalling registered
[   75.427172] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[   75.848416] ip_tables: (C) 2000-2006 Netfilter Core Team
[   76.703232] Initializing XFRM netlink socket
[   77.060003] IPv6: ADDRCONF(NETDEV_UP): docker0: link is not ready
[   80.101042] aufs au_opts_verify:1597:dockerd[1402]: dirperm1 breaks the protection by the permission bits on the lower branch
[  113.895236] wlp3s0: authenticate with 84:16:f9:77:e1:54
[  113.910483] wlp3s0: send auth to 84:16:f9:77:e1:54 (try 1/3)
[  113.912712] wlp3s0: authenticated
[  113.915101] wlp3s0: associate with 84:16:f9:77:e1:54 (try 1/3)
[  113.919397] wlp3s0: RX AssocResp from 84:16:f9:77:e1:54 (capab=0x1411 status=0 aid=1)
[  113.919516] wlp3s0: associated
[  113.919559] IPv6: ADDRCONF(NETDEV_CHANGE): wlp3s0: link becomes ready

Şimdi, yalan söyleyemem - kesinlikle hiçbir fikrim yok dmesg 'in ne yeni ortaya çıktığını - ve anlayabildiğim kadarıyla, günlük çıktısında hata mesajları yok - durumu daha da kızdırıyor.

Hiç kimse, Ubuntu 16.0.4 LTS çalıştıran bir dizüstü bilgisayarda VirtualBox 5.x'i kurdu, ancak BIOS'ta güvenli açılış etkinleştirilmişti ? - evet ise, çözüm nedir. ???!

Pek çok insanın bu sorunu var - hatta birkaç yıl öncesine gidiyor. Kimsenin bunun için bir çözümü olmadığı çok garip - ???

    
sordu Homunculus Reticulli 04.04.2017 16:14

2 cevap

29
  

VirtualBox + Güvenli Önyükleme + Ubuntu = başarısız

     

Sorun, tüm çekirdek modüllerinin imzalanması gerekliliğidir.   UEFI sistemi tarafından güvenilen bir anahtar ile, aksi takdirde yükleme başarısız olur.   Ubuntu üçüncü parti vbox * çekirdek modüllerini imzalamadı, aksine   kullanıcıya kurulumdan sonra Güvenli Önyüklemeyi devre dışı bırakma seçeneğini sunar.   sanal kutu paketi. Bunu yapabilirdim ama sonra bir   her defasında "güvensiz modda önyükleme" mesajı   başlar ve ayrıca çift önyükleme Windows 10 yüklemesi   işlev yok.

     

Ubuntu 16.04, BIOS A18 ile bir Dell Latitude E7440 ve çift önyükleme Windows 10 yüklemesi ile.

     

Kredi, çözmek için kullandığım birincil bilgi kaynağına gider   Özellikle Fedora / Redhat için geçerli olan bu sorun:    İşte

     

Ve ilgili bir Ask Ubuntu sorusu:    Ubuntu 16.04'e yükseltildikten sonra 'vboxdrv' yüklenemedi (ve güvenli açılış tutmak istiyorum)

     

Özel olarak Ubuntu / Debian

için çalışmasını sağlayacak adımlar      
  1. Sanal kutu paketini yükleyin. Yükleme, Güvenli Önyüklemenin etkin olduğunu algılarsa, elinizdeki sorunla birlikte sunulur.   ve Güvenli Önyükleme'yi devre dışı bırakma seçeneği verildi. “Hayır” ı seçin.

  2.   
  3. Çekirdek modüllerini imzalamak için kullanılacak kişisel bir kamu / özel RSA anahtar çifti oluşturun. Kök hesabı ve dizini kullanmayı seçtim   / çekirdek / modül imzalama / çekirdek çekirdeği ile ilgili her şeyi saklamak   modüller.

    $ sudo -i
    # mkdir /root/module-signing
    # cd /root/module-signing
    # openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=YOUR_NAME/"
    [...]
    # chmod 600 MOK.priv
    
  4.   
  5. Genel anahtarı almak için MOK (“Makine Sahibi Anahtarı”) yardımcı programını kullanın, böylece sistem tarafından güvenilebilir. Bu iki adımlı bir süreç   Anahtarın ilk alındığı yer ve daha sonra kaydedileceği zaman   Makine bir dahaki sefere açılır. Basit bir şifre yeterlidir,   sadece geçici kullanım için olduğu gibi.

    # mokutil --import /root/module-signing/MOK.der
    input password:
    input password again:
    
  6.   
  7. Makineyi yeniden başlatın. Bootloader başladığında, MOK yöneticisi EFI yardımcı programı otomatik olarak başlamalıdır. Bölümleri için soracaktır   3. adımda verilen şifre. “MOK Kaydet” seçeneğini işaretleyiniz.   3. adımda içe aktarılan anahtarı bakın. Kayıt adımlarını tamamlayın, ardından   botla devam et. Linux çekirdeği, anahtarları   yüklendi ve kendi anahtarınızı şu komutla görebilmeniz gerekir:   % Co_de%

  8.   
  9. Çekirdek oluşturma dosyaları ile birlikte gönderilen bir imzalama yardımcı programı kullanarak, 2. adımda oluşturulan özel MOK anahtarını kullanarak tüm VirtualBox modüllerini imzalayın.   Bunu dmesg|grep 'EFI: Loaded cert' küçük bir betik içine koydum, bu yüzden düzenli güncellemelerin bir parçası olarak yeni çekirdekler kurulduğunda kolayca çalıştırılabilir:

    #!/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
    
         

    Ve sonra:

    # chmod 700 /root/module-signing/sign-vbox-modules
    
  10.   
  11. Komut dosyasını 5. adımdan root olarak çalıştırın. Her seferinde yeni bir çekirdek güncellemesi kurulduğunda imzalama komut dosyasını çalıştırmanız gerekecek   Üçüncü taraf VirtualBox modüllerinin yeniden oluşturulmasına neden olur. Kullan   sadece yeni çekirdek başlatıldıktan sonra betik   Hangi çekirdek sürümünün imzalanacağını söylemek için /root/module-signing/sign-vbox-modules ve modinfo -n .

  12.   
  13. Vboxdrv modülünü yükle ve VirtualBox'u başlat:

    # modprobe vboxdrv
    
  14.   

Prosedür, diğer üçüncü taraf çekirdeğini de imzalamak için de kullanılabilir   gerekiyorsa, nvidia grafik sürücüleri gibi modüller. (Sahibim   kendim test edilmedi.)

Not: Yukarıdaki yanıt, Øyvind Stegard'ın blog yazısından tamamen alındı. VirtualBox + Güvenli Önyükleme + Ubuntu = başarısız .

    
verilen cevap Android Dev 04.04.2017 16:24
6

Yukarıdaki cevap muhtemelen iyi çalışıyor, ancak bunun için daha kolay bir zaman isterseniz:

Bunu çözebildim

BIOS’a önyükleme yaparak & gt; gelişmiş (f7) & gt; önyükleme & gt; "güvenli önyükleme" ye & gt; "Windows EUFI modunu" "diğer işletim sistemi" olarak değiştirin

Sanal kutum şimdi mükemmel çalışıyor.

    
verilen cevap Lee Gildemeester 19.04.2018 03:27

Etiketlerdeki diğer soruları oku