
看着市面上百花齐放的开源大模型,谁不想在本地养一个专属的、保护隐私的 AI 助手?
手持 i7-14700K + 64GB 内存 + RTX 4070 SUPER (12GB 显存) 的配置,本以为在 Windows 下装个环境轻轻松松,结果却踩了无数关于 C 盘爆满、显存溢出、网络代理失效以及模型“胡言乱语”的深坑。
如果你也是 12GB 显存的玩家,或者正在被 WSL2 的默认设置折磨,请直接抄作业。这篇文章将手把手带你避开所有暗礁,搭建一个满血运行的本地 AI 工作站。
在 Windows 下跑 AI,目前最稳的方案是使用 WSL2(Windows 下的 Linux 子系统)。但微软默认会把它装在 C 盘,一旦后续下载十几个 G 的大模型,你的 C 盘会瞬间爆红。
核心战略:先安装,立刻“搬家”到 D 盘。
右键点击 Windows 的“开始”菜单,选择 “终端 (管理员)” 或 “PowerShell (管理员)”,执行:
powershellwsl --install
安装完成后重启电脑,并在弹出的 Ubuntu 终端里设置初始账号和密码。
既然 D 盘空间大(比如咱们那 1007G 的空间),就必须把它挪过去。继续在 PowerShell (管理员) 中一行行执行:
powershell# 彻底关闭 WSL wsl --shutdown # 打包导出到 D 盘根目录(可能需要几分钟) wsl --export Ubuntu D:\ubuntu_backup.tar # 注销原系统(关键操作!瞬间释放 C 盘空间) wsl --unregister Ubuntu # 在 D 盘新建文件夹并重新导入 wsl --import Ubuntu D:\WSL_Data D:\ubuntu_backup.tar # 清理过渡文件 del D:\ubuntu_backup.tar
WSL2 是一只贪婪的性能野兽,如果不加限制,它会吃光你的物理内存。此外,默认的 NAT 网络模式是本地跑服务和挂代理的噩梦。我们需要给它写一份**“配置文件”**。
Win + R 打开运行窗口,输入 %USERPROFILE% 回车。.wslconfig。ini[wsl2]
# 限制最大使用内存(建议设为物理内存的 1/3 或 1/2,我有 64G,所以给 24G)
memory=24GB
# 限制使用的 CPU 核心数
processors=8
# 自动回收空闲内存
guiApplications=false
[experimental]
# 开启镜像网络(核心!让 WSL 和 Windows 共享局域网 IP,告别端口转发)
networkingMode=mirrored
# 开启 DNS 隧道
dnsTunneling=true
# 自动同步代理(WSL 将自动使用 Windows 系统的局域网代理,拉取镜像直接起飞)
autoProxy=true
保存后,在 PowerShell 执行 wsl --shutdown 重启服务使其生效。(注:启动时如果提示 localhostForwarding 无效,属于正常现象,忽略即可。)
在 WSL2 时代,只要你的 Windows 宿主机装了最新的 NVIDIA 显卡驱动,WSL 内部天然就能调用显卡,无需在 Linux 里重复装驱动。
进入 Ubuntu 终端(在 PowerShell 输入 wsl),依次执行以下命令:
bashcurl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh
直接复制这整段并回车:
bashcurl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
更新并重启服务:
bashsudo apt-get update sudo apt-get install -y nvidia-container-toolkit sudo nvidia-ctk runtime configure --runtime=docker sudo systemctl restart docker
创建一个工作目录并编写 docker-compose.yml,一次性把后端(Ollama)和前端(Open WebUI)拉起来。
bashmkdir -p ~/ai-workspace && cd ~/ai-workspace
nano docker-compose.yml
填入以下内容(这里将模型路径直接映射到了 D 盘,进一步保护系统盘):
yamlservices:
ollama:
image: ollama/ollama:latest
container_name: ollama
volumes:
- /mnt/d/ollama:/root/.ollama
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
restart: unless-stopped
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
volumes:
- ./webui_data:/app/backend/data
ports:
- 3000:8080
environment:
- 'OLLAMA_BASE_URL=http://ollama:11434'
- 'HF_ENDPOINT=https://hf-mirror.com' # 国内镜像加速
restart: unless-stopped
保存退出(Ctrl+O, Enter, Ctrl+X),然后一键启动:
bashsudo docker compose up -d
此时,打开浏览器访问 http://localhost:3000,注册管理员账号,你的 AI 基地就建好了!
⚠️ 巨坑警告:千万不要去乱下
.gguf文件手动导入! 极易丢失对话模板(Template)和停止词,导致 AI 像精神分裂一样胡言乱语。一定要通过官方命令拉取!
对于 12GB 显存的 RTX 4070 SUPER,Qwen 3.5 (9B) 是完美的“甜点级”选择。它能 100% 塞进显存,速度极快,且原生支持视觉(Vision)多模态。
在 Ubuntu 终端执行:
bashdocker exec -it ollama ollama pull qwen3.5
如果你发现模型出字慢,大概率是因为“上下文缓存 (Context)”吃光了显存,导致运算掉进了 CPU。
2048 并保存。docker exec -it ollama ollama ps。只要 PROCESSOR 栏显示 100% GPU,你的 4070S 就已经满血释放,出字速度将如丝般顺滑!WSL2 的 .vhdx 虚拟硬盘文件有一个“只大不小”的毛病。清理了 Docker 废弃镜像后,你需要手动给它“抽脂”。
关闭 WSL (wsl --shutdown) 后,在 PowerShell (管理员) 执行 diskpart,依次输入:
textselect vdisk file="D:\WSL_Data\ext4.vhdx" attach vdisk readonly compact vdisk detach vdisk exit
在折腾出一个完美的纯净环境后,养成打快照的好习惯:
powershellwsl --export Ubuntu D:\Ubuntu_Perfect_Snapshot.tar
以后系统被玩崩了,只需 unregister 删掉坏的,再 import 这个备份包,三分钟满血复活。
至此,一个不吃 C 盘、满血释放 GPU、网络畅通无阻的本地 AI 工作站彻底大功告成。放开手脚去折腾吧!
本文作者:小转圈
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!