Ubuntu 7.04 βを試す――ただし、期待のKVMは動作せず

 Ubuntuプロジェクトは3月23日、Ubuntu 7.04(開発コード名:Feisty Fawn)のβ版をリリースした。本稿では、このβ版のDesktop CD(i386)を用いてUbuntu 7.04の新機能を見ていくことにする。結論から言うと、新機能の多くは期待どおりの働きをしてくれたが、Ubuntu 7.04最大の目玉であるKVM(Kernel-based Virtual Machine)は動作しなかった。

 Ubuntu 7.04 βのISOイメージは、リリースノートに記載されているミラー・サイトからダウンロードすることができる。また、BitTorrent経由でもダウンロードすることが可能だ(Ubuntuプロジェクトでは、BitTorrentの使用を推奨している)。

Windowsからの移行アシスタント

gamen1-small.png
画面1 Windowsからの移行アシスタント(クリックで拡大)

 これはハードディスク上のWindows領域からUbuntuにデータをコピーする機能で、Ubuntuのインストーラに組み込まれている(画面1)。コピーできるデータは、IEやFirefoxのブックマーク、インスタントメッセンジャー(AOL IMとYahoo! IM)のコンタクトリスト、マイドキュメント、マイピクチャ、マイミュージックの各フォルダのデータ、デスクトップの壁紙である。

 画面1からもわかるように、移行するデータはチェックボックスで指定することができる。画面1にはインスタントメッセンジャーの項目が存在しないが、これは筆者のWindows環境に対応するインスタントメッセンジャーがインストールされていないためと思われる。

コーデック・インストール・ウィザード

gamen3-small.png
画面3 適切なコーデックが見つかると「アプリケーションの追加と削除」が起動して、そのパッケージが表示される(クリックで拡大)

gamen2-small.png
画面2 動画プレイヤー(Totem)でファイルを開くときにコーデックが足りないと、コーデックを検索するかどうかをたずねられる(クリックで拡大)

 適切なコーデックがインストールされていない状態で動画/音楽ファイルを開いた際に、コーデックをインストールするためのウィザードが起動するようになった(画面2、画面3)。なお、画面3で「OK」をクリックする前にパッケージ名左側のチェックボックスをチェックすること。コーデックのインストール後にファイルを開きなおす必要はなく、即座に再生が開始される。WMVファイルとMOVファイル、それとH.264フォーマットのMPEG4ファイルで確認したところ、いずれもこの機能で適切なコーデックをインストールすることができた。

 もともとUbuntuは、universeやmultiverseリポジトリに登録されているコーデックを追加することで多彩なマルチメディア・ファイルを再生することができたが、これらのリポジトリがデフォルトで有効になっておらず、そもそも「WMVファイルを再生するにはどのパッケージをインストールすればよいのか」といったことがわかりにくいという問題があった。

 マルチメディア・ファイルの扱いの煩雑さはデスクトップLinuxの普及を阻む大きな障害の1つとなっているが、universe/multiverseリポジトリが標準で有効化され、コーデック・インストール・ウィザードを備えたUbuntu 7.04では、この問題がほぼ解決されていると言えるだろう。もっとも、DRMで保護されたファイルが再生できないという問題は依然として残っているのだが……。

ネットワーク接続性の改善

 GNOME NetworkManagerが標準採用され、無線LANアクセス・ポイントの検出と接続が容易になった。また、AvahiによるZeroconfネットワーク機能が搭載された。

gamen4.png
画面4 NetworkManagerアプレットのメニュー。PCが無線LANに対応していれば、メニューに無線LAN関係の項目が表示される

 NetworkManagerはUbuntu 6.10でも利用できたが、Ubuntu 7.04からはデフォルトでインストールされるようになった。メイン・メニューの右側にNetworkManagerアプレットのアイコンが表示されており(画面4)、ここから無線LAN/有線LANの切り替えや無線LANアクセスポイントの検出・接続設定などが行える。今回は評価機がデスクトップPCだったためその恩恵にあずかることはなかったが、ノートPCのユーザーには大いなる改善となるだろう。

 一方、Zeroconfネットワークとは、一切の設定を行わずにローカル・ネットワーク内の各コンピュータが提供するサービスを相互に利用できるようにする仕組。もともとAppleが「Rendezvous」という名称で開発した技術(商標問題から現在は「Bonjour」に名称変更されている)で、IETF(Internet Engineering Task Force)において標準化されたものがZeroconfネットワーク、AvahiはZeroconfネットワークのオープンソース実装の1つである。LinuxにおけるZeroconfネットワーク対応は、バージョン4から対応を始めたFedora Coreが先行しているが、Ubuntuも新版でようやく追いついたかたちとなった。

