Virtual PC 2007 SP1でubuntu 8.04.01 server

先日はVirtualBoxにubuntu 8.04 serverを入れてみたが、今度はVirtual PC 2007 SP1で試してみる 某マイクロソフト謹製だけのことはあり、Virtual PCではWindows系以外のOSをゲストOSにすることは原則として公式には対応していない
しかし実際には、公式には対応していないことになっていても、多くの(積極的に人柱になりたがる)人の手によって様々なOSが動くことが報告されている
最近とみに流行っているubuntuも公式には対応していないが、実際には動くことが確認されているOSのひとつである
ただし、ubuntuのインストールに際しては、いくつか注意しなくてはいけない点がある
このあたりの情報については、多数のレポートがWebサイトに挙がっているのでググればすぐにいくつか見つけることができるであろうが、有用な情報もあることはあるが、これらのサイトに挙げられていた情報の大多数がすでに古くなってしまっているか、きちんと検証せずに掲載しているように見受けられた
これら玉石混合甚だしい情報を取捨選択して、実際に検証した結果をここに挙げておきたい

まずはVirtual PC 2007 SP1から新しい仮想マシンウィザードを呼び出し、仮想マシンを作成する
仮想マシンにインストールするOSはubuntuなので、オペレーティングシステムには「その他」を選択する
メモリのサイズは、今回server editionをインストールするので、128MBあれば十分である
これよりも小さいサイズでも大丈夫かもしれないが、今のところ検証をしていない
まぁ、余り小さいサイズにすると、決して早いとは言えない仮想ディスク(swapパーティション)へのアクセスが頻発することになってしまい、使い勝手が悪くなる可能性を考慮すべきだろう
また、GnomeなどのX windowを使うつもりなら、desktop edition同様に最低でも256MB、実際にはスワップの発生を抑えることを考慮すると512MB以上割り当てるべきかもしれない
仮想ディスクには今回4GBを割り当ててみた
なお、実際にubuntuをインストールした後に調べてみると、実際には1GB程度しか使われていなかったことを補足しておく

仮想マシンを作成したら、早々にこれを起動
しかしこれだとまだ、仮想CDドライブにメディアが入っていないことになるので、すぐにVirtual PCのメニューバーからCD - ISOイメージのキャプチャメニューを実行して、あらかじめダウンロードしておいたubuntu 8.04.01 serverのISOイメージ(ubuntu-8.04.01-server-i386.iso)を割り当てる
ここまでは、格段特別なことは何もない
仮想マシンを作成する際に指定するオペレーティングシステムの種類と、メモリ、ディスクの割り当て量が、それぞれのOSと使用目的によって異なる程度で、Virtual PCのゲストOSにどんなOSをインストールするときでも同じである

カーネルオプション

さてubuntuのCDイメージからインストーラメニューが立ち上がってきたら、Install Ubuntu Serverを選択した状態で、F6キーを押して起動オプションを表示させる 左右のカーソルキーやISN、DEL、BSなどのキーを使って起動オプションが編集できるので、 -- より前に空白文字で区切って clock=pit (後日調べたところ、 clock オプションの値は pit の他に pmtmr でも大丈夫だった)vga=normal の二つのオプションを追加する
この画面イメージではquietオプションを削除しているが、これは削除せず残しておいても問題はない
ただしubuntu起動時のメッセージが表示されなくなることがあり、問題があったときに解決するのが難しくなるので、ここでは quiet オプションを削除することを勧める

この起動オプションに、 noapicnolapicnoreplace-paravirtなどを指定するように指示している Web ページが多数見受けられたが、何れも不要である (特に clock=pmtmr を指定したときに noapic または nolapic をつけると、エラーになり起動しなくなる)

起動オプションを編集したらEnterを押してインストーラを起動する
後はubuntuのインストーラの指示に従ってインストールを進めていけばよいのだが、余り調子に乗ってほいほいと進めてしまってはいけない
インストールの最後で再起動を実行した直後に、急いでVirtual PCのメニューバーからCD - ISOイメージのキャプチャメニューを実行して、もう一度ubuntu 8.04.01 serverのISOイメージを割り当て直して欲しい
もしここでCDイメージの割り当てに失敗して仮想ディスクから起動してしまうと、まず間違いなくubuntuの起動に失敗するだろう (もし仮想ディスクからの起動に成功して、その後もそのままVirtual PC 2007 SP1の仮想マシンでubuntu 8.04.01を実行させ続けることができたなら、ぜひあなたのWebサイトでその結果を詳しくレポートしていただきたい)

