Viturl 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の種類の選択 仮想マシンにインストールするOSはubuntuなので、オペレーティングシステムには「その他」を選択する

メモリのサイズは、今回server editionをインストールするので、128MBあれば十分である
これよりも小さいサイズでも大丈夫かもしれないが、今のところ検証をしていない
まぁ、余り小さいサイズにすると、決して早いとは言えない仮想ディスク(swapパーティション)へのアクセスが頻発することになってしまい、使い勝手が悪くなる可能性を考慮すべきだろう
また、GnomeなどのX windowを使うつもりなら、desktop edition同様に最低でも256MB、実際にはスワップの発生を抑えることを考慮すると512MB以上割り当てるべきかもしれない

ハードディスクのサイズ 仮想ディスクには今回4GBを割り当ててみた
なお、実際にubuntuをインストールした後に調べてみると、実際には1GB程度しか使われていなかったことを補足しておく

仮想マシンを作成したら、早々にこれを起動

CDイメージの割り当て しかしこれだとまだ、仮想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

オプションを削除することを勧める

この起動オプションに、

noapic

nolapic

noreplace-paravirt

などを指定するように指示しているWebページが多数見受けられたが、何れも不要である (特に

clock=pmtmr

を指定したときに

noapic

または

nolapic

をつけると、エラーになり起動しなくなる)

起動オプションを編集したらEnterを押してインストーラを起動する
後はubuntuのインストーラの指示に従ってインストールを進めていけばよいのだが、余り調子に乗ってほいほいと進めてしまってはいけない

CDイメージの割り当て インストールの最後で再起動を実行した直後に、急いで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=pit

clock=pmtmr

としても可)

vga=769

は、他に

vga=784

vga=785

vga=786

の何れか一つが指定できるが、

vga=normal

を指定すると起動中に画面が崩れてしまうので注意が必要

menu.lstの編集

コマンドプロンプトに戻ったら、

aptitude update

aptitude 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イメージを解放しておくこと

なお、起動時に指定している

clock

オプションは、時間の刻みを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

が推奨されている

関連する投稿

返信の投稿

 

 

 

これらのHTMLタグが使えます。

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">