Ichmy's Qemu

あなたは
3 5 1 9 3 5 5
人目のお客様です。 (本日562人目、昨日1161人) (from 2007-09-30)

Qemuで遊ぼうのこーなー

0.目次

1.このこーなーの概要

2.Qemuとは

3.Qemuの遊び方

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

6.FreeBSD のインストールについて

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

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

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

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


1.このこーなーの概要

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

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

OS Addin UEFI
対応
状況
Windows7 無し 無し 問題なし
WindowsXP(pro-32bit) 問題なし
Windows2000 起動に失敗
Windows98SE Netは要Tips
Windows95
Windows3.1
日本語MSDOS6.2V
Ubuntu 25.04 重くてつかえないが動作は問題なし
Debian 12 bookworm
Fedora 42
Rocky Linux 9.5 起動に失敗
Miracle Linux 9.4
open SUSE Leap 15.6 インストールが途中で固まる
Oracle Solaris 11.4 インストーラー起動に失敗
FreeBSD 14.2R 動作に問題なし
NetBSD 10.1
Windows10(評価版) 重くてつかえないが動作は問題なし

※ Addin相当のソフトは存在するのですが、筆者未対応


2.Qemuとは

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

劣悪です。 しかし、

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

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

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

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


3.Qemuの遊び方

(1) 概要

Qemu (Win版) の遊び方について、以前は詳しく解説されていたサイトがあった のですが閉鎖され

たので、 以下、遊ぶための最低限の設定を紹介します


(2) インストール

まず、QEMU Binaries for Windows and QEMU Documentationからインストーラをダウンロード

します。 母艦OSが64bit用のかたはw64のディレクトリから、32bitの方はw32から、 日付の新しいインストーラをダウンロードしてください

筆者 が起動に成功している最新版は、https://qemu.weilnetz.de/w64/qemu-w64-setup-20250422.exeです。 (Qemu10.0.0)

以後の説明ではこれを展開インストールして C:¥Program Files¥qemuに置き、ワーク用フォルダをD:¥qemuに作成したものとして説明します。


(3) とりあえずの起動テスト

インストールがうまくいったかのテストとして、とりあえず起動させます。 ただし、パソコンで言う

ところの起動ディスクもない状態からスタートなので、起動できないよってエラーを吐いて終わり

ですが、以下の手順でここまで確認してください

(tips)
なお、powershell を起動するには
① windows11の場合は、(a)スタートボタンをクリック、(b)「すべてのアプリ」をクリック、
            (c)「た」欄にあるターミナルを起動
② windows10の場合は(a)(b)は同じで、(c)「w」欄にあるwindowsツールをクリック
               (d)「Windows PowerShell」を起動
   また、下記powershell例題内では円「¥」記号はすべてバックスラッシュ「\」で表示されるので
   日本語キーボードでは、バックスラッシュ「\」で表示されているところは、円「¥」キー
   を押して入力してください
 (ワークフォルダに移動)
 PS C:\Users\ichmy> d:
 PS D:\> cd \qemu
 (環境変数のPATHを弄ると怖いので、powershell内だけ有効になるようにPATHを通します)
 PS D:\qemu> $ENV:Path+=";C:\Program Files\qemu"
 (とりあえずの起動)
 PS D:\qemu>  qemu-system-x86_64.exe

(4) UEFIファームウェアの起動確認

 (前節(3)の環境変数設定まで実施ののち)
 PS D:\qemu>  qemu-system-x86_64.exe -drive if=pflash,format=raw,readonly=on,file="C:\Program Files\qemu\share\edk2-x86_64-code.fd"
  起動すると「TianoCore プロジェクト」のバナーが表示され、UEFI shell に落ちます

(※)UEFI shell からexitと入力することでUEFI設定画面にいけますが、ここでの設定はリセット

   以降までで、電源を落とすと、設定が消えます

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

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

作ってくれるのですが、qemu では powershell から作ります。

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

 (ハードディスクイメージファイルを作成)
 PS D:\qemu> qemu-img.exe create -f qcow2 harddisk.qcow2 32G 

各オプションの意味は

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

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

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

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

④ 32G : ディスク容量


(3) 起動条件設定

qemu を起動するには手打ちでもいいのですが、コマンドオプション入力が面倒なのでバッチファイルを作成します

バッチファイルを作成するには以下の内容をメモ帳にて作成し、FreeBSD.batと名前を付けて

先ほどのフォルダに入れます

@ECHO OFF
set PATH=%PATH%;C:\Program Files\qemu
START qemu-system-x86_64w.exe ^
  -name "Ubuntu" ^
  -machine q35 ^
  -m 4G ^
  -smp 2 ^
  -boot order=dc,menu=on ^
  -drive if=pflash,format=raw,unit=0,readonly=on,file="C:\Program Files\qemu\share\edk2-x86_64-code.fd" ^
  -drive file=harddisk.qcow2 ^
  -cdrom ubuntu.iso

各オプションの意味は

① set PATH=%PATH%;C:\Program Files\qemu : さきほどqemuをインストールしたフォルダ

 をコマンドサーチパスに加えます。上級者の方はコントロールパネルから設定してもいいのですが

  ここでは環境を汚さないために、qemu起動毎に設定しています

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

③ -name "Ubuntu" : 起動後のウインドウの左上に表示される名前を指定

