Top > Ubuntu > VirtualBox

Ubuntu をゲスト・ホストOSにして VirtualBox を使ってみる

  • 対象OS : Ubuntu 7.10 (ホストOS : Ubuntu Desktop / ゲストOS : Ubuntu Server)
  • 確認日 : 2008/04/01 (日付はアレですが、嘘ではないです (^Q^ )
    • このページは Debian/Settings/VirtualBox のコピーです。
      • Ubuntu 8.04 LTS においては、VirtualBox 1.6.0 にて検証しています。7.10 と書いてあるところでも、8.04 に関する追記がない限り、同じ手法が使えます。(2008/05/15)

VirtualBox に関するパッケージ

Ubuntu Desktop 7.10 では標準で VirtualBox-OSE Ver.1.5.0 を入手可能なようです。

$ sudo apt-get update
$ sudo apt-get install virtualbox-ose
  • Ubuntu Desktop 8.04 の VirtualBox-OSE は少し問題がある状況のため、下記からダウンロードしてください (2008/05/02 現在)
    • VirtualBox 1.5.6 for Ubuntu 8.04 LTS (← 後述する tun/tap/br といったネットワークブリッジが重く使い物になりません。1.6.0 以降推奨です)
    • Downloads から「Binaries (all platforms) 」のリンク先にジャンプし、OS を選んでいくと 1.6.0 以降の最新版が入手できます。

Ubuntu Server を入れてみる

 Virtual PC 200x や VMware Player ではゲストOSとして問題なく動作する Ubuntu Serverですが、現状の VirtualBox ではインストール完了直後の再起動でカーネルがこけてインストールに失敗します。

こけたときのメッセージは以下の通りです。

PANIC: CPU too old for this kernel.

これは Ubuntu Server 7.10 の Linux Kernel が PAEを有効にしていることが原因と思われます(VirtualBoxはPAE、32bitOSで4GB->64GBまで利用可能メモリを拡張する機能が使えないらしい)。

ということで、Ubuntu Server の CD-R からレスキューモードで起動します。 メニューから Rescue a broken system を選択し、 /dev/sda1 などのインストール先を指定し、以下のコマンドを実行します。サーバー用カーネルを 386 用カーネルに差し替えするわけですね。

# apt-get update
# apt-get install linux-386
# apt-get remove linux-server

(参考にしたページ : http://blog.livedoor.jp/leaf_hiro/archives/51092878.html )

ゲストOSのUbuntu Server を外のマシンから操作する準備

 VirtualPC や VMware とは異なり、VirtualBox そのものには「自らをブリッジ接続」させる機能はありません。ゲスト OS をサーバーとして使いたい場合はここがネックになります。よって、OS側で TAP という VirtualBox 特有のしろもの(厳密には QEMU にもあるそうですが) とネットワークカードをブリッジ接続させます。

必要なパッケージ

以下のパッケージが必要となります。導入してください。

$ sudo apt-get install uml-utilities bridge-utils

OS側の設定

以下のシェルスクリプトを

$ sh tapbridge.sh

のようにして実行します。

  • username のところは Ubuntu Desktop のメインユーザー名、あるいは VirtualBox 実行者の IDです。
  • eth0 の部分は eth1 だったり別のものかもしれません。ifconfig コマンドでネットワークカードがどれかを確認すること。
  • br0 / tap1 については、末尾は数字です。
    #!/bin/sh
    sudo tunctl -t tap1 -u $(whoami)
    sudo brctl addbr br0
    sudo ifconfig eth0 0.0.0.0 promisc
    sudo brctl addif br0 eth0
    sudo dhclient br0
    sudo brctl addif br0 tap1
    sudo ifconfig tap1 up
    sudo chmod 0666 /dev/net/tun
    ifconfig -a

VirtualBox側の設定

 一般、ハードディスク... と続いているゲスト OS の設定の中で「ネットワーク」を選択。「割り当て」を「ホストインターフェイス」に変更し、インターフェイス名に tap1 を指定すれば OK です。

あとは、ゲストOSからネットにつながることを確認しましょう。 dhclient + ifconfig でホストOSと同系列のIPアドレスを確保できていればまず OK でしょう (Windows なら ipconfig /renew + ipconfig で確認、といったところでしょうか)


リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Fri, 22 Jul 2011 21:58:03 JST (1525d)