很多人装完 Ollama 拉了几个模型,C 盘红了才发现模型全堆在系统盘里,想搬到数据盘又怕搬完用不了。这篇按顺序讲三件事:先确认你机器上现在的模型目录到底在哪、怎么把存储位置改到别的盘、改完怎么把已有模型迁过去不重下。全程只动环境变量和目录,不需要重装。
装完 Ollama 随手拉了几个模型,过阵子发现系统盘红了,一看全堆在用户目录底下。想搬到数据盘,又怕搬完模型全废了得重下。其实这件事不用重装、不用重新拉,只动一个环境变量加一次目录搬运就够了。
顺序上分三步走:先确认你机器上现在的模型目录到底在哪,再把存储位置改到别的盘,最后把已经下好的模型搬过去。下面按这个顺序讲,每一步都给你能验证的动作。
先搞清楚你现在的模型到底存哪
默认位置是跟着系统走的。macOS 和 Linux 一般放在用户目录下的隐藏文件夹里,Windows 放在用户配置文件目录下,都会套一层 .ollama 文件夹,模型本体在里面的 models 子目录。你不用去文件管理器一层层翻,翻容易翻错层级。
最省事的办法是让 Ollama 自己报路径。列本地模型的命令一般会连带显示存储目录,直接照着它给的结果记下来,比凭记忆猜靠谱得多。
- 谁在占空间
- 同一台机器可能装过多个版本、跑过不同用户,路径不一定只有一份,先用系统自带的磁盘占用工具确认是哪一份在吃空间
- 看命名层级
- 分不清 manifest、blobs 这些目录名各自是什么,可以先到站内基础概念和硬件术语页把命名认全,避免把上层目录当成模型本体
- 别急着删
- 确认路径阶段只看不删,删错目录会导致已下载模型全部失效,得重新拉
把存储目录换到别的盘
改动本身只有一步:设一个指向模型目录的环境变量,然后重启 Ollama 服务,让它按新位置去找。真正麻烦的是「设了不生效」,绝大多数人卡在这一步。
- 确认服务由谁启动命令行手动起的服务和 GUI 客户端后台起的服务,读的环境变量可能来自不同地方。先确认你现在用的是哪一种,再决定变量写到哪一层。
- 把变量写到服务真正读取的位置Linux 和 macOS 上要注意是写进当前 shell、写进 shell 配置文件,还是写进服务管理器;Windows 上要区分用户变量和系统变量。写错层级就会出现「命令行里 echo 有值,Ollama 却不认」。
- 重启进程改完环境变量一定要把 Ollama 服务完整停掉再起,只关窗口不算重启。重启后重新列一次模型,看它报出来的路径有没有变成新目录。
- 量一下新盘空间模型体积按参数量和量化档位差别很大,动手前先看新盘剩余空间够不够。具体数字到站内部署测算页按你手上的模型算一遍。
| 现象 | 大概率原因 | 先查什么 |
|---|---|---|
| 变量设了但路径没变 | 变量写在了服务读不到的那一层 | 服务是怎么启动的,变量写在哪 |
| 重启后仍指向老目录 | 进程没真正重启,或起的是另一个实例 | 有没有残留的 Ollama 进程在跑 |
| 新路径报了权限错误 | 新目录不可写或属主不对 | 新目录的权限和属主 |
| 拉模型仍报磁盘不足 | 变量没生效,还在往老盘写 | 列模型命令报出来的实际路径 |
已经下好的模型怎么搬过去不重下
核心就一句:顺序错了会出「路径对了但模型列表是空的」。正确顺序是先停服务、再整目录搬、最后设变量重启。
- 先停服务:搬的过程中如果有进程在读文件,容易出现搬到一半文件被占用或损坏;
- 整目录搬:把整个模型目录一起搬走,别只挑几个大的,清单文件和权重文件是配套的;
- 设变量并重启:搬完再设环境变量、重启服务,让它去新位置读;
- 验证:先列模型看列表能不能出来,再实际跑一次推理看有没有输出,两步都过才算搬成功。
如果只搬了一部分,或者新旧目录各留一半,容易出现重复占空间和加载失败。建议一次搬干净,中途别中断。跨盘搬大文件本身就慢,Linux 上还比 Windows 更容易碰到权限问题,搬完先确认新目录可读可写再启动服务。
搬完后的自检与常见报错
自检不用复杂工具,三步就够:列模型能看到、拉一个小模型能成功、跑一次推理有输出。这三步全过,说明路径、变量、权限都没问题。
| 报错或现象 | 它在告诉你什么 | 怎么处理 |
|---|---|---|
| 模型列表为空 | 清单文件没读到,多半是搬到新目录时漏了子目录 | 回新目录核对层级是否和原来一致 |
| 模型在但加载失败 | 权重文件不齐或权限不对 | 确认新目录可读,文件数对得上 |
| 拉模型报磁盘不足 | 变量没生效,写入的还是老盘 | 重查变量写在哪一层、服务起没起对 |
| 报错信息里出现某个路径 | 这就是它实际在用的路径 | 跟你的预期对比,比反复改变量快 |
如果机器上同时装了别的本地推理工具,别让它们的模型目录混在一起,不然排查时容易看错对象。各家工具的目录约定差异可以到站内对应页面看,别靠猜。
什么情况下不建议改路径
不是所有人都需要动这一刀。下面几种情况改了反而添乱:
- 单盘机器、剩余空间还够用:改路径只是徒增一次迁移风险,可以不动;
- 用容器或桌面客户端跑的:改法跟命令行版本不一样,得改挂载或客户端自己的设置,照上面的步骤做反而会乱;
- 多人共用的机器:改全局变量会影响别人,先确认这台机器的使用边界再动;
- 没有备份习惯、又急着用:建议先确认能重新拉到模型再搬,别在关键时刻折腾存储目录。
把存储目录想成「图书馆的书架」:换书架可以,但得先把书整箱搬过去、再告诉管理员新书架在哪,顺序反了就会找不到书。下一步想知道各家工具的目录约定和本地部署的存储建议,可以到站内工具目录和部署测算页核对当时的说明,再决定要不要动手改。→
常见问题
Ollama 的模型默认存在哪个文件夹?
跟着操作系统走,一般都在当前用户的家目录下,套一层以点开头的 Ollama 文件夹,模型本体在它下面的 models 子目录里。最稳的确认方式是让 Ollama 自己把路径打印出来,而不是凭记忆去文件管理器里翻,因为不同系统、不同用户、不同安装方式都可能不一样。
环境变量设好了为什么模型列表还是空的?
最常见的原因有三个:改完没重启 Ollama 服务;变量设在了当前终端里而不是服务读取的那一层;用图形客户端启动的服务没继承到你的变量。还有一种是你只挪了一部分文件,清单还在老地方。先看报错里打印的实际路径,再对着排。
改存储目录之后需要重新下载模型吗?
不用,把原来的模型目录整个搬到新位置,再把变量指过去重启就行。前提是整目录搬、中途别断、权限给够。搬完用列出模型的命令确认清单读到了,再跑一次推理确认权重没缺,两步都过就说明不用重下。