关于 install-windows-3.11
为在 QEMU 虚拟机中安装并运行 Windows 3.11 提供操作指导,涵盖显示配置、VNC 与网页访问设置,以及启动验证和故障排查。
主要功能
- 01Windows 3.11 的 QEMU 参数
- 02Cirrus VGA 与磁盘配置
- 03VNC 和 noVNC 网页访问
- 04QMP、网络与启动验证
- 05常见配置故障排查
适用场景
- 01配置 Windows 3.11 虚拟机
- 02通过 VNC 或 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
概述
本技能提供在 QEMU 虚拟机中安装和运行 Windows 3.11 的操作知识,并通过 VNC 和 Web 访问。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 | 磁盘接口 | 为兼容旧版操作系统而使用 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 界面
若要通过 Web 访问 VNC 会话:
-
安装 websockify:将 WebSocket 连接桥接到 VNC
pip install websockify -
启动 websockify:
websockify --web=/usr/share/novnc 6080 localhost:5901 -
配置 nginx(如有需要):
- 修改前使用
nginx -T检查现有 nginx 配置 - 查找冲突的 server 块或端口绑定
- 在
/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 的启动时间有所不同。测试前至少等待 30-60 秒,而不只是等待 10 秒。
常见问题
缺少 VGA 配置
问题:QEMU 已启动,但显示为空白或乱码。
解决方案:在 QEMU 命令中添加 -vga cirrus 或 -vga std。
套接字路径错误
问题:测试无法连接到 QMP 监视器。 解决方案:在测试/文档中检查预期的套接字路径。常见路径:
/tmp/qemu-monitor.sock/tmp/monitor-socket/var/run/qemu-monitor.sock
Nginx 配置冲突
问题:Nginx 启动失败或代理无法正常工作。 解决方案:
- 修改前运行
nginx -T查看完整配置 - 检查是否存在冲突的 server 块
- 确保没有重复的
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 确实启动并进入桌面