Windows7のVirtual PCにUbuntu 10.04を入れる

以前に [id:Schima:20091111#1257943149] にて、Ubuntu9.10をWindows7Virtual PC仮想マシンとしてインストールする方法をまとめました。ところが、Ubuntu10.xになって以降はそう簡単にはインストールできなくなったようです。昔からVirtual PCと(大抵の)Linuxディストリビューションは相性が悪いので、簡単にできていた頃のほうが異常だったともいえます。悪戦苦闘の末どうにか導入できたので手順をまとめておきます。


仮想マシンの作成やUbuntuのインストール時の設定項目などの説明は、簡単ですし省きます。必要なら前回の記事 [id:Schima:20091111#1257943149] をご参照ください。

ディスクイメージの用意

Ubuntu 10.04 日本語版 Remix CD イメージ」をダウンロードします。(本家のディスクイメージでインストールが可能なのかは未確認です。)

http://www.ubuntulinux.jp/products/GetUbuntu

見ての通りVirtualBoxVMware用のイメージがあるのにわざわざVirtual PCに入れようとするのはなかなか茨の道です。

仮想マシンの作成

Windows Virtual PCにて仮想マシンを作成します。すべてデフォルト値でも問題ないと思います。
作成が終わったら、設定画面を開き、DVDドライブでディスクイメージ ubuntu-ja-10.04-desktop-i386-20100512.iso を開くようにしておきます。

仮想マシンの起動

設定が終わったら仮想マシンを起動します。ディスクイメージからブートされ、以下のような画面が表示されます。

ここでF6キーを押し、そしてすぐにEscキーを押します。これで起動オプションを編集できるようになります。起動オプションの末尾の

quiet splash -- 

を削除し、

vga=791 noreplace-paravirt

を書き加えます。vga=791 とは、1024×768 16ビットカラー という意味です。数値を変えることにより他の設定も可能です。16ビットカラーのものであれば他の値でもおそらく大丈夫だと思われます。どのような値があるのかは、以下のページが参考になります。

http://www.pendrivelinux.com/vga-boot-modes-to-set-screen-resolution/


そして「インストールせずにUbuntuを試してみる」を選択します。これが今回の一番のポイントです。

Virtual PCLinuxは色々と相性が悪く、普通にインストールしてもブートローダすら起動してくれなくなりお手上げ状態になります。インストール終了後の再起動の前にブートオプションを編集する必要があり、「インストールせずにUbuntuを試してみる」を使えば端末を開いて悪あがきをすることができます。

Ubuntuのインストール

ディスクイメージからの起動が完了したら、デスクトップにある「Ubuntu 10.04 LTS のインストール」をクリックしてインストールを開始します。設定項目は適当に。

インストールが終わったら、絶対にまだ再起動せずにそのまま保留します。

インストール先のハードディスクをマウント

メニューの「場所」から「コンピュータ」を選びます。
インストールが終わると、ここに「136GB ハードディスク: ファイルシステム 133GB」というような名前のドライブアイコンが表示されるようになります(ディスク容量は、VIrtual PC仮想マシンにおける設定により変わると思います)。

ドライブアイコンを右クリックし、「マウント」を選択します。(既にマウントされているかも。そのときは「アンマウント」になっています。)

そして、ドライブのアイコンを再度右クリックして「プロパティ」を開き、「アクセス権」のタブを開くと、ボリュームのIDが表示されています。この後の手順のため把握しておきます。

ブートオプションの編集

端末を開きます(アプリケーション -> アクセサリ にあります)。
まずはインストール先のボリュームをマウントし、そこに移動します。

$ sudo mount -o bind /dev /media/<volume-id>/dev
$ sudo chroot /media/<volume-id>/ /bin/bash
# mount -t proc none /proc

には先ほど調べたボリュームIDが入ります。他に何もないのでtabキーですぐ補完がかかると思います。


GRUBの設定その1。/etc/default/grub を vi, nano あたりのテキストエディタで開きます。
GRUB_HIDDEN_TIMEOUT を#でコメントアウトし、GRUB_CMDLINE_LINUX_DEFAULTにある quiet splash を削除してvga=791に変更します。スプラッシュ画面を出ないようにするのは、Virtual PCではその時よく画面が乱れるためです。


GRUBの設定その2。/etc/grub.d/10_linux を開き、linux_entry という関数を探します。その関数の4行目に、

args="$4"

という記述があります。これを以下のように書き足します。

args="$4 noreplace-paravirt"


ここまでの変更を反映させます。

# update-grub

なにかエラーが出ますが、おそらく大丈夫ですので全力で見なかったことにします。

再起動

ここまでできたらようやく再起動しても大丈夫です。

(なぜかUbuntuのシャットダウン中に停止するのですが、その時はVirtual PCを終了させ、再度起動しましょう。)

GRUBが無事起動。この画面でここまで感動できる体験はなかなか味わえません。

そしてログイン画面。Xも無事動いたようです。