Virtual box 設定メモ

2021.12.05 Debian bullseye
2022.09.05 Debian bullseye

1 インストール


Debian GNU/Linux Ver11.0 (bullseye)にvirtualboxをインストールするには、
次の手順で行う。(Oracleのサイトでダウンロードする必要はない)

まずfasttrackのkeyringをインストールする。

# apt install fasttrack-archive-keyring

/etc/apt/sources.listに次のリポリトジを追加する。

deb https://fasttrack.debian.net/debian-fasttrack/ bullseye-fasttrack main contrib
deb https://fasttrack.debian.net/debian-fasttrack/ bullseye-backports-staging main contrib

アップデート
# apt install fasttrack-archive-keyring

virtualboxのインストール
# apt install virtualbox


extension packのインストール
# apt install virtualbox-ext-pack

2 補足

 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

で接続可能。

3 ホスト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
これで、起動しておけば、次回ホストコンピュータに
ログインしたとき、エラーメッセージは出なくなる




VBoxManage list vms