WinApps 轻量部署实战:4G 内存旧电脑跑 Windows 应用的完整方案
【免费下载链接】winappsRun Windows apps such as Microsoft Office/Adobe in Linux (Ubuntu/Fedora) and GNOME/KDE as if they were a part of the native OS, including Nautilus integration. Hard fork of https://github.com/Fmstrat/winapps/项目地址: https://gitcode.com/GitHub_Trending/wina/winapps
一台只有 4G 内存的旧笔记本,到底能不能跑 Office?用 WinApps 可以。WinApps 是一个在 GNU/Linux(Ubuntu、Fedora 等)上以虚拟机方式运行 Windows 11 的开源项目,能让 Microsoft 365、Adobe Creative Cloud 这类 Windows 应用以原生程序的形式出现在 Linux 应用菜单里。它适合低配旧电脑:4G 内存、双核 CPU、60GB 磁盘,就能把日常办公撑起来。
旧电脑可行性自查:动手前的两个硬条件
能不能跑,不看品牌年份,看两条硬标准:CPU 是否开了硬件虚拟化、内存是否够 4GB,缺任何一条都不用往下看了。
先解释一下 KVM:它是 Linux 内核自带的虚拟化模块,靠 CPU 的硬件虚拟化指令让虚拟机接近原生速度运行,没有它 Windows 虚拟机会慢到没法用。所以第一步跑一条自查命令,输出非 0 就过关;输出 0 说明 CPU 不支持或开关没开,自查到此结束:
grep -cE 'vmx|svm' /proc/cpuinfo对照下面这份最低资源基线(注意:这是"能跑"的线,不是"跑着舒服"的线):
| 项目 | 最低线 | 我的建议 |
|---|---|---|
| CPU | 双核,开启 VT-x/AMD-V | 有 4 核更好 |
| 内存 | 4GB(虚拟机 2G + 宿主机) | 8GB |
| 磁盘 | 60GB(系统约 40GB + 应用) | 100GB 以上,SSD 优先 |
| 网络 | 稳定连接(要下载系统镜像) | 有线最稳 |
明确排除的机型:2G 内存的机器直接放弃;BIOS 里虚拟化开关关着的(老台式机常见)也别急着重装,先去 BIOS 把它打开再动手。
后端选型:低配旧电脑默认选 Docker 后端
我的建议很直接:多数旧电脑直接用 Docker(或 Podman)后端。原因只有一个——Windows 的安装、优化、RDP 配置全部自动化,资源分配改一个 YAML 文件就行;libvirt 自定义空间更大,但要手工调 XML 和网络,配置复杂度和资源门槛都更高。Podman 与 Docker 用法一致,命令换成 podman-compose 即可,这条路线上两者可互换。
| 维度 | Docker/Podman | libvirt |
|---|---|---|
| 内存 | 4G 即可 | 4G 以上(建议 8G) |
| CPU | 2 核 | 2 核(建议 4 核) |
| 磁盘 | 64G | 80G 以上 |
| 配置复杂度 | 低,改 compose.yaml 两个数值 | 高,手工调 XML 与网络 |
| 适合人群 | 低配旧机器、想快点跑通的人 | 要深度定制虚拟机的人 |
预期管理:4G 内存、2 核的配置下,Office、PDF 和日常办公够用,Photoshop 这类重负载应用会明显卡顿,别抱高期望。官方文档推荐 Docker/Podman 也是同一个理由——它把整个 Windows 配置过程自动化了。
一次部署跑通:从克隆到 Windows 在 Linux 上可用
部署本身不复杂,四步走通,时间大头都花在等 Windows 装系统上。
第一步:装依赖、启动 Windows 容器
以下命令以 Debian/Ubuntu 为例,其他发行版换对应包名即可(Debian 12 需先启用 backports 源才能装 freerdp3-x11):
sudo apt install -y curl git dialog freerdp3-x11 iproute2 libnotify-bin git clone https://gitcode.com/GitHub_Trending/wina/winapps这里提一句 FreeRDP:它是 Linux 上的 RDP(Windows 远程桌面协议)开源客户端,你在 Linux 点 Windows 应用快捷方式时,窗口就是靠它从虚拟机画面里渲染出来的。克隆下来后,只需修改 compose.yaml 里的三个数值:
RAM_SIZE: "4G" CPU_CORES: "2" DISK_SIZE: "64G"调优提示:宿主机只有 4G 内存时,RAM_SIZE 别往上加,虚拟机占太多宿主机会开始换页,整机变慢。改完启动容器:
cd winapps && docker compose --file ./compose.yaml up第二步:VNC 初始化与 WinApps 集成
容器起来即开始装 Windows,浏览器打开 http://127.0.0.1:8006 进入 VNC 界面(远程查看虚拟机屏幕的通道),按向导完成初始化,一般 10-30 分钟,取决于网速。装完可以先关掉容器,以后随用随启。
系统就绪后编辑 ~/.config/winapps/winapps.conf,核心字段如下:
RDP_USER="MyWindowsUser" # Windows 用户名 RDP_PASS="MyWindowsPassword" # Windows 密码 WAFLAVOR="docker" # 后端,与上一步所选一致 RDP_SCALE="100" # 显示缩放文件里有明文密码,权限必须收紧:
chmod 600 ~/.config/winapps/winapps.conf最后运行集成脚本,过程中会依次询问后端、Windows 用户名密码和显示缩放,照提示选即可。跑完后,虚拟机里 Windows 应用的快捷方式就出现在 Linux 应用菜单里,单击即启动:
cd winapps && bash setup.sh低配再榨一点性能:三个值得动的小开关
部署完成后,有三个配置值得动一下,共同点是都在减少 Windows 虚拟机对资源的占用。
- AUTOPAUSE:设为 "on",配合 AUTOPAUSE_TIME="300",空闲 5 分钟后虚拟机自动暂停。对 4G 内存的机器来说这是收益最大的一档。
- RDP_SCALE:低分辨率屏用 100,高分屏才上 140/180;拉太高窗口发虚、帧率下降,旧电脑不划算。
- DEBUG:保持 "true",出问题时 ~/.local/share/winapps/winapps.log 里的日志能给你八成答案。
避坑清单:跑不起来时的三个高频场景
别急着重装,九成情况是下面三件事之一。
- ⚠️虚拟机慢到没法用或起不来:重跑开头那条自查命令,确认虚拟化真的开着;旧电脑十有八九是 BIOS 开关漏开。
- 共享文件夹不生效:Windows 里看不到 Linux 主目录时,执行 lsmod | grep iptable_nat,输出为空就补上 ip_tables、iptable_nat 内核模块再重启。
- RDP 证书报错、应用能起但窗口发黑:残留了过期证书,删掉 ~/.config/freerdp/server/127.0.0.1_3389.pem,下次连接会自动重建。
把旧电脑折腾到这个程度,日常 Office、PDF 和轻度设计已经够用。想往深了走,官方文档:docs/docker.md 与 docs/libvirt.md。
【免费下载链接】winappsRun Windows apps such as Microsoft Office/Adobe in Linux (Ubuntu/Fedora) and GNOME/KDE as if they were a part of the native OS, including Nautilus integration. Hard fork of https://github.com/Fmstrat/winapps/项目地址: https://gitcode.com/GitHub_Trending/wina/winapps
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考