如果你有一台小主机,这可能是最好的 Windows 安装方式,从 XP 到 Windows 11,应有尽有
文章介绍如何在小主机上使用Docker和KVM虚拟化技术安装多种Windows系统(从XP到Windows 11),并支持远程访问。 2025-9-17 08:38:36 Author: www.appinn.com(查看原文) 阅读量:12 收藏

Home

Windows

如果你有一台小主机,这可能是最好的 Windows 安装方式,从 XP 到 Windows 11,应有尽有

如果你有一台小主机,只要能安装 Docker,打开 KVM 虚拟化,就能随手安装一台 Windows 操作系统,随用随抛,从 XP 到 Windows 11,再到 arm Windows、macOS,应有尽有。

甚至,你可以用这台 Windows 来给主机刷 BIOS。是的,这大概是小主机里极少数的还需要 Windows 的场景 😂

如果你有一台小主机,这可能是最好的 Windows 安装方式,从 XP 到 Windows 11,应有尽有 1

小主机就是那种尺寸很小、功耗很低的设备,一般用来当旁路由、NAS、影音服务器。基本上不会用来装 Windows,毕竟没啥用啊。

但是,如果你想,那就可以。

先检测 KVM 虚拟化

sudo apt install cpu-checker
sudo kvm-ok

如果在小主机上运行了 kvm-ok 没有出现 not support 字样,那么恭喜你,可以继续了。

Docker 容器内的 Windows

这个项目就叫 Windows,自身大小只有129.7MB,不带系统镜像。但是它会从微软官方下载镜像,非激活版本,无任何版权材料,可放心食用。

(上面这句话的意思是需要用户自行解决激活 Windows 的事情)

然后就是经典的 Docker 命令:

docker run -it --rm --name windows -p 8006:8006 -p 3389:3389/tcp -p 3389:3389/udp --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v "${PWD:-.}/windows:/storage" --stop-timeout 120 dockurr/windows

(想要后台运行,就把上面的 --rm 换成 -d

只需要以上一行,就可以打开浏览器访问 http://127.0.0.1:8006/ 查看安装进度了,默认安装 Windows 11 Pro

如果你有一台小主机,这可能是最好的 Windows 安装方式,从 XP 到 Windows 11,应有尽有 2

整个安装过程将完全自动,最终你会直接看到桌面:

如果你有一台小主机,这可能是最好的 Windows 安装方式,从 XP 到 Windows 11,应有尽有 3

如果你想安装其他操作系统,只需要在上面的命令行,添加 -e VERSION="xp" 就可以了。

以下是支持的操作系统,看到 Windows XP 只有 600MB,真好:

ValueVersionSize
11Windows 11 Pro5.4 GB
11lWindows 11 LTSC4.7 GB
11eWindows 11 Enterprise5.3 GB
10Windows 10 Pro5.7 GB
10lWindows 10 LTSC4.6 GB
10eWindows 10 Enterprise5.2 GB
8eWindows 8.1 Enterprise3.7 GB
7uWindows 7 Ultimate3.1 GB
vuWindows Vista Ultimate3.0 GB
xpWindows XP Professional0.6 GB
2kWindows 2000 Professional0.4 GB
2025Windows Server 20256.7 GB
2022Windows Server 20226.0 GB
2019Windows Server 20195.3 GB
2016Windows Server 20166.5 GB
2012Windows Server 20124.3 GB
2008Windows Server 20083.0 GB
2003Windows Server 20030.6 GB

docker-compose.yml

下面是拥有参数的 docker-compose.yml 文件,按需删减,然后 docker-composeup -d 运行即可:

services:
  windows:
    image: dockurr/windows
    container_name: windows
    environment:
      CPU_CORES: "4"  #更改CPU核心
      RAM_SIZE: "8G"  #更改内存大小
      VERSION: "11"   #更改操作系统
      DISK_SIZE: "64" #更改磁盘的大小
      USERNAME: "appinn"  #配置用户名
      PASSWORD: "com"     #配置密码
      LANGUAGE: "Chinese" #更改系统语言
      DHCP: "Y"           #自动获取IP地址
      # VERSION: "https://example.com/win.iso"  #自定义系统镜像(下载)
      # MANUAL: "Y"       #手动安装
      # DISK2_SIZE: "64G" #创建磁盘
      # ARGUMENTS: "-device usb-host,vendorid=0x1234,productid=0x1234" #直通USB
    devices:
      - /dev/kvm
      - /dev/net/tun
      - /dev/vhost-net    #自动获取IP地址
      # - /dev/sdb:/disk1 #直通磁盘
      # - /dev/bus/usb    #直通USB
    device_cgroup_rules:  #自动获取IP地址
      - 'c *:* rwm'       #自动获取IP地址
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    volumes:
      - ./windows:/storage        #与主机共享文件
      # - ./example.iso:/boot.iso #自定义系统镜像(本地)
      # - ./example2:/storage2    #创建磁盘
    restart: always
    stop_grace_period: 2m

使用 RDP 远程控制

可以使用任何 RDP 客户端,比如微软自己的 Windows App 客户端进行连接,默认使用用户名 Docker 和密码 admin 。

甚至,还有 ARM Windows、macOS

但这是另外两个项目了:windows-armmacos

最后问题来了,你有小主机吗?


原文:https://www.appinn.com/windows-inside-a-docker-container/


文章来源: https://www.appinn.com/windows-inside-a-docker-container/
如有侵权请联系:admin#unsafe.sh