NotePCに、VirtrualBoxを導入し、検証用に仮想マシンを構築してみた
これまでは仮想マシンを動かすために、VMWare PlayerやVMWare Serverを使っていたのだが、仮想マシンを新規に作成できなかったり(Player)、新しいアーキテクチャへの対応が中々追いつかなかったり(Server)で、微妙ないらいら感を感じていた
VMWare Workstationを購入すればそれで済む話なのかもしれないが、有償でメジャーアップグレード毎に費用が発生することや、バックグランドで仮想マシンを実行できないという二点が、どうしても許せない
VMWare Serverと併用すれば、バックグランドで仮想マシンを実行することもできるが、Serverのバージョンがメジャーレベルで二つも低く、不具合が起こりそうで思い切ることができない
ホストOSがWindowsなので、もうひとつの選択肢としてVirtual PCやVirturl Serverがある
しかし、これにしてもPC、Server間のバージョンの差異が気になってしまう
また偏見かもしれないが、Windows系以外のゲストOSに対するサポートにも不安が残る
ということで、今回はVirtualBoxを使ってみることにした
一般的にはユーザがログインした状態でゲストOSを動かすようになっているが、うまくやればゲストOSをサービス化して動かすことも可能なようである (まだ試してはいないので、思ったとおりにうまくいくどうかは不明)
それでは、さっそくVirtualBoxを使ってみる
VirtualBoxのインストール自体に、難しいところはどこにもない
ただ単にダウンロードしたインストーラを実行し、ウィザードの指示に従うだけである
ゲストOSにはubuntuを入れてみる
サーバ用途での検証にしか使わないので、仮想マシンの環境は以下の通り
-
HDD容量 4GB RAM 256MB これ以下だとインストールCDからのブートの際にVirtualBoxが異常終了する ビデオRAM 2MB これ以下だとインストールCDからのブートの際にVirtualBoxが異常終了する
この仮想マシンのCD-ROMドライブに、ubuntu 8.04 serverのインストールCDのイメージファイルを指定して起動しすれば、後は普通にubuntuがインストールできる
……..はずなのに、なぜ!?
ubuntuインストール後の再起動で、コンソールには無常にも以下の文字列が
The kernel requires the following features not present on the CPU 0:6
Unable to boot – please use a kernel appropriate for your CPU
そして、そのままハングアップ!!
使っているNotePCのCPUがAMD Turion 64なので、ubuntuというかこのバージョンのlinux-kernelはこのCPUに対応してないのではないかと疑い、debian etchをインストールしてみることにする
仮想マシンの環境はそのままに、CD-ROMドライブに指定するイメージファイルだけをdebianのものに変更して、起動する
いつもどおりにdebianのインストールを進め、再起動する……
……
….
..
ん?
素直に再起動した!?
え゛〜、debianとubuntuは現バージョンのカーネルイメージは同じはずだと思ったのだけど、この結果はどう考えればいいのか
自分ひとりで悩んでいても仕方ないので、さっそくググってみることにする
検索結果をみると、意外と見当違いな結果がほとんどである
目を凝らしてその中から、目的の情報を探し出す
見つけたWebページがこれ
VirtualboxへのゲストOSインストール – ksaitoの日記
どうやら概知のバグらしい
しかもこのWebページからリンクされている先を見ると、8.04α3の頃からのバグらしい
正式リリースまでに直せなかったのか、それともVirtulBox1.6の仮想CPUのエミュレーションがおかしいのか、いずれにせよ早く直してもらいたいものである
それはともあれ、ここに書かれているように以下の手順でカーネルを入れ替えて、無事に起動するようになった
どうやら、linux-image-serverパッケージはVirtualBox1.6と相性が悪いらしい
まずは、仮想マシンにubuntu 8.04 serverをインストールした後の再起動でHDDから最起動させるのではなく、仮想マシンのCD-ROMにubuncuのCDイメージを指定したまま、CD-ROMから起動する
インストールメニューで「壊れたシステムを修復」を選択して実行する
ubuntuをインストールしたときのルートファイルシステムを選択する
レスキュー操作で「インストーラ環境内でシェルを実行」を選択して実行する
シェルが立ち上がるので、以下の一連のコマンドを実行する
~ # chroot /target # bash root@ubuntu:/# aptitude update root@ubuntu:/# aptitude install linux-generic root@ubuntu:/#
仮想マシンをHDDから再起動する
このとき、タイミングよく ESCキーを押して、grubのメニューを表示させる
grubのメニューで「Ubuntu 8.04, kernel 2.6.??-??-generic」を選択して実行する
これで無事にubuntuが起動する
後は、grubのメニュー(/boot/grub/menu.lst)を編集して、上のメニュー項目がデフォルトで起動するようにするか、aptitudeを使ってlinux-image-server(linux-image-2.6.xx-xx-server)パッケージを削除しておくと良い


VirtualBoxを利用して同じ現象に出くわし辿り着きました。
VirtualBoX2.1.0, Ubuntu 8.10でしたが、問題なく解決できました。
ありがとうございます。
同じくこの現象に躓いてたどり着きました
VirtualBox2.16,Ubuntu Server 8.04.1でも解決しました
ありがとうございました