技能库 / 创意写作 / Windows 11 无头虚拟机(Docker)

Windows 11 无头虚拟机(Docker)

在 Docker 中创建、管理或通过 SSH 连接无图形界面的 Windows 11 虚拟机;适用于启动、停止、重启或远程登录 Windows VM。

v1.0.0
作者 / 来源

github-obra

在来源站打开

安装方式

CLI 安装(推荐)

claw install oss-superpowers-lab-windows-vm

需要安装 CLAW CLI

手动下载安装

下载 ZIP 后解压到技能目录即可安装。若在桌面客户端 WebView中直接下载出现异常,本站会改为提示页 + 原始链接,请按页内说明操作。

下载 ZIP (oss-superpowers-lab-windows-vm-v1.0.0.zip)

触发指令

/windows-vm

使用指南

无图形界面 Windows 11 虚拟机

通过 dockur/windows 在 Docker 中运行带 KVM 加速的 Windows 11 虚拟机。仅通过 SSH 访问,无需 RDP 或本地图形界面。

主机环境要求

  • 已安装 Docker
  • KVM:宿主机需有 /dev/kvm(可用 ls /dev/kvm 检查)
  • sshpass(示例:sudo apt install sshpass
  • imagemagick(可选,用于截屏排查:sudo apt install imagemagick

配置说明

| 项目 | 说明 | |------|------| | 容器名 | windows11 | | 虚拟机目录 | $HOME/windows-vm/ | | storage/ | 虚拟磁盘(由 dockur 管理,重建容器时可能被清空) | | iso/win11x64.iso | 缓存的 Windows 安装镜像(约 7.3GB,可长期保留) | | oem/install.bat | 安装后脚本(用于安装 OpenSSH Server) | | 账号 | 默认 user / password(可按镜像文档修改) | | SSH | 127.0.0.1:2222(仅本机) | | RDP | 127.0.0.1:3389(备用) | | Web 控制台 | 127.0.0.1:8006(浏览器里 VNC,调试用) | | 资源示例 | 8GB 内存、4 核、64GB 磁盘 |

常用操作

create — 首次创建或完整重建

  1. 创建目录:
mkdir -p "$HOME/windows-vm/oem" "$HOME/windows-vm/storage" "$HOME/windows-vm/iso"
  1. $HOME/windows-vm/oem/install.bat 中配置 OpenSSH 安装逻辑(与官方仓库示例一致)。

  2. 若重建虚拟机,先停容器并删除旧盘:

docker stop windows11 && docker rm windows11
rm -f "$HOME/windows-vm/storage/data.img"
  1. 已有缓存 ISO$HOME/windows-vm/iso/win11x64.iso)时,挂载为 /boot.iso 启动容器;首次无 ISO 时不要挂 /boot.iso,并设置 VERSION="win11" 由容器拉取。安装完成后请尽快把 ISO 复制到 iso/ 目录,避免重建时重复下载。

  2. 安装与首次开机约 20–30 分钟。可用 docker logs -f windows11 或浏览器打开 http://localhost:8006 查看进度。

  3. 检查 SSH 是否就绪:

sshpass -p 'password' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 -p 2222 user@localhost "whoami"

start / stop / restart

docker start windows11
docker stop windows11
docker restart windows11

status — 查看状态

docker ps -f name=windows11 --format "table {{.Status}}\t{{.Ports}}"
docker logs windows11 2>&1 | tail -5

ssh — 登录虚拟机

ssh -p 2222 user@localhost

重要提示

  • --cap-add NET_ADMIN:端口转发依赖,缺省可能导致转发静默失败。
  • --device /dev/kvm:硬件加速所需。
  • ISO 缓存/storage 在部分重建场景会被 dockur 清空,请把长期保存的 ISO 放在 iso/ 并挂载为 /boot.iso
  • 端口均绑定 127.0.0.1,不对局域网暴露。
  • 重建后 SSH 主机密钥会变,需执行:ssh-keygen -f ~/.ssh/known_hosts -R '[localhost]:2222'

与 Claude Code / Node 相关

在 VM 内安装 Node、全局包时,注意 系统 PATHPowerShell 执行策略 以及 通过 SSH 执行复杂 PowerShell 时的引号转义。长脚本建议用 stdin 管道 喂给 powershell -Command -,减少嵌套引号错误;单行命令注意对 $" 的 SSH 与远程双层转义。具体 docker run 参数、卷挂载与环境变量以 dockur/windows README 为准。