Ichmy's Qemu

あなたは
1 3 8 9 7 7 4
人目のお客様です。 (本日54人目、昨日579人) (from 2007-09-30)

Qemuで遊ぼうのこーなー

0.目次

1.このこーなーの概要

2.Qemuとは

3.Qemuの遊び方

4.ネットワーク接続について

5.Windows XP のインストールについて

6.Windows 2K のインストールについて

7.Windows 98 のインストールについて


1.このこーなーの概要

このこーなーではQemu上でいろいろなOSを立ち上げるための Tipsを紹介する予定ですが工事中。

いまのところ筆者のQemuでの各種OSの動作状況は

OS Addin 状況
WindowsXP 無し イーサドライバを切り替え要
Windows2000 Netは要Tips
Windows98SE
Windows95
Windows3.1
日本語MSDOS6.2V
Ubuntu Saucy Salamander 重くてつかえないが動作は問題なし
Debian Squeeze
Fedora 23 インストール完了するも、再起動後NG
FreeBSD 10.2R Mouse の動作に失敗
NetBSD 7.0 起動に失敗

2.Qemuとは

このqemuはオープンソースのエミュレターで、 パフォーマンスはメーカー製のエミュレターと比べ劣悪です。

しかし、

  (1) インストールが不要でユーザー環境を汚さない=特権不要であり、

  (2) ARMやPowerPC、H8など、いろいろなCPUをエミュレート出来る

  (3) 本サイトの目的である古いOSを使う分には多少遅くとも問題ない

など利点があり、突破口になるかと期待しています。 公式サイトは、こちら

qemu は基本的に Unix 上で走りますが、Windows用の最新のバイナリーについては QEMU on Windowsから入手ください。 本サイトでは、この Windows 版の Qemu について以下解説しています


3.Qemuの遊び方

(1) 概要

Qemu (Win版) の遊び方については開発者 Kazu 様のサイト QEMU on Windows に詳しいので参照ください。

ここでは遊ぶための最低限の設定を紹介します


(2) インストール

まず、QEMU on Windowsから最新のバイナリ入手し、適当な場所に展開下さい.

筆者 が起動に成功している最新版は、http://lassauge.free.fr/qemu/release/Qemu-2.4.1-windows.7zです。

以後の説明ではこれを展開して E:¥qemu に置いたものとして説明します。

他にqemu.weilnetz.deにwindows用のqemu-2.5.0を公開している人がいますが、

こちらは、未検証


(3) 動作テスト

① 展開した¥qemu の中に test-i386.bat というバッチファイルがあります

   これをダブルクリックで実行して、linux のシェルが CUI で起動したら 32bit 版は動作テスト成功です。

② さらに、上記 test-i386.bat をメモ帳などで編集し、後ろの方の START qemu-system-i386w.exe

  のところに記述を START qemu-system-x86_64w.exe に変えて動作したら 64bit 版も動作テスト完了です


(4) 仮想ハードディスクの作成

初期設定の第1歩として仮想HDイメージを作ります。他のエミュレータなら新規仮想マシン作成時に勝手に

作ってくれるのですが、qemu ではコマンドプロンプトから作ります。

たとえば32GBの仮想HDイメージを作る場合、

 C:\Users\ichmy> e:
 E:\> cd qemu
 E:\qemu> qemu-img.exe create -f qcow2 harddisk.qcow2 32G 

各オプションの意味は

① create : ファイルイメージ作成を指示

② -f qcow2 : 必要なときにファイルサイズが大きくなるフォーマットを指定

   他に可能なオプションは、vmdf(VMWare互換)、vhdx(Hyper-V互換)、vdi(VirtualBOX互換)などがあります

③ harddisk.qcow2 : イメージのファイル名です。お好みで変えてください

④ 32G : ディスク容量


(5) 起動条件設定

qemu を起動するにはバッチファイル test-i386.bat をご自分の好きな名前にコピーして編集し、実行

します。 起動条件を変更するには、上記バッチファイルをメモ帳などで開いて、 下の方の起動行をたとえば以下のように修正します

 START qemu-system-x86_64w.exe -m 926M -M q35 -L Bios ^
  -vga cirrus  -soundhw es1370  -cdrom FreeBSD.iso ^
  -name FreeBSD -drive file=harddisk.qcow2,media=disk,cache=writeback ^
  -boot once=d  ^
  -rtc base=localtime,clock=host -parallel none -serial none ^
  -netdev type=user,id=mynet0 -device ne2k_pci,netdev=mynet0 ^
  -no-hpet  -usb -usbdevice tablet 

表示の都合で改行していますが、実際には1行にしてください 各オプションの意味は

① qemu-system-x86_64w : この例では64bitシステムを起動します

② -m 926M : 主記憶容量MB。(注:筆者の環境では927MB以上ではエラー出ました)

③ -M q35 : エミュレーションするマシンを選択します。通常は pc

④ -L Bios : バイオスファイルの位置です。展開イメージでは Biosフォルダに入ってます

⑤ -vga cirrus : エミュレートするvga の種類。この例では Cirrus GD-5446

⑥ -soundhw es1370 : サウンドカードの設定。この例は Ensoniq Audio PCI (ES1370)