レスキューモードのカーネルオプション 再起動の際にubuntuのCDイメージを割り当てられれば、再びubuntuのインストーラメニューが立ち上がってくるだろう
ここで今度は、壊れたシステムを修復を選択した状態で、F6キーを押して起動オプションを表示させる

レスキューモードのカーネルオプションの編集 今度は --より前に空白文字で区切って clock=pit (これも前に述べたように、 clock=pmtmrでも可)だけを追加する vga=normalのオプションは追加しても、しなくてもどちらでも構わない
起動オプションを編集したらEnterを押してubuntuをレスキューモードで起動する
ルートファイルシステムの選択では、前の手順でubuntuをインストールしたときにルートのファイルシステムに割り当てたデバイスを選択する
インストーラの指示通りにインストールしている場合は /dev/sda1になる シェル起動
続いて、選択したデバイス( /dev/sda1)内でシェルを実行させる

vi /boot/grub/menu.lst シェルが起動してコマンドプロンプトが表示されたら、 vi /boot/grub/menu.lst を実行する /boot/grub/menu.lst の中に# kopt= から始まる行があるので、その行に clock=pit vga=769 を追加して、保存、終了する (これも前と同様に clock=pitclock=pmtmrとしても可) vga=769は、他に vga=784vga=785vga=786の何れか一つが指定できるが、 vga=normalを指定すると起動中に画面が崩れてしまうので注意が必要

コマンドプロンプトに戻ったら、 aptitude updateaptitude install linux-image-generic と二つのコマンドを順に実行して、汎用カーネルをインストールする 無事に、汎用カーネルのインストールが終わったら、 dpkg -l 'linux-server-*' | grep '^ii' を実行する
インストーラによってインストールされたサーバ用カーネルが表示されるので、これを参照して aptitude purge linux-server linux-image-2.6.24-19-server linux-ubuntu-modules-2.6.24-19-server を実行する (ここで指定している linux-image-2.6.24-19-server linux-ubuntu-modules-2.6.24-19-server の2.6.24-19の部分は、 dpkg -l 'linux-server-*' | grep '^ii' を実行したときに表示されたものである)
ここまでくれば、Virtual PC 2007 SP1の仮想環境へのubuntu 8.04.01 serverのインストールはほぼ完了である

レスキューモードで再起動 後はコマンドプロンプトで exit コマンドを実行し、システムの再起動を行えばよい
このときVirtual PCのCDメニューで、忘れずにCDイメージを解放しておくこと
なお、起動時に指定している lock オプションは、時間の刻みをubuntuのカーネルがどのデバイスを使って取得するのかを指示するものだが、 clock=pit だと1時間あたり約4分遅れ、 clock=pmtmr だと1時間あたり約4分進むことを確認している
この時間のずれは、各々の環境で変わる可能性が高いことに注意されたい


2008.8.4追記
カーネルオプションの clock は、kernel 2.6では非推奨らしい 例えば clock=pmtmr を付けて起動すると、起動途中に Warning: clock=pmtmr is deprecated. Use clocksource=acpi_pm. といった警告が表示される
kerlen 2.6のカーネルオプションでは、 clock=pit に代わり clocksource=pit が、 clock=pmtmr に代わって clocksource=acpi_pm が推奨されている

関連記事

  • Windows 7 (x64) の Virtual PC で 64bit 版のゲスト OS2009.11.12 (木) Windows 7 (x64) の Virtual PC で 64bit 版のゲスト OS Windows 7 で提供された XP Mode の実態は、Virtual PC とそこで動作する RemoteApp が適用された Windows XP の仮想マシンイメージという、複数のテクノロジによる合わせ技だ。 XP Mode で使われる […]
  • XP Mode (Virtual PC 7) で自動公開2009.11.11 (水) XP Mode (Virtual PC 7) で自動公開 Windows が XP から Vista にグレードアップしたときの、OS の内部構造の変更や、フォルダ (特に %ProgramFiles%) の利用に関する制限が厳しくなったことなどにより、アプリケーションの動作に関する互換性が若干失われている。 […]
  • VirtualBox 1.6でubuntu 8.04 server2008.6.5 (木) VirtualBox 1.6でubuntu 8.04 server NotePCに、VirtrualBoxを導入し、検証用に仮想マシンを構築してみた これまでは仮想マシンを動かすために、VMWare PlayerやVMWare […]
  • こんどは ubuntu を XenServer に入れる2009.6.15 (月) こんどは ubuntu を XenServer に入れる 先日から評価している XenServer に今度は linux 系 OS を入れてみようということで、ubuntu のバージョン 9.04 を入れることにする。 といっても、linux 系 OS に GUI […]

コメントを残す