Problem entry · machine-readable · 大模型本地部署

模型都下到 C 盘/系统盘了,怎么把 Ollama 模型目录换到别的盘

本页嵌入 #trove-entity JSON(本条目全量结构化数据);全库数据见 /agent/trove.json。

元数据

idollama-models-migration收录2026-08-30
问题域大模型本地部署主题分组安装与依赖
适用工具ollamadocker · 外部工具

症状

- 系统盘满了,想给模型换目录但 `mv` 之后 `ollama list` 变空。

- 找遍教程不知道 snap / docker / Windows 各自怎么改。

- 换完目录新下载的模型还是出现在旧路径。

原因

- `OLLAMA_MODELS` 未设置时用平台默认目录;只搬目录不改环境变量,ollama 会按默认目录重建空目录,表现为模型丢失(实际没丢)。不同安装方式(systemd/snap/docker/Windows)配置环境变量的入口不同。

解法

- 停服务 → 复制/移动 models 目录到新位置 → 按安装方式设置 `OLLAMA_MODELS`(systemd 加 Environment;snap `snap set ollama models=`;docker `-e`;Windows 用户环境变量)→ 重启 → `ollama list` + 实际运行验证 → pull 一个小模型确认新下载落新目录。

验证证据

- 实测(ollama/ollama:latest 独立容器,不动本机 snap 实例):

- 复制本机模型(qwen2.5-0.5b,469M)到新目录 `/tmp/ollama-models`;

- 容器 A 设 `OLLAMA_MODELS=/models`(挂载新目录)→ `ollama list` 直接显示 qwen2.5-0.5b 491MB(未重新下载);

- 容器 B 不设 `OLLAMA_MODELS` → 默认 `~/.ollama/models` 存在但为空,`ollama list` 为空(对照);

- `ollama show qwen2.5-0.5b` 正常;`ollama run qwen2.5-0.5b "say hi"` CPU 正常出字;

- `ollama pull all-minilm:l6-v2` → success,新目录 blobs 2→6,`ollama list` 同时显示两个模型;

- 本机 snap 配置机制核对:`/snap/ollama/current/bin/snap_launcher.sh` 中 `OLLAMA_MODELS=$(snapctl get models)`,`snap get ollama` 有 models 键 → snap 改目录用 `sudo snap set ollama models=<路径>`;

- 测试容器与临时目录已清理。

- 完整日志:`实测复现日志(2026-08-30)`

来源与证据

素材来源:本地容器实测(ollama/ollama:latest)+ snap 配置机制核对(snap_launcher.sh)

验证证据:Evidence details kept locally (2026-08-30)