install-windows-3.11 について
QEMU仮想マシンにWindows 3.11をインストールして実行するためのスキルです。ディスプレイ設定、VNCとWebアクセス、起動確認、トラブルシューティングを扱います。
主な機能
- 01Windows 3.11向けQEMU設定
- 02Cirrus VGAとディスクの構成
- 03VNCとnoVNCによるWebアクセス
- 04QMP・接続・起動の確認
- 05設定上の問題の切り分け
活用シーン
- 01Windows 3.11仮想マシンの構成
- 02VNCまたはnoVNCでデスクトップを表示
- 03画面・モニターソケット・プロキシの問題調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ letta-ai/ skills --skill install-windows-3.11インストール後、Claude Code で/install-windows-3.11を入力して読み込まれたか確認します。
詳細
QEMU に Windows 3.11 をインストールする
概要
このスキルでは、VNC と Web ベースのアクセスを利用して、QEMU 仮想マシンに Windows 3.11 をインストールし、実行する手順を説明します。Windows 3.11 はレガシーな 16 ビットオペレーティングシステムで、適切に動作させるには特定の QEMU 設定が必要です。
インストール前のチェックリスト
開始する前に、以下を確認してください。
- 想定されるファイルパスと命名規則を確認する - テストや受け入れ基準で、特定のパス(例:
/tmp/qemu-monitor.sockと/tmp/monitor-socket)が想定されている場合があります。まず、テストファイルやドキュメントを確認してください。 - ディスクイメージの場所と形式を特定する - よく使われる場所には、
/app/isos/や/var/lib/qemu/があります。 - QEMU のバージョン互換性を確認する - イメージが特定の QEMU バージョンで動作すると分かっている場合は、必要な互換性フラグを確認してください。
Windows 3.11 用の QEMU 設定
必須パラメーター
Windows 3.11 を適切に動作させるには、特定の QEMU パラメーターが必要です。
qemu-system-i386 \
-drive file=/path/to/win311.img,format=raw,if=ide \
-m 32 \
-vga cirrus \
-vnc :1 \
-monitor unix:/tmp/qemu-monitor.sock,server,nowait \
-snapshot \
-k en-us
重要なパラメーターの説明
| パラメーター | 用途 | 備考 |
|---|---|---|
-vga cirrus | VGA アダプターの種類 | Windows 3.11 のディスプレイ互換性に必須です。代替:-vga std。これを指定しないと、ディスプレイが動作しない場合があります。 |
-m 32 | メモリ割り当て | 32MB は Windows 3.11 に適しています。 |
-monitor unix:/tmp/qemu-monitor.sock,server,nowait | QMP モニターソケット | 想定されるソケットパスを使用してください。命名規則はテストやドキュメントで確認してください。 |
-snapshot | 不変ディスクモード | 元のイメージへの書き込みを防ぎます。 |
-k en-us | キーボードレイアウト | 米国キーボードのマッピングです。 |
if=ide | ディスクインターフェース | レガシー OS との互換性のための IDE インターフェースです。 |
レガシーシステムでよく使われる VGA オプション
-vga cirrus- Windows 3.x/9x との互換性が最も高い設定です。-vga std- 標準 VGA で、適切な代替オプションです。-vga vmware- VMware SVGA(Windows 3.11 では動作しない場合があります)。
VNC と Web アクセスの設定
VNC の設定
-vnc :1 を使用すると、VNC サーバーはポート 5901(5900 + ディスプレイ番号)で実行されます。
noVNC Web インターフェース
VNC セッションへの Web ベースのアクセスを提供するには、以下の手順を実行します。
-
websockify をインストールする:WebSocket 接続を VNC にブリッジします。
pip install websockify -
websockify を起動する:
websockify --web=/usr/share/novnc 6080 localhost:5901 -
nginx を設定する(必要な場合):
- 変更を加える前に
nginx -Tで既存の nginx 設定を確認してください。 - 競合するサーバーブロックやポートのバインドがないか確認してください。
/etc/nginx/sites-available/に専用の設定ファイルを作成してください。
- 変更を加える前に
検証方法
1. QEMU プロセスを確認する
ps aux | grep qemu
想定されるパラメーターでプロセスが実行されていることを確認してください。
2. QMP モニター接続をテストする
echo '{"execute": "qmp_capabilities"}' | nc -U /tmp/qemu-monitor.sock
想定される応答には {"return": {}} が含まれます。
3. VNC 接続をテストする
nc -zv localhost 5901
4. 画面で確認する(重要)
画面で確認せずに、起動完了を検証済みとして扱わないでください。 確認方法:
vncsnapshotなどのツールを使って VNC のスクリーンショットを撮影する- ヘッドレスブラウザーを使って noVNC Web インターフェースをキャプチャする
- VNC クライアントで接続して手動で確認する
5. 起動完了まで待つ
Windows 3.11 の起動時間は状況によって異なります。テストを始める前に、10 秒ではなく、少なくとも 30~60 秒待ってください。
よくある落とし穴
VGA 設定の不足
問題:QEMU は起動するものの、画面が真っ暗、または乱れて表示されます。
解決策:QEMU コマンドに -vga cirrus または -vga std を追加してください。
ソケットパスの誤り
問題:テストで QMP モニターに接続できません。
解決策:テストやドキュメントで想定されるソケットパスを確認してください。よく使われるパス:
/tmp/qemu-monitor.sock/tmp/monitor-socket/var/run/qemu-monitor.sock
Nginx 設定の競合
問題:Nginx が起動しない、またはプロキシが動作しません。
解決策:
- 変更を加える前に
nginx -Tを実行して、設定全体を確認します。 - 競合するサーバーブロックがないか確認します。
listenディレクティブが重複していないことを確認します。
完了の早まった報告
問題:実際に検証せずにタスクを完了として扱います。
解決策:完了を報告する前に、Windows 3.11 がデスクトップに到達することを必ず画面で確認してください。
QEMU のバージョン互換性
問題:古いバージョンの QEMU 向けに作成されたイメージが正しく動作しません。 解決策:
- レガシーなマシンタイプが必要かどうか確認します:
-M pc-i440fx-2.0 - バージョン間の互換性を損なう変更について、QEMU の変更履歴を確認します
- 利用可能な場合は、互換性フラグを指定してテストします
トラブルシューティングのワークフロー
- QEMU が実行中か確認します:
ps aux | grep qemu - VNC ポートが開いているか確認します:
netstat -tlnp | grep 590 - QMP ソケットをテストします:
nc -U /tmp/qemu-monitor.sock - QEMU のログを確認します:デバッグのために、QEMU を
-D /tmp/qemu.logを付けて実行します - nginx のステータスを確認します:
systemctl status nginxとnginx -t - websockify を確認します:
ps aux | grep websockify
アプローチの概要
- まず調査します:想定されるパスと設定について、テストやドキュメントを確認します
- QEMU を適切に設定します:VGA アダプターと正しいソケットパスを指定します
- アクセスレイヤーを設定します:VNC、websockify、nginx の順に設定します
- 各コンポーネントを検証します:各レイヤーで接続をテストします
- 画面で確認します:Windows 3.11 が実際にデスクトップまで起動することを必ず確認します