Debian仮想マシンにVirtualBox Guest Additionsをインストールする方法


回答:


66

Debian 9のTL; DRバージョンは、ルートとして:

echo deb http://ftp.debian.org/debian stretch-backports main contrib > /etc/apt/sources.list.d/stretch-backports.list
apt update
apt install virtualbox-guest-dkms virtualbox-guest-x11 linux-headers-$(uname -r)

これで、VirtualBox Guest Additionsがインストールされました。

VirtualBoxはDebian 10では利用できず、buster-backportsどちらでも利用できません。Lucas Nussbaumには非公式のパッケージセットがあります。それらを使用したい場合は、彼の指示に従う必要があります(リンクのみ—リンクが有効でなくなった場合、パッケージもおそらく利用できないため、ここで指示をコピーしても意味がありません)。

より詳細には、Debianパッケージを使用したDebian 7、8、および9のソリューションを以下に示します。

  • Debian 7および8では、contribリポジトリを有効にします。たとえば、Debian 8の場合/etc/apt/sources.listは、次のようなものが含まれていることを確認してください

    deb http://ftp.debian.org/debian jessie main contrib
    
  • Debian 9では、contrib;でバックポートを有効にします。そのためには、次のような行を追加します

    deb http://ftp.debian.org/debian stretch-backports main contrib
    

    to /etc/apt/sources.list(またはそれ以上)のstretch-backports.listファイル/etc/apt/sources.list.d

  • install virtualbox-guest-dkms、カーネルヘッダー、およびオプションでvirtualbox-guest-x11(グラフィカルゲストユーティリティ用):

    sudo apt update
    sudo apt install virtualbox-guest-dkms virtualbox-guest-x11 linux-headers-$(uname -r)
    

    (Debian 9を使用している場合は、2行目に-t stretch-backportsafter installを使用します)。

それがありますすべての必要だということ-あなたはあなたのVMでゲストの追加をマウントするか、インストーラを実行する必要はありません。Vagrantfile(またはVMのプロビジョニングに使用するもの)に3行のシェル呼び出しを追加して、それらを忘れることができます。

virtualbox-guest-dkmsパッケージをインストールすると、適切なカーネルモジュールが自動的にビルドされ(カーネルのアップグレード時に再ビルドされます)、ゲストの追加がインストールされます。

(これにより、VMで使用しているDebianのバージョンで利用可能なゲスト追加のバージョンがインストールされます。これは、VMを実行しているVirtual Boxのバージョンと一致しない場合があります。


1
Debian 8.3-3.16.0-4-amd64-3.16.51-3(2017-12-13)で動作確認済みapt-get install --no-installでX-11を追加せずに「サーバーのみ」追加をインストールできます-recommends virtualbox-guest-utils virtualbox-guest-dkms linux-headers-$(uname -r)
マルコロッシ

効率的なインストールに関する非常に貴重な情報! ゲストの追加はインストールされていないがフォルダーが指定されているため、共有フォルダーで迷走エラーが発生し続けるため、superuser.com / a / 1025183/187346でRichardが提案したvagrant-vbguestを使用することを選択しました。
コリン

54

Linux Debian仮想マシンにVirtualBox Guest Additionsをインストールするには、次の手順に従います。

  1. ターミナルを開いてrootsu)になります。あなたがしている場合はsudo有効になって、あなたはまた、例えば行うことができますsudo -iman sudoすべてのオプションを参照してください):

    su
    

ルートパスワードを入力してEnterキーを押します

またはsudo -s、インストールしていて、ログインしているユーザーに必要な権限がある場合に使用できます...

  1. APTキャッシュを更新します。

    apt-get update
    
  2. 最新のセキュリティ更新プログラムをインストールします。

    このステップはすべてのパッケージをアップグレードするので、賢明です。以下の手順を最初に試してみてください。うまくいかない場合は、アップグレードしてから再試行してください。

    apt-get upgrade
    
  3. これらの必要なパッケージをインストールします。

    パッケージbuild-essentialmodule-assistantは両方ともカーネルモジュールをコンパイルできるようにするために必要なため、VirtualBox Linuxゲスト追加機能をインストールする際にはそれらが必要です。そのため、このコマンドは、動作に必要なヘッダーとパッケージ(コンパイラーとライブラリー)を取得します。VirtualBox Linux Guest Additionsをインストールした後、いくつかのパッケージとLinuxヘッダーが残されることに注意してください。これらは後で削除してもしなくてもかまいません。私の場合、彼らは怪我をしませんでしたが、システムの整頓のために、プレイ後に拾いたいと思うかもしれません。

    apt-get install build-essential module-assistant
    
  4. カーネルモジュールを構築するためにシステムを構成します。

    m-a prepare
    
  5. ゲスト追加ISOの挿入:

    [ デバイス ]メニューを展開し、[ ゲスト追加CDイメージの挿入 ]をクリックします

  6. 自動的にマウントされますが、何らかの理由でマウントされない場合:

    mount /media/cdrom
    
  7. 次のスクリプトを実行します。

    sh /media/cdrom/VBoxLinuxAdditions.run
    
  8. システムを再起動します。

    reboot
    

3
これはDebianの9のために働く
Ortomala Lokni

1
Debian 9では、これにより「現在のLinuxカーネルのソースが見つかりません」というエラーメッセージが表示されました。
user2800708

2
カーネルヘッダーがありません。試してくださいsudo apt-get update && sudo apt-get install linux-headers-`uname -r`
ximbal

また、最新のvirtualboxがインストールされていることを確認してください
Hayden Thring

2
このコマンドm-a preparelinux-headersパッケージをプルする必要があります。Debian9のインストールではすべての指示が正常に機能します。
アレマーニ

5

DebianリポジトリからVirtualBoxゲストアドオンをインストールする代わりに、ベンダーのソースを使用することもできます。リポジトリは、ベンダーからのソースが最新の機能とセキュリティ更新を持っている間、より古く、より安定したコードを提供することが期待されています。

VirtualBox 5.0.30およびOS X 10.11.6を使用して、Linuxカーネル4.9.0-4を実行しているDebian 9.4ゲストで次の手順を正常に試行しました。最初に、ゲストアドオンISOイメージを仮想マシンに接続してから起動します。起動後、イメージのコンテンツはで利用可能になります/media/cdrom0/。まず、インストールする必要がある2つのパッケージとその依存関係があります。

$ sudo apt-get install linux-headers-$(uname -r) build-essential

次に、ベンダー提供のスクリプトを実行して、必要なカーネルモジュールをビルドおよびインストールします。

$ cd /media/cdrom0/
$ sudo sh VBoxLinuxAdditions.run

仮想マシンを再起動してお楽しみください!


4

Debian 9では、virtualbox-guest-dkmsパッケージは不安定(sid)リポジトリにあります。

  • これを追加/etc/apt/sources.list

    deb http://http.us.debian.org/debian sid main non-free contrib
    
  • リポジトリの更新とパッケージのインストール

    sudo apt-get update
    sudo apt-get install virtualbox-guest-dkms
    
  • 必要に応じて、不要なパッケージの更新があるため、sidリポジトリを無効にします。


これは、仮想マシンを再起動した時点まで機能しているように見えました。復旧した後、現在のホストディレクトリを/vagrantVM にマウントする代わりに、「rsync」dのままです。そのマウントがゲストの追加を望んでいた理由であるため、まだ事実上​​壊れています。
-offby1

ストレッチバックポートは通常、sidを使用するよりも望ましいとは言えませんか?
カールバーテル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.