Virtual box 設定メモ

2025.09.14 Debian trixie  
2022.09.05 Debian bullseye
2021.12.05 Debian bullseye


Debian GNU/Linux Ver13.0 (trixie)がリリースされてまだ3週間たたないけど、Debian Ver13.0向けのvirtualboxが
用意されていた。インストールメモ

1 インストール

参考https://www.virtualbox.org/wiki/Downloads

/etc/apt/sources.listに次の理ポリと字を書き加える

deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] https://download.virtualbox.org/virtualbox/debian trixie contrib


Oracleの公開鍵をダウンロード

sudo gpg --yes --output /usr/share/keyrings/oracle-virtualbox-2016.gpg --dearmor oracle_vbox_2016.asc


インストール
sudo apt-get update
sudo apt-get install virtualbox-7.2

2 VirtualBox_Extension_Packのインストール

 https://www.virtualbox.org/wiki/Downloads  に VirtualBox_Extension_Packのダウンロード
のリンクもある。小さくてわかりにくいが Accept and download のアイコンをクリックしてダウンロードする。

 virtualboxを起動し、ファイル → ツール → Extensions でダウンロードしたVirtualBox_Extension_Packの
ファイルを指定してインストールする。




3 共有フォルダの設定

 ゲストOSがLinuxの場合
  (1)まずホスト側に共有フォルダを作成する
    例 mkdir /home/hogehoge/VM-Share
    (2) ゲスト側
     起動して、メニュー → デバイス →  Guest Additions CD イメージの挿入を クリック
          cp /media/cdrom0/VBoxLinuxAdditions.run  ~/
          sudo ./VBoxLinuxAdditions.run

4  Virtualbox on  Linux (ホストOSがLinuxに、virtualboxをインストール)してうまく動かないとき

(1)下のようなメッセージが出てゲストOSが止まってしまうとき


VirtualBox can't operate in VMX root mode. Please disable the KVM kernel extension, recompile your kernel and reboot (VERR_VMX_IN_VMX_ROOT_MODE).

「KVM kernel extension」 をコンパイルしてdisableにしろという意味らしいが、カーネルのコンパイルなんて
大昔、Debian Ver4.0 Woodyの時代にやったのが最後で忘れてしまった。で検索したらコンパイルしなくても
モジュールをoffにすればよいことがわかりました。参考   https://knowledge.f5.si/open.knowledge/view/162

まずlsmodで調べます。
$ lsmod |grep kvm
kvm_intel             413696  0
kvm                  1396736  1 kvm_intel
irqbypass              12288  1 kvm

次のファイルを作成し、
/etc/modprobe.d/blacklist-kvm.conf

中身は、
Intel CPUの場合
/etc/modprobe.d/blacklist-kvm.conf
blacklist kvm
blacklist kvm_intel
AMD CPUの場合
/etc/modprobe.d/blacklist-kvm.conf
blacklist kvm
blacklist kvm_am
とします。


initramfs を更新
$ sudo update-initramfs -u


再起動後、
$ lsmod | grep kvm
なにも出なければOK

(2) debian busterのころvirtualboxでゲストosをインストールしようと新規メニューをクリックしたら32bit OSしか選択肢がなかった。

 これはホストコンピュータの設定の問題。BIOSの設定を変更すると64bitOSの選択肢が出てくくるようになる。

 HPノートパソコン(Probook450 G5)の例
  SW on  → F10 連打 で (メイン セキュリティ 詳細の設定 UEFIドライバー)というメニューが出たら
  詳細の設定 → システムオプション を選択し、

   Virtualization Technology(VTx)とVirtualization Technology for Directed I/O(VTd) のチェックボックスにチェックを
 入れて再起動する。


(3) ホストからvirtualboxへsshで接続

設定 → ネットワーク で割当てがNATのところを ブリッジにすれば
IPアドレスがホストとゲストで別個に割り振られる。また、割り振ることが可能になる。
ホストのCPUとメモリ容量にもよるが、複数のゲストを起動してもそれぞれDHCPサーバから
別個のIPアドレスがもらえるので便利。


もし、デフォルトのNATのまま使う場合は、以下のようにする。
(ただし、以下の方法は複数のゲストOSを起動してゲストOS間でSSHとかできない)

ネットワークの割当てがNATになっている場合(デフォルトではNAT)は
以下のように設定

virtualbox上のosがsshポートを開放していてsshサーバが動くという前提で
ホストコンピュータからvirtualboxで動いているゲストosにsshで接続するには

まず歯車の設定アイコンをクリック

設定のアイコンをクリック

ネットワーク → 高度 → ポートフォワーディング の順にクリック

ネットワーク 高度な設定 ポートフォワーディングの順にクリック
ポートフォワーディングルールを追加する。
名前はssh プロトコルはTCP, IPアドレスはホストIPアドレスもゲストIPアドレスも空欄にしておく。
ホストポートは任意の値、ここでは2222、ゲストポートはsshなので22

ポートを設定する


接続は、ホスト側のターミナルから
 $ ssh  -p 2222 localhost

で接続可能。

(4) ホストOS起動時のエラーの対処

 Virtualboxで動くゲストOSを終了させないでホストをシャットダウンしたりすると、ホストOSを起動する度に下のようなエラー メッセージがでることがある。無視して使えるが、毎度このようなメッセージが出てしまうので対処方法をメモしておく。

コマンドラインを使用して、開始するマシンを指定する必要 があります。 使い方: virtualboxvm --startvm <name|uuid> virtualbox仮想マシン名または uuidを指定して開始します。


まず、コマンドラインで開始する仮想マシン(ゲストマシン名、複数あるときはどれかひとつ)を指定するのだが、
この名前はVirtualBoxマネージャーを開いたときの左側に出てくる。また次のコマンドで仮想マシンのリストが出て
くる。


$ VBoxManage list vms

"bullseye" {a310cbcd-66ec-4e51-b928-5a28304c8fb2}
"bullseye86" {73a46430-b359-4ac7-bebb-a80d8fd6b62b}
"Windows" {46ccedf2-cdd4-4c6f-a38d-e0da3cc006ff}


仮想マシン名がわかったらエラーメッセージにあるコマンドを実行する。
上の例では bullseyeとbullseye86,Windowsの3つのマシン名が出てきた。
どれかひとつ、例えばWindowsを選んで起動する。

$ VirtualBoxVM --startvm Windows
これで、起動しておけば、次回ホストコンピュータに
ログインしたとき、エラーメッセージは出なくなる


5 ホストOSをアップデートしたらvirtualboxが動かなくなったとき

 Debian Ver13 trixieを Ver13.0から13.1にしたらvirtualbox7.2が動かなくなった

対処方法

sudo apt remove --purge virtualbox-7.2
sudo apt dist-upgrade
sudo apt autoremove
sudo systemctl reboot
sudo apt-get install virtualbox-7.2
これでいつものように動くようになった 2025.09.14