Windows 虚拟机
Omarchy 提供了一种通过 Docker 虚拟机运行 Windows 的简便方式。可在 Omarchy 菜单(Super + Space)中使用 安装 > Windows 进行安装。
这需要设备支持 KVM 虚拟化,大多数设备都支持;不过它有时会在 BIOS 中被关闭,安装程序会在此情况下提示你。还需要足够的磁盘空间:分配给 Windows 的容量之外,镜像本身还需要约 10GB。
安装程序会询问要分配的 RAM、CPU 核心数和磁盘容量(建议至少 64GB),然后要求设置 Windows 用户名和密码。留空时默认使用 docker / admin。下载需要一些时间——10–15 分钟很正常——可在浏览器中访问 http://127.0.0.1:8006 查看进度。打开控制台前,浏览器会要求输入同一组用户名和密码。

安装完成后,从应用程序启动器启动 Windows。如果虚拟机尚未运行,该操作会启动它并通过 RDP 以全屏模式连接。冷启动时请等待 15–30 秒。
RDP 会话支持声音、麦克风和共享剪贴板,因此可直接在 Linux 与 Windows 间复制文本。分辨率会跟随窗口变化,Omarchy 也会传递显示缩放设置,因此在 HiDPI 屏幕上不会模糊。
关闭 RDP 窗口后,虚拟机会自动关机。如果希望它继续运行——例如其中有任务正在执行——请改用 omarchy windows vm launch --keep-alive 启动。
其余控制也使用同一命令:
omarchy windows vm status # is it running?omarchy windows vm stop # shut it downomarchy windows vm launch # start and connect主目录中的 ~/Windows 会自动与虚拟机共享。如需让 Windows 访问文件,请将它们放在此处。虚拟机无法访问文件系统的其他部分,因此不必担心 Windows 端的恶意内容影响其他文件。它自己的虚拟磁盘位于 ~/.windows。
这些熟悉的主目录路径保留在各自的文件系统中。它们也可以是指向你拥有目录的符号链接,这在虚拟磁盘位于更大的驱动器上时很有用。安装程序测量的是实际包含 ~/.windows 的文件系统可用空间,不一定是包含主目录的文件系统。
请将磁盘路径与共享路径保持为独立且不重叠的目录。移除时会特意清空磁盘目录,但保留共享目录。删除前,Omarchy 会执行有时限的包含关系检查;若检查超时或无法证明两个目录树彼此独立,则会拒绝删除任何内容。
启动虚拟机前,Omarchy 会打开并固定这两个目录,随后将精确的目录 inode 绑定挂载到 /var/lib/omarchy/windows/mounts 下仅限该用户的锚点。Docker 只能看到这些受 root 保护的锚点。这样既能保留自定义磁盘位置,也能防止另一个以你身份运行的进程在特权容器使用前替换已检查的路径。迁移时,现有磁盘和共享目录会收紧为 0700 权限,避免其他本地账户浏览其内容。
虚拟机的端口只绑定到 localhost,因此网络中的其他设备无法访问这台 Windows 机器。Web 控制台还要求输入配置的 Windows 用户名和密码,防止其他本地账户通过 8006 端口控制虚拟机。
此方案不支持 GPU 直通,因此不适合游戏或视频编辑;但很适合运行 Microsoft Office 或其他不可替代的软件。
安装的是未激活的 Windows 11 专业版。使用受限功能需要你自己的许可证密钥。
如果这台电脑出厂时预装 Windows,即使安装 Omarchy 后,OEM 密钥仍保存在固件中。可使用 omarchy windows key 输出它。该密钥绑定于这台设备:它可激活重新安装在同一硬件上的 Windows,但通常无法激活虚拟机。
之后可再次运行 omarchy-windows-vm install 来更改资源分配,它会根据你的回答重写虚拟机配置。Compose 文件位于 /var/lib/omarchy/windows/docker-compose.yml 且由 root 所有——这是有意设计,可防止以你身份运行的进程重写它,并让特权启动过程将整块磁盘挂载进容器。如需手动编辑(例如挂载 USB 设备),请使用 sudo,并参阅 Dockur Windows 项目的所有选项。
如需完全移除,请在 Omarchy 菜单中使用 移除 > Windows。这会删除虚拟机磁盘及其全部数据,因此请先将重要内容移出 ~/Windows。