web-dev-qa-db-ja.com

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

私はVirtualBox Guest AdditionsをDebian仮想マシン(Debian 7、Debian 8、Debian 9)にインストールするのに苦労しています。

50
ximbal

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

  1. ターミナルを開いて rootsu );になります。 Sudo を有効にしている場合は、たとえばSudo -i;見る - man Sudo すべてのオプション):

    su
    

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

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

  1. 更新 [〜#〜] apt [〜#〜] キャッシュ:

    apt-get update
    
  2. 最新のセキュリティアップデートをインストールします。

    このステップはすべてのパッケージをアップグレードするため、賢明にしてください。最初に次の手順を試してください。そうでない場合は十分に機能する可能性があります。次に、アップグレードを実行して再試行します。

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

    パッケージbuild-essentialおよびmodule-assistantは両方ともカーネルモジュールをコンパイルできる必要があるため、VirtualBox Linux Guest Additionsをインストールするときにそれらが必要です。したがって、このコマンドは、動作に必要なヘッダーとパッケージ(コンパイラーとライブラリー)を取得します。 VirtualBox Linux Guest Additionsをインストールした後、一部のパッケージとLinuxヘッダーが残ることに注意してください。これらは後で削除するかどうかに関係なく削除されます。私の場合は問題はありませんでしたが、システムを整頓するために、プレイ後にピックアップすることをお勧めします。

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

    m-a prepare
    
  5. Guest Additions ISOを挿入:

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

  6. 自動的にマウントされるはずですが、何らかの理由でマウントされません。

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

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

    reboot
    
60
ximbal

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
    

    /etc/apt/sources.list(またはより良いのは、stretch-backports.list内の/etc/apt/sources.list.dファイル)

  • 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行目のinstallの後に-t stretch-backportsを付けます)。

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

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

(これにより、VMで使用しているDebianのどのバージョンでも使用できるゲスト追加のバージョンがインストールされます、バージョンと一致しない場合がありますVM —しかし、ゲストの追加は引き続き正常に機能するはずです。)を実行しているVirtual Box

67
Stephen Kitt

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

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

5
pdp

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リポジトリを無効にします。

4
TimSC