④ -machine q35 : エミュレートする計算機のタイプ(チップセット)

⑤ -m 4G : ゲストOSに与える主記憶容量GB。(MだとMB単位で指定できます)

⑥ -smp 2 : 仮想CPU数の設定。この例では2個

⑦ -boot order=dc,menu=off : ブート順の設定。この例では、CD、ハードディスクの順

⑧  -drive if=pflash,f……(省略) : 上記(4)節のUEFI起動指定

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

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

(5) qemu モニタの使い方

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

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

① ゲストOSが表示されている画面から、カーソルを外すには「Ctrl + Alt +G」を押します

② ゲストOSが表示されている画面から「view」のタグをたたき、下の方にあらわれる

  「Show Tags」のチェックを入れます

③ 選べるタグが現れ、「compat_monitor」を選ぶとqemuモニター画面が表示され

  「VGA」を選ぶと 元のゲストOS画面が表示されます

④ このqemuモニター画面で以下のように、いろいろ操作できます

 (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イメージファイルのマウント

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

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


4.Qemuを加速する(今Verのqemuでは動作に失敗)

(1) 概要

上記3.の使い方では、いくらなんでも遅すぎで、死にかけたかと思います

Windows11母艦の場合は仮想マシンプラットフォーム(WHPX)を使うと早くなるはずなのですが、今Verのqemuでは失敗


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

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

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

   +----------+                 +------------------+         +--------+
   |ゲスト OS |---------------->|ファイヤーウォール|-------->|ホストOS| ---> internet
   |          | (qemu内仮想LAN) |                  |         |        |
   +----------+                 +------------------+         +--------+
   10.0.2.15                     10.0.2.2 = ルーター        192.168.1.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 のオプションに次の内容を加える

  -nic user,hostfwd=tcp::5555-:22 

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

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

まず、smb内臓Sambaサーバーですが、Win母艦ではうまく動かせませんでした

また、LAN内の外部PCにその替わりをさせる場合ですが、ファイル共有においてワークグループ接続のリストに現れない。

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

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

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

アクセスできます。


6.FreeBSD のインストールについて

(1) Xorgの設定

FreeBSDでは、残念ながらXorgの自動ドライバ認識に失敗。昔ながらの手動設定が必要でした

やり方を忘れた方が大半かと思うので、解説します

まずは、FreeBSDで遊ぼうのこーなの3(2)節Xorgの導入まで進めて下さい、 その後、特権ユーザーで

 # Xorg -configure
  (※) エラーで止まりますが気にしない
 # cp /root/Xorg.conf.new /etc/X11/xorg.conf

その後、/etc/X11/xorg.conf の以下の行を編集

Section "Device"
  (中略)
  Driver "modesetting"  ← この行を
  ↓修正して
  Driver "scfb"  ← このように変える

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

(1) インストールTips

windows7には、今回使用したrealtek ac97のドライバが無いため、こちらからダウンロードしてください

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

(1) WinXP用 qemu 起動オプション

今回テストするwindowsXP(pro-32bit版)は、インストール時のメモリに上限2GBがあり、

以下起動オプションを一部変更

また、なるべくWinXP無印内臓ドライバで動く構成に変更しました

 START qemu-system-i386w.exe -m 2G  -soundhw ac97 -cdrom winxp-pro.iso ^
  -vga cirrus  -drive file=harddisk.qcow2 ^
  -netdev user,id=user.0 -device pcnet,netdev=user.0 ^
  -boot once=d 

変更したオプションの意味は

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

② -m 2G : WinXP(pro-32bit)のインストール時上限

③ -vga cirrus : ビデオカードにCirrus Logic GD5446 を指定しています

④ -netdev (中略) -device pcnet : イーサカードに AMD Ethernet Card を指定しています

⑤ -smp -accel は外します( accelはかえって重くなった)

(2) インストールTips

インストール中の細かな注意点ですが

① 最初のキーボードを選択する画面で、半角/全角キーを押して106日本語キーボードを選ぼうとする場面
  で、同キーを押してもゲストOSに伝わらない その際は、「S」キーを押して、次の画面で選択できます

② CDROM交換を求められた際には上記qemuモニタの項を参照ください

(3) インストール途中でハングアップした場合の対処

今回の筆者の環境では起こりませんでしたが、qemu上WinXPではインストール中よくハングします

ドライバ認識不調が原因のようです

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

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

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

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


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

いろいろオプション変えてみたのですが、起動に失敗


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

(1) Win98SE用 qemu 起動オプション

今回テストするwindows9xは、インストール時のメモリに上限512MBがあり、

以下起動オプションを一部変更

また、なるべくWin98SE内臓ドライバで動く構成に変更しました

 START qemu-system-i386w.exe  -M pc  -L Bios ^
  -m 512M   -soundhw es1370  -cdrom win98SE.iso ^
  -vga cirrus ^
  -rtc base=localtime,clock=host -parallel none -serial none ^
  -name win98SE  -drive file=harddisk.qcow2,media=disk,cache=writeback ^
  -netdev user,id=user.0 -device ne2k_pci,netdev=user.0 ^
  -boot once=d -usb

変更したオプションの意味は

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

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

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

  -boot a -fda fd1.vfd 

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

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


ichmy本家サイト

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