QEMU の導入

Linux 上で Windows を使ってみよう!

1.Windows の呪縛

 日常的な作業は、Linux 上でほぼ問題なく使用できるようになりましたが、一部の機能では、Windows に劣る部分があります。そのひとつに DVD デコーダがあります。TurboLinux 10F には、Power DVD for Linux が含まれていますが、Windows 版の機能をすべて含んでいるわけではなく、最近よく使うようになった IFO モードの再生はサポートされていないため、この機能を必要とする場合には、Windows を起動しなおす必要が生じていました。

 Linux 上から、Windows を起動すればよいのでは?と思われるかもしれません。確かに、Windows では愛用している VMware は、Linux 版もありますので、これを使うという選択肢があります。しかし、現在 VMware は、もっとも安価なパッケージでも、5万円するパッケージとなっており、早々手を出せる代物ではなくなっています。このような時期がくることは予想できていなかったため、Windows 版のみを非商用ライセンスで入手していたことが悔やまれました。

 私が定期購読している雑誌に、DOS/V マガジンがあります。PC/AT互換機の基礎知識はこの雑誌から得られるものが多かったのですが、最近は、積ん読(つんどく)状態となっていて、時間的に余裕のあるときに目を通すものとなっていました。たまたま先月号に、無料のエミュレータとして QEMU というもののことが取り上げられていました。記事は Windows 版を取り上げていましたが、よくよく読むと、Linux 版があるということも書いてありました。ちょっと気になるものでした。

 さっそく google で調べてみると、どうも、Linux 版が先に開発され、後に Windows 版を開発されたような経緯が見付かり、さらには、最近教育用に注目されることが多い KNOPPIX にも含まれていることがわかりました。これまでも見ていたはずなのに、興味がないと気づかないようです(苦笑)。

2.qemu の導入

 さっそくメイン環境の TurboLinux に導入するため、パッケージを探しました。さすがに TurboLinux 用のパッケージは見付からなかったので、久方ぶりに tarball からの make を行うこととなりました。下記のとおり、tarball のいつものやり方を行うだけですので、特にはまるようなことはありませんでした。

 $ ./configure
 $ make
 # make install

 qemu は、VMware のような GUI ではなく、コマンドベースの操作となるため、少々戸惑いを感じます。まずは VMware でもおなじみの仮想ディスクを作成することが必要となります。ただ、このときに、作成する仮想ディスクのサイズだけの空き容量が必要となります。ここで、うっかりホームディレクトリに作ってしまい、DiskFull 状態としてしまい、一般ユーザー名での再ログインが不可となって、かなり焦りました。理由に気づくまで、かなり時間がかかりましたが、原因がわかってしまえば、root でログインして、誤って作成した仮想ディスクを削除して、無事一般ユーザーでもログオンできるように直せました。

 さて、ホームディレクトリには空き容量がたりません。不要なものを削除するにも、パーティションの容量が 5GB ですから、仮想ディスクをひとつ作ると、すぐに一杯になってしまいます。そこで、HDD に残しておいた 15GB の空き領域に区画を作成し、仮想ディスク専用のパーティションとして、ホームディレクトリ下に作成して使うこととしました。使おうとしている OS がかなりの大喰らいのため、これだけにあっても、不足しかねないところがありますが、10GB あれば、とりあえずは使えるはずですので、なんとか使えそうな状態とすることができました。

 qemu の仮想ディスクは、いくつかの形式が使えるようですが、私は raw 形式の仮想ディスクを作成しました。コマンドの書式は、次のとおりです。

 $ qemu-img creat -f format FILENAME DISKSIZE

  format はフォーマット形式を指定するもので、いくつかの形式が選択できるようです。
  FILENAME は作成する仮想ディスクのファイル名です。導入する OS を区別できるファイル名を付けることが望ましいでしょう。
  DISKSIZE は作成する仮想ディスクのサイズを指定します。容量は付ける単位で区別されるようで、MB と GB が使えました。

 仮想ディスクができれば、いよいよ OS のインストールです。OS 読み込みには、実 CD-ROM ドライブを使用する必要があるのですがこれを見付けるのに、多少梃子摺りました。Windows 版と Linux 版はまったく異なるのですが、マウントポイントを指定するのではなく、デバイスファイルで指定するということに注意が必要です。

 qemu の引数は非常に種類が多いので、コマンドラインが非常に長くなる傾向があります。alias を使うか、script 化しないと、内町が得てしまいそうです。

 $ qemu -hda 仮想ディスク -m メモリ量 -boot 起動デバイス -cdrom /dev/cdrom -enable-audio

  -hdx      仮想ディスクを指定します。Xには a 〜 d が入ります。最大で4デバイスを指定することができます。
  -m       仮想 PC に割り当てるメモリ量(単位 MB)を指定します。導入する OS によって調整する必要があります。
  -boot     起動デバイスを指定します。HDD から起動する場合は C を、CD boot する場合は D を指定します。
  -cdrom     CD-ROM ドライブを割り当てます。引数としてデバイスファイルを指定することに注意が必要です。
  -enable-audio サウンドエミュレーションを有効にします。

 後は、起動した仮想 PC は、Local 起動と同様に扱えます。仮想 PC に導入した OS の解像度によって、仮想 PC 表示サイズは変化します。

3.導入した際の注意点

 (1) Windows 9x では、テープドライブに接続された FDD を誤認していると、起動に失敗する。
 (2) CD-ROM ドライブは mount しておく必要はない。

 Windows 98 を導入したところ、インストール終了後の再起動時に、起動完了しない状態となります。VMware を使っていた人はおなじみの、EMM386.EXE の無効化が必要なのか、と思い、Safe Mode で起動して、config.sys を編集してみましたが、再起動できない上京は改善されませんでした。Safe Mode での起動はできるため、なにか追加されているドライバが問題となっていると考えられるのですが、何がわるさをしているのか、まったくわかりませんでした。それでも、デバイスマネージャを眺めていると、テープデバイスの元に、FDD がつながっていました。そこで、まったくの勘でこれを削除したところ、うまく起動できるようになりました。

 当初、CD-ROM ドライブは mount して置かなければならない、と考えていました。しかし、うっかり mount しないまま起動させたところ、問題なく起動したことから、mount しておく必要がないことがわかりました。


Last Update is 2005/09/12. CopyRights Tazoe Kazuya 2005.