⑦ -cdrom FreeBSD.iso : CDROMイメージファイル名の設定。お好みで設定ください

⑦ -net nic -net user : ネットワークの設定。ユーザーモード接続を指定しています。詳細は後述。

⑧ -localtime : リアルタイムクロックをローカルに設定します

⑨ -drive file=harddisk.qcow,media=disk,cache=writeback : 仮想HDファイル名の設定。

⑪ -usb -usbdevice mouse : USB エミュレーションを有効にし、仮想USBマウスを繋ぎます

⑫  -boot once=d : ブート順の設定。この例では、初回起動時のみCD、その後はハードディスクになります

(6) qemu モニタの使い方

Win2Kのアップグレード版のインストール時などに CDROM の交換が求められることがあります。

このようにエミュレーションしてる最中にQemuにコマンドを伝える仕組みがqemuモニタです。

ゲストOSが表示されている画面で「Ctrl + Alt +2」をおすと画面がqemuモニタに切り替わります

元のゲストOS画面に戻すには「Ctrl + Alt +1」です。 使い方は、たとえば

 (qemu) info block   ← 各機器の状態表示
 (qemu) eject  ide1-cd0   ← CDROM メディアの排出
 (qemu) change ide1-cd0 \\.\f:  ← F ドライブの実CDROM メディアのマウント
 (qemu) eject  ide1-cd0   
 (qemu) change ide1-cd0 win2k.img  ← CDROMイメージファイルのマウント

(7) ゲストOSのドライバーについて

アドインが一切無いので各種ドライバーは Drivers for QEMU devicesよりそれぞれ入手してください。


4.ネットワーク接続について

(1) ユーザーモード接続

qemuは標準で以下のような形態でネットワーク接続します。

   +----------+                 +------------------+         +--------+
   |ゲスト OS |---------------->|ファイヤーウォール|-------->|ホストOS| ---> internet
   |          | (qemu内仮想LAN) |                  |         |        |
   +----------+                 +------------------+         +--------+
   10.0.2.15                     10.0.2.2 = ルーター        192.168.24.2(筆者の例)
                                          = DHCPサーバー
                                 10.0.2.3 = DNSサーバー
                                 10.0.2.4 = SMBサーバー

qemu では標準では外部からの通信を受け付けません。 このため動かすのにユーザー特権が要らないメリット

があるのですが、デメリットの方を逆手にとって “ファイヤーウォール”と称しています。

※ なお、この “ファイヤーウォール” はTCP/UDPのパケットしか通しませんので ping(=ICMP)は通しません。

(2) ポート開放

たとえばゲストOSの ssh(ポート番号22) をホストOSのポート番号5555で待ち受ける場合

上記3節(4) でのqemu.exe のオプションに次の内容を加える

  -redir tcp:5555::22 

このオプションは複数指定できるので、開放したいポート数だけ追加指定する

(3) Windowsゲストと LAN内PC間でのファイル共有

一部問題があり、ファイル共有においてLAN内の外部PCがワークグループ接続のリストに現れない。

接続には、面倒だが外部PCのIPアドレスと共有フォルダ名(例えば、"\\192.168.24.3\[共有フォルダ名]")

をゲストOS側で「ネットワークドライブの割り当て」にて直接指定する。

なお、ホストOS側でファイルを公開すると、 ゲストOSからは共有名 "\\10.0.2.2\[共有フォルダ名]") で

アクセスできます。


5.Windows XP のインストールについて

(1) インストール途中でハングアップ

インストール中残り33分の時点でハング、ドライバ認識不調が原因のようです

ハングしてる最中も、例の紙芝居(windowsの宣伝文句の垂れ流し)は動き続けますが、騙されず、 強制再起動で次のステップに進みます。

その際、起動バッチファイルの -boot オプションをはずしてハードディスクからの起動に切り替えてください

(2) ネットワークアダプタのドライバが認識されず

今回使用した qemu のバージョンでは、ネットワークアダプタと他1件のドライバが認識されませんでした。

ネットワークオプションを以下の様に変更し、カードを rt8139 エミュレーションに替えます

  -net nic,model=rtl8139 -net user 

ドライバーは Drivers for QEMU devicesより入手してください。

ネット無しでドライバーをゲストOSに渡すのは難しいですが、筆者はドライバーをCDRWに書いてからISOファイル化し、マウントして渡しました


6.Windows 2K のインストールについて

(1) win2k-hack オプションは不要

かつてWindows 2K インストール時に必要でした win2k-hack オプションは Qemu 0.14 から必要なくなりました。

(2) インストール途中でハングアップ

前5章のXPと同様、インストール中によく止まります。めげずに再起動してください

(3) ネットワークアダプタのドライバが認識されず

対処法は上記XPと同じです。


7.Windows 98 のインストールについて

(1) FD 起動用オプション

Win98 より以前は FD からの同が必要です。たとえば以下の様にオプションを与えます

  -boot a -fda fd1.vfd 

fd1.vfd の所はフロッピーのイメージファイル名です。お好みで設定してください

OS伝説で遊ぼうのこーなーへ戻る


ichmy本家サイト

OS伝説で遊ぼうのこーなー