编辑
2026-03-29
技术漫谈
00
请注意,本文编写于 31 天前,最后修改于 31 天前,其中某些信息可能已经过时。

目录

阶段一:基础搭建与 C 盘“大逃亡”
1. 一键安装 Ubuntu
2. 乾坤大挪移(释放 C 盘)
阶段二:打通任督二脉(资源限制与镜像网络)
阶段三:显卡直通与 Docker 环境配置
1. 一键安装 Docker
2. 安装 NVIDIA 容器工具(让 Docker 认识显卡)
阶段四:一键起飞:Ollama + Open WebUI 部署
阶段五:12G 显卡的“天命之选”与极限调优
1. 拉取模型
2. 显存压榨(解决出字龟速问题)
阶段六:后期维护(空间回收与终极“后悔药”)
1. 压榨虚拟硬盘(回收 D 盘空间)
2. 打快照备份(吃后悔药)

Gemini_Generated_Image_ps8kh3ps8kh3ps8k.png

看着市面上百花齐放的开源大模型,谁不想在本地养一个专属的、保护隐私的 AI 助手?

手持 i7-14700K + 64GB 内存 + RTX 4070 SUPER (12GB 显存) 的配置,本以为在 Windows 下装个环境轻轻松松,结果却踩了无数关于 C 盘爆满、显存溢出、网络代理失效以及模型“胡言乱语”的深坑。

如果你也是 12GB 显存的玩家,或者正在被 WSL2 的默认设置折磨,请直接抄作业。这篇文章将手把手带你避开所有暗礁,搭建一个满血运行的本地 AI 工作站。


阶段一:基础搭建与 C 盘“大逃亡”

在 Windows 下跑 AI,目前最稳的方案是使用 WSL2(Windows 下的 Linux 子系统)。但微软默认会把它装在 C 盘,一旦后续下载十几个 G 的大模型,你的 C 盘会瞬间爆红。

核心战略:先安装,立刻“搬家”到 D 盘。

1. 一键安装 Ubuntu

右键点击 Windows 的“开始”菜单,选择 “终端 (管理员)”“PowerShell (管理员)”,执行:

powershell
wsl --install

安装完成后重启电脑,并在弹出的 Ubuntu 终端里设置初始账号和密码。

2. 乾坤大挪移(释放 C 盘)

既然 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 网络模式是本地跑服务和挂代理的噩梦。我们需要给它写一份**“配置文件”**。

  1. 按下 Win + R 打开运行窗口,输入 %USERPROFILE% 回车。
  2. 在该目录下新建一个文本文件,命名为 .wslconfig
  3. 填入以下终极调优代码并保存:
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 无效,属于正常现象,忽略即可。)


阶段三:显卡直通与 Docker 环境配置

在 WSL2 时代,只要你的 Windows 宿主机装了最新的 NVIDIA 显卡驱动,WSL 内部天然就能调用显卡,无需在 Linux 里重复装驱动。

进入 Ubuntu 终端(在 PowerShell 输入 wsl),依次执行以下命令:

1. 一键安装 Docker

bash
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh

2. 安装 NVIDIA 容器工具(让 Docker 认识显卡)

直接复制这整段并回车:

bash
curl -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

更新并重启服务:

bash
sudo apt-get update sudo apt-get install -y nvidia-container-toolkit sudo nvidia-ctk runtime configure --runtime=docker sudo systemctl restart docker

阶段四:一键起飞:Ollama + Open WebUI 部署

创建一个工作目录并编写 docker-compose.yml,一次性把后端(Ollama)和前端(Open WebUI)拉起来。

bash
mkdir -p ~/ai-workspace && cd ~/ai-workspace nano docker-compose.yml

填入以下内容(这里将模型路径直接映射到了 D 盘,进一步保护系统盘):

yaml
services: 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),然后一键启动:

bash
sudo docker compose up -d

此时,打开浏览器访问 http://localhost:3000,注册管理员账号,你的 AI 基地就建好了!


阶段五:12G 显卡的“天命之选”与极限调优

⚠️ 巨坑警告:千万不要去乱下 .gguf 文件手动导入! 极易丢失对话模板(Template)和停止词,导致 AI 像精神分裂一样胡言乱语。一定要通过官方命令拉取!

对于 12GB 显存的 RTX 4070 SUPER,Qwen 3.5 (9B) 是完美的“甜点级”选择。它能 100% 塞进显存,速度极快,且原生支持视觉(Vision)多模态。

1. 拉取模型

在 Ubuntu 终端执行:

bash
docker exec -it ollama ollama pull qwen3.5

2. 显存压榨(解决出字龟速问题)

如果你发现模型出字慢,大概率是因为“上下文缓存 (Context)”吃光了显存,导致运算掉进了 CPU。

  1. 在 Open WebUI 中,点击模型旁边的齿轮设置 -> 高级参数
  2. Context Length (上下文长度) 从默认的 4096 改为 2048 并保存。
  3. 终极验证: 对话时,在终端输入 docker exec -it ollama ollama ps。只要 PROCESSOR 栏显示 100% GPU,你的 4070S 就已经满血释放,出字速度将如丝般顺滑!

阶段六:后期维护(空间回收与终极“后悔药”)

WSL2 的 .vhdx 虚拟硬盘文件有一个“只大不小”的毛病。清理了 Docker 废弃镜像后,你需要手动给它“抽脂”。

1. 压榨虚拟硬盘(回收 D 盘空间)

关闭 WSL (wsl --shutdown) 后,在 PowerShell (管理员) 执行 diskpart,依次输入:

text
select vdisk file="D:\WSL_Data\ext4.vhdx" attach vdisk readonly compact vdisk detach vdisk exit

2. 打快照备份(吃后悔药)

在折腾出一个完美的纯净环境后,养成打快照的好习惯:

powershell
wsl --export Ubuntu D:\Ubuntu_Perfect_Snapshot.tar

以后系统被玩崩了,只需 unregister 删掉坏的,再 import 这个备份包,三分钟满血复活。

至此,一个不吃 C 盘、满血释放 GPU、网络畅通无阻的本地 AI 工作站彻底大功告成。放开手脚去折腾吧!

本文作者:小转圈

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!