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

原始链接在: 如果你有一台小主机,这可能是最好的 Windows 安装方式,从 XP 到 Windows 11,应有尽有 - 小众软件

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

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

小主机就是那种尺寸很小、功耗很低的设备,一般用来当旁路由、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

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

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

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

Value Version Size
11 Windows 11 Pro 5.4 GB
11l Windows 11 LTSC 4.7 GB
11e Windows 11 Enterprise 5.3 GB
10 Windows 10 Pro 5.7 GB
10l Windows 10 LTSC 4.6 GB
10e Windows 10 Enterprise 5.2 GB
8e Windows 8.1 Enterprise 3.7 GB
7u Windows 7 Ultimate 3.1 GB
vu Windows Vista Ultimate 3.0 GB
xp Windows XP Professional 0.6 GB
2k Windows 2000 Professional 0.4 GB
2025 Windows Server 2025 6.7 GB
2022 Windows Server 2022 6.0 GB
2019 Windows Server 2019 5.3 GB
2016 Windows Server 2016 6.5 GB
2012 Windows Server 2012 4.3 GB
2008 Windows Server 2008 3.0 GB
2003 Windows Server 2003 0.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://afdian.com/a/qingxwa (打赏我们,让我们更好的创作)

提问,这样安装的windows能不能装模拟器。然后性能如何(比如核显能调用么)

这样写更明了:
小主机就是那种安装linux系统的 尺寸很小、功耗很低的设备,一般用来当旁路由、NAS、影音服务器。因为内存往往很小,基本上不会用来装 Windows。

——通过kvm安装了win,只会更慢。但能运行win32应用,就是适合最广泛的

如果不支持KVM 虚拟化是不是就不能用了?

在一个Linux的docker环境中能否运行一个Windows并且利用英伟达显卡cuda加速?

肯定呀

不如直接esxi,什么系统都能装,还带管理后台