mcpField
I
install-windows-3.11

install-windows-3.11

github.com/letta-ai云与 DevOps1520 次安装4 周前更新
代码仓库

关于 install-windows-3.11

为在 QEMU 虚拟机中安装并运行 Windows 3.11 提供操作指导,涵盖显示配置、VNC 与网页访问设置,以及启动验证和故障排查。

主要功能

  1. 01Windows 3.11 的 QEMU 参数
  2. 02Cirrus VGA 与磁盘配置
  3. 03VNC 和 noVNC 网页访问
  4. 04QMP、网络与启动验证
  5. 05常见配置故障排查

适用场景

  1. 01配置 Windows 3.11 虚拟机
  2. 02通过 VNC 或 noVNC 查看桌面
  3. 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 配置才能正常运行。

安装前检查清单

开始前,请确认以下事项:

  1. 检查预期的文件路径和命名约定 - 测试或验收标准可能要求使用特定路径(例如,/tmp/qemu-monitor.sock 与 /tmp/monitor-socket)。请先查看任何测试文件或文档。
  2. 确定磁盘映像的位置和格式 - 常见位置包括 /app/isos/ 或 /var/lib/qemu/
  3. 确定 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 cirrusVGA 适配器类型Windows 3.11 显示兼容性必需。 备选项:-vga std。不使用此参数可能导致显示异常。
-m 32内存分配32MB 适用于 Windows 3.11
-monitor unix:/tmp/qemu-monitor.sock,server,nowaitQMP 监视器套接字使用预期的套接字路径 - 请查看测试/文档中的命名约定
-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 会话:

  1. 安装 websockify:将 WebSocket 连接桥接到 VNC

    pip install websockify
    
  2. 启动 websockify:

    websockify --web=/usr/share/novnc 6080 localhost:5901
    
  3. 配置 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 启动失败或代理无法正常工作。 解决方案:

  1. 修改前运行 nginx -T 查看完整配置
  2. 检查是否存在冲突的 server 块
  3. 确保没有重复的 listen 指令
过早声称已完成

问题:未实际验证就将任务标记为完成。 解决方案:声称完成前,务必通过目视验证确认 Windows 3.11 已进入桌面。

QEMU 版本兼容性

问题:为较旧 QEMU 版本创建的映像无法正常工作。 解决方案:

  • 检查是否需要旧版计算机类型:-M pc-i440fx-2.0
  • 查看 QEMU 更新日志,了解不同版本之间的重大变更
  • 如果有兼容性标志,请使用它们进行测试

故障排除工作流

  1. 检查 QEMU 是否正在运行:ps aux | grep qemu
  2. 确认 VNC 端口已开放:netstat -tlnp | grep 590
  3. 测试 QMP 套接字:nc -U /tmp/qemu-monitor.sock
  4. 检查 QEMU 日志:运行 QEMU 时使用 -D /tmp/qemu.log 进行调试
  5. 确认 nginx 状态:systemctl status nginx 和 nginx -t
  6. 检查 websockify:ps aux | grep websockify

方法概要

  1. 先进行调研:检查测试和文档中预期的路径及配置
  2. 正确配置 QEMU:包含 VGA 适配器并设置正确的套接字路径
  3. 设置访问层:依次配置 VNC、websockify 和 nginx
  4. 验证每个组件:在每一层测试连接
  5. 确认画面:始终确认 Windows 3.11 确实启动并进入桌面

评论

支持 Markdown