QEMU+USBメモリで仮想PCを持ち歩く
ここは、QEMUというフリーのエミュレータと仮想HDDイメージをUSBメモリに入れて、どこでも自分の仮想PCを持ち歩く、という試みを紹介するページです。なお、本ページは概要の紹介(と自分用のメモ)がメインですので、詳しい設定のやり方などは他のページをご参照ください。

Windows XPをホストに、Windows 98をゲストで実行しています。左がホスト側、右がゲスト側です。
概要の紹介&メモ
仮想PCでWindowsを実行することの意味
はっきり言って速度的にはかなり厳しいので、仕事等に使うことはおすすめしませんが、一方で、仮想PCでWindowsが動くのはなかなか便利なこともあります。実機ではなにかと面倒なバックアップ作業も、仮想PCの場合にはホスト側でファイルを一つコピーするだけですみますし、必要なファイルをUSBメモリなどに入れて持ち歩けば、自分の環境をどこでも再現できます。ゲスト側からホスト側のネットワーク環境を利用できるので、他人のマシンを借りれば、そのままインターネットへのアクセスも可能です。ネットワーク以外は仮想PC内での実行になりますので、借りた他人のマシン(ホスト)に対する影響は最小限ですみます。これぞ、究極のモバイルマシンといえるかもしれません。
インストール
ホスト側は仮想HDDイメージを指定してQEMUを実行するだけなので簡単です。問題はゲスト側のOSのインストールです。クリーンインストールをするのが一番いいのですが、うまくいかない場合もあるようです。いったん、実機にインストールしてそのイメージを作るのがいいかもしれません。ゲスト側がwin9xの場合、jdisp.sysに/HS=LCオプションが必要なようです。
仮想ハードディスクイメージのサイズ
FAT32だとファイルサイズが2G以下という制限がありますが、Windows98程度であればこれでも十分にシステムを入れることができるでしょう。さらに、qcowというQEMU独自の形式を使うと、実際に使っている部分のみが記録され、圧縮を利用することもできるので、イメージのファイルサイズを小さくできます。私の場合、256MBのUSBメモリに十分入るサイズで収まっています。
ホストとゲスト間のファイルのやりとり
ネットワークを利用するやり方もありますが、私はファイルの受け渡し用に、FAT16の小さなHDDイメージを別に作っています。マウントすればゲスト側からはDドライブとして普通にアクセスできますし、ホスト側からアクセスしたい時は、DiskExplorerなどのイメージ操作用のツールでアクセスします。(ホスト、ゲストで同時にアクセスはしない方がいいでしょう。)ロングファイルネームの問題もあるので、ファイルが複数あるときは適当なアーカイバでファイルを一つにまとめてから渡しています。
ランチャー
いろいろなOSを試したりするのに、それぞれにバッチファイルを用意してもいいですが、面倒であればランチャーが便利です。私はQEmu Launcherを使っています。
速度
一例ですが、私の環境(ゲストはWin98SE+IE5.5SP2)では、スタートアップも含め全て起動するまでに1分40秒、そこからInternet Explorerを起動してホームページが表示されるまでに34秒かかります。上に書いたとおり、速度はなかなか厳しいです。ゲスト側にWinXPを入れたことはありませんが、たぶんもっと遅くなるでしょう。
snapshot
このモードを使うと、ゲスト側でのハードディスクイメージへの書き込みを終了時に破棄することができます。ブラウザとして使うだけの場合(万一ウイルスにやられても、影響は終了時まで)や、プログラムのテスト用にいいかもしれません。
おわりに
各ソフトウェアの作者の皆様に感謝します。
※このページの内容を実行される際には、各種ドキュメントをよく参照の上、自己責任でお願いします。各ソフトウェアの作者の皆さんにも迷惑をかけることがないよう、くれぐれもお願いします。
リンク
[ HomePage ]
ey5k-myhr@asahi-net.or.jp
Last modified 2005/08/08