新しい仮想化技術への対応

 新たにKVM(Kernel-based Virtual Machine)とVMwareのVMI(Virtual Machine Interface)がサポートされた。これらはいずれもカーネル2.6.20でマージされた機能である。

 KVMは、Intel VTやAMD-VといったCPUの仮想化機能を使って仮想マシンからCPUに直接アクセスできるようにするデバイス・ドライバ(/dev/kvm)であり、それ単体で機能するものではない(別途、KVM対応の仮想マシン・モニタが必要)。ただし、KVMの開発元自体がQEMU用のKVM対応パッチを作成しており、現在のところそのパッチを適用したQEMUだけがKVMを利用する手段となっているため、今のところは「KVM=KVM対応版QEMU」といった雰囲気になっている。

 一方のVMIは、VMwareで準仮想化を実現するためのVMware/仮想マシン間のインタフェースであり、VMIに対応するゲストOSではVMwareの準仮想化モードが利用できるようになる。Xenの仕組みをある程度理解している方には、XenのドメインUパッチのようなものと言えばイメージしやすいだろう。準仮想化のXenはIntel VTやAMD-Vの機能を使って完全仮想化への対応を果たしたわけだが、もともと完全仮想化を実現していたVMwareがVMIで新たに準仮想化に対応するというのも面白いところだ。

 VMwareが準仮想化への対応を進めているのは、準仮想化のほうが完全仮想化よりも高速に仮想マシンを実行できるためだ。Xen上でドメインU(準仮想化)とHVMドメイン(完全仮想化)を動作させてみれば実感できるが、仮想マシン用に修正を加えたOSのほうが、未修正のOSよりも高速に実行できるのは自明の理である。ちなみに、VMIによる準仮想化を試すには、現在βテスト中のVMware Workstation 6が必要になる。VMware Workstation 6のβ版はVMwareのサイトからダウンロードすることが可能だ。

 さてKVMに話を戻すと、筆者の環境(Core 2 Duo E6600搭載のDell OptiPlex 745)では動作させることができなかった。kvmコマンド実行時に一瞬コンソール画面が表示されるのだが、すぐにコアを吐いて死んでしまう。Ubuntu ForumsでKVMに関するスレッドを読み漁ってみたところ、「動作しない」という報告がたくさん投稿されていた。どうやら、Ubuntu 7.04 βのKVMはまだまだ不安定なようである。今後のアップデートに期待したい。

 筆者は動作させることができなかったが、念のためUbuntu 7.04でKVMを利用するための手順をまとめておく。

  • BIOSでIntel VT(もしくはAMD-V)が無効化されていないかどうかを確認し、無効な場合は有効にする(OptiPlex 745のBIOSでは「無効」がデフォルトだった)
  • KVMをインストールする
    $ sudo apt-get install kvm qemu
    
    ここではqemuパッケージもインストールしているが、これはイメージ・ファイルを作成する際にqemuパッケージに含まれるqemu-imgコマンドを利用するため。
  • KVMのドライバを組み込む
    $ sudo modprobe kvm-intel
    
    なお、AMD製CPU搭載マシンの場合は、「kvm-intel」ではなく「kvm-amd」を指定すること。ドライバの組み込みに成功したかどうか、以下のコマンドで確認する。
    $ lsmod | grep kvm
    kvm_intel              21004  0
    kvm                    61148  1 kvm_intel
    
    上記のように、kvmとkvm_intel(もしくはkvm_amd)の2つのドライバが表示されていればよい。
  • イメージ・ファイルを作成する
    $ qemu-img create -f qcow vdisk.img 4G
    
    ここでは最大容量4GBのイメージ・ファイル「vdisk.img」を作成した。「-f」はイメージ・ファイル形式を指定するオプション。「qcow」を指定すると、実際の消費量に応じてファイル・サイズが拡張されるタイプのイメージ・ファイルが作成される。
  • KVMを起動する
    $ sudo kvm -hda vdisk.img -cdrom cdrom-image.iso -boot d -m 512
    
    「-hda」にはハードディスクとして利用するイメージ・ファイル、「-cdrom」にはCD-ROMのイメージ・ファイルを指定する(実機の光学ドライブを利用する場合は、そのデバイス・ファイルを指定)。そして、「-boot d」でCD-ROMからの起動を指示する。「-m」は仮想マシンのメモリ割り当てを指定するオプションだ。QEMUのユーザーならお気づきのことと思うが、kvmコマンドのオプション体系はqemuコマンドのそれとまったく同じである。 。

 本来ならこの手順でKVM(の仮想マシン)が起動し、CD-ROMからシステムがブートするはずなのだが、すぐにクラッシュしてしまうのは上述したとおりである。なお、sudoで(root権限で)kvmコマンドを実行しているのは、一般ユーザーの権限では/dev/kvmにアクセスできないためだ(ちなみに、Ubuntu Forumsには「/dev/kvmのパーミッションを777に変更する」という方法や「一般ユーザーをkvmグループに追加し、kvmグループに/dev/kvmへのアクセスを許可する」といった方法も紹介されていたが、これらの方法を試してもKVMは動作しなかった)。

 いずれにせよ、正式版(4月19日リリース予定)では状況も変わっていると思われるので、今回試せなかったVMIと一緒に改めてリポートしたい。