Ollama模型存储迁移与配置指南:轻松解决C盘爆满
2026/9/19 13:23:10 网站建设 项目流程

搞本地大模型的朋友应该都有过这种体验:Ollama装完了,模型也拉下来了,结果C盘一天比一天瘦。一个7B的量化模型动辄4GB,稍微玩到13B、32B,C盘分分钟变红。问题不是出在安装包本身,而是Ollama在Windows上默认把模型文件全部塞进了用户目录,也就是C:\Users\你的用户名\.ollama\models。这个目录是隐形的,大多数时候你根本注意不到它在涨,等发现的时候,C盘已经连更新补丁都跑不动了。

这篇文章就是来解决这个问题的:从安装Ollama开始,干净利落地把本体和模型文件都安排到D盘,顺便把模型下载慢、迁移失败、环境变量不生效这些我踩过的坑一次说清楚。内容不挑基础,刚接触本地部署的新手照着做就能搞定,已经装过Ollama但懒得重装的老手也能用迁移方案无缝切换。

1. 装之前先想明白:你的C盘到底被谁吃了

很多人以为只要安装时选个其他路径就万事大吉,实际操作完才发现C盘照样报警。这里面的关键认知是:Ollama在Windows上有两个完全独立的“盘踞点”。

1.1 Ollama默认安装路径和模型存储位置

第一个是程序本体,默认装在C:\Users\你的用户名\AppData\Local\Programs\Ollama,这个相对小,也就几百MB,说实话放C盘不至于伤筋动骨。第二个才是真正的大头——模型文件目录,默认在C:\Users\你的用户名\.ollama\models,刚装完可能只有几十MB,但只要你执行过ollama pull,比如拉一个qwen2.5:7b,目录会瞬间多出4GB到6GB的空间占用。这还只是一个模型。

我把这两个路径摆在一起,是想先帮你建立一个判断框架:

路径默认位置体积量级是否建议迁移
程序本体C:\Users\用户名\AppData\Local\Programs\Ollama数百MB可选
模型文件C:\Users\用户名.ollama\models数十GB起强烈建议

模型文件目录增长太快了。我现在本地装了四个常用模型,加起来超过了30GB。要是让这些文件继续住在C盘,哪怕你初期只玩一个7B模型,C盘压力就已经非常明显。所以核心思路就一句话:模型文件目录必须挪出去,程序本体能挪也一并挪走,一次到位。

1.2 为什么模型目录是C盘空间暴涨的元凶

Ollama 的模型存储机制和普通软件不太一样。它不像你下载一个安装包那样,解压出来一个文件夹就完事。它是从远程仓库拉取多个“分片文件”(blob),再根据不同的模型版本组合出可用文件。这个过程会在.ollama\models下面生成大量缓存层文件,每一个文件都可能达到几百MB甚至几个GB。而且,你反复执行ollama pullollama rm,会产生很多残留的blob,这些文件不会马上释放,都在悄悄占着C盘。

有些朋友还喜欢在Docker Desktop里跑Ollama,那空间占用就更复杂了。Docker镜像默认存在C:\Users\用户名\AppData\Local\Docker\wsl下面,一个含Ollama的镜像动辄几个GB,叠加起来C盘直接崩掉。所以如果是Docker用户,记得检查一下WSL虚拟磁盘的位置,那个文件叫ext4.vhdx,体积随镜像增长,最好也统一迁到D盘。这篇文章主要讲原生安装,但把WSL目录的坑一并提出来,免得你排查半天发现还有另一个“空间杀手”。

2. 把Ollama本体和模型都挪到D盘:两种最稳的做法

接下来进入实操环节。我推荐两种路径,任选其一。第一种是“全新安装法”,适合还没装Ollama、或者愿意卸载重来的朋友;第二种是“迁移大法”,适合已经下载了不少模型、不想重新拉一遍模型的朋友。

2.1 全新安装法:安装前先埋伏好环境变量

Ollama本身是支持通过环境变量OLLAMA_MODELS来指定模型目录的。安装程序在安装过程中会读取系统环境变量,你要是安装前就把这个变量设好,装完之后模型文件默认就会写到D盘,后面完全不用操心。

具体步骤是这样:

  1. Win + X,选择“系统”,点右侧“高级系统设置”,再点“环境变量”。
  2. 在“系统变量”区域点“新建”,变量名填OLLAMA_MODELS,变量值填你想放模型的目录,比如D:\ollama\models
  3. 确认保存后,重新打开一个CMD或PowerShell窗口。
  4. 运行Ollama的安装包。

装完之后,你可以先验证一下:运行ollama list,如果提示没有任何模型,说明安装正常。然后随便ollama pull一个小模型,比如ollama pull llama3.2:1b,拉完看一眼D:\ollama\models,如果里面出现了blobsmanifests这两个目录,就说明环境变量生效了。

这里有个容易踩的坑:环境变量必须在安装前设置。如果先安装再设置变量,Ollama已经创建的默认目录不会自动删除,新模型倒是会走新路径,但旧模型还占着C盘。所以你如果已经装过Ollama,又不想重新下载模型,直接看下一节的迁移方案。

2.2 安装包加安装参数:程序本体也装进D盘

环境变量解决的是模型目录,但程序本体还需要另想办法。Ollama的Windows安装包实际上基于NSIS打包,它支持一个标准的安装参数/DIR,可以让你指定安装路径。

把安装包下载到本地后,不要直接双击,而是在当前目录打开CMD,执行:

OllamaSetup.exe /DIR=D:\Ollama

这样程序本体就会装到D:\Ollama,不再占用C盘的AppData空间。

不过我要提醒一句:如果你之前已经用默认方式装过一次Ollama,再执行这个命令,它可能不会干净利落地把旧版本从C盘挪走。稳妥的做法是先去“设置——应用——安装的应用”里找到Ollama,卸载干净,重启一次系统,再执行上面的带参安装。

安装完成后,我建议再检查一次环境变量是否存在OLLAMA_MODELS。有些情况下,我用/DIR指定了安装目录,但系统里没有提前建好OLLAMA_MODELS变量,结果程序本体是装到了D盘,模型目录还是默认回了C盘。所以我现在的操作习惯是两手都抓:装之前先把OLLAMA_MODELS环境变量设好,再用/DIR参数指定安装目录,这样程序、模型全部在D盘,C盘几乎零压力。

2.3 不建议走的野路子:手动拷文件

网上很多教程会让你装完Ollama之后手动把整个.ollama文件夹拷到D盘,再利用mklink做一个目录符号链接。这个思路本身没错,但很多人操作的时候顺序搞反了——先拷贝,后建链接,结果原目录的数据被清掉,新目录里又没有完整数据,Ollama直接报“找不到模型”的错误。

真正可行的手动操作方式是这样:先建好D盘目标目录,把C盘.ollama文件夹完整拷贝过去,确认D盘目录里的模型文件都没有缺失,再在C盘原位置用管理员权限执行:

mklink /J "C:\Users\你的用户名\.ollama\models" "D:\ollama\models"

注意这里用的是/J而不是/D/J创建的是目录联接(Junction),它不需要额外权限,而且对Ollama这种应用来说兼容性更好。/D是符号链接,虽然也能用,但有的软件会因为在符号链接下解析路径异常导致读写失败。

不过这个方法相对繁琐,而且万一原目录里有正在被占用的进程,拷贝出来的文件可能是残缺的。我建议优先用迁移三步走的官方方案,等会儿在第3节详细讲。

3. 已经装在C盘了怎么办:模型迁移三步走

我遇到的大部分朋友都不是“还没装Ollama”的纯新用户,而是已经装好、也下载了三五个模型,结果C盘告急,才想着要搬家。这种场景完全不需要卸载重来,三步就能搞定,而且模型文件一个都不用重新下载。

3.1 第一步:先确认模型目录到底在哪

打开CMD,执行:

ollama list

先看看你已经有哪些模型。然后再执行:

ollama show 模型名

这个命令会显示模型的基础信息,包括路径。比如你执行ollama show qwen2.5:7b,输出里会有一行显示“Model Path”之类的信息。如果你懒得逐条查看,也可以直接打开资源管理器,进入C:\Users\你的用户名\.ollama\models,看看里面的blobsmanifests目录占多大空间。这一步的目的就是搞清楚现状,避免迁移到一半才发现还有另外一个模型被藏在了别的目录。

3.2 第二步:用环境变量切换目录,再把旧目录搬走

这一步其实和我刚才说的“全新安装法”里的环境变量设置是同一个操作,只是顺序不同。你已经装好了Ollama,现在做也一样。

在系统环境变量中新建OLLAMA_MODELS,值设为D:\ollama\models。保存后,打开任务管理器,找到Ollama相关进程(一般有ollama app.exeollama.exe两个),全部结束掉,或者直接在系统托盘右键图标选择退出。然后你在CMD里重新执行:

ollama list

如果命令能正常返回,说明Ollama已经用新目录启动。接下来再把C盘旧目录里的内容整体搬到D盘:

xcopy "C:\Users\你的用户名\.ollama\models" "D:\ollama\models" /E /I /H

复制完成后,先不要急着删旧目录。用ollama list确认所有模型都能正常显示,再跑一个模型做对话测试。测试无误后,才把C盘旧目录删掉或改名备份。

3.3 第三步:处理Visual Studio Code、Docker等衍生目录

这一步是我自己的经验补充。很多人电脑里不只有Ollama,还有VS Code、Docker Desktop、Miniconda这三件套。如果你只想解决C盘问题,Ollama本身搞定后,还得顺手把这几类占用补上:

  • VS Code的缓存目录:C:\Users\用户名\AppData\Roaming\Code
  • Docker Desktop的WSL虚拟磁盘:C:\Users\用户名\AppData\Local\Docker\wsl
  • Miniconda的默认环境:C:\Users\用户名\miniconda3

思路和Ollama迁移完全一致:先把目标目录建好,再设置对应软件的环境变量或配置文件指定新路径,最后用目录联接做兜底。特别是WSL虚拟磁盘,很多人发现C盘怎么清理都清理不干净,一查才发现ext4.vhdx已经几十GB了。

我不建议一次性把所有软件全搬走,太容易出问题。优先处理Ollama,因为模型文件涨得最快;VS Code这种相对“柔和”,等下次系统清理再处理也行。

4. 下载速度慢到怀疑人生:换一条喂模型的路径

把目录问题彻底解决之后,你马上会碰到第二个实际问题:下载模型太慢。ollama pull默认从官方仓库拉取模型,遇到高峰期或者网络波动,一个几GB的模型能下到你怀疑人生,进度条一直停在3%不动也是常事。

4.1 卡在3%的常见原因

我观察下来,拉取模型卡住的原因通常有这么几个。

一是断点续传失效。ollama pull在连接断开之后需要重试,但如果你的网络对长连接不友好,重试次数多了就会报max retries exceeded之类的错误。这时候直接重新执行一遍ollama pull,Ollama会基于已下载的blob继续拉取,一般能续上。

二是拉取源不稳定。Ollama模型仓库在国外,加上模型文件都很大,小水管网络传输自然吃力。这时候我会选择从hf-mirror.com这类国内可以正常访问的Hugging Face镜像站下载GGUF格式模型文件,再用本地注册的方式导入Ollama,绕开官方仓库的下载链路。这不是什么黑科技,就是很常规的本地模型注册思路。

三是磁盘写入性能太差。有些老机械硬盘在持续写入大文件时,速度波动很大。如果换了下载源还是慢,可以顺手看一下任务管理器里的磁盘占用情况,心里有个底。

4.2 本地注册GGUF模型:从镜像站下载再导入Ollama

标准的操作流程是这样的:

先去hf-mirror.com寻找你想要的模型的GGUF格式文件,比如Qwen2.5-7B-Instruct的GGUF版本,下载带q4_k_m标识的文件,这个量化级别的文件体积适中,效果也比较均衡。下载完成后,在本地建一个文件夹,比如D:\model-files,创建一个Modelfile

FROM D:/model-files/qwen2.5-7b-instruct-q4_k_m.gguf

然后在CMD里执行:

ollama create qwen2.5:7b -f D:\model-files\Modelfile

等待几十秒,Ollama就会基于本地文件完成注册。之后ollama run qwen2.5:7b就能正常使用了。

需要注意,这条路径虽然绕开了官方下载仓库,但前提是你能从镜像站稳定下载。不同镜像站的速度差异也很大,我一般会多试几个,挑一个下载速度能到10MB/s以上的。

4.3 方式对但型号选错:量化等级和体积的取舍

还有一个高频问题是“模型拉错了”。有些朋友直接ollama pull qwen2.5:7b,默认可能是16位精度的版本,体积巨大,下载慢不说,内存稍微小一点直接跑不动。

实际上Ollama仓库里同一模型会有多个量化标签,比如q2_kq4_k_mq8_0等。q4_k_m在体积和效果之间比较平衡,也是我用得最多的。下载前先看一下官方模型页面,确认量化等级,再决定要不要拉。如果空间不宽裕,选体积小一级的量化版本,能省下几个GB。

我把选型建议整理成了表格:

模型规模推荐量化存储占用建议内存
1B~3Bq4_k_m约1~2GB8GB
7B~8Bq4_k_m约4~6GB16GB
13B~14Bq4_k_m约8~10GB32GB
30B以上q4_k_m约18GB以上64GB

如果你不是做精细推理任务的,不推荐盲目追求大模型,7B~14B这个区间对绝大多数个人场景已经够用。

5. 常见问题排查实录与避坑建议

实操过程中,几乎每个朋友都遇到过几个重复的问题。我把最高频的几类整理成了一份速查表,并针对每一条补充了我的处理思路。

5.1 环境变量设置了,但模型文件还是写到C盘

这种情况十有八九是环境变量没被Ollama服务读到。Ollama安装后会在系统里注册一个后台服务,环境变量改了之后,如果不重启服务,它还是用旧路径。处理方式是:先彻底退出Ollama,包括托盘图标和后台进程,再重新启动。如果还不行,直接重启系统,基本都能解决。

还有一种特殊情况是你在PowerShell里临时设置过$env:OLLAMA_MODELS,但系统变量里没有。别笑,这个问题我见过好多次。终端里的临时变量只在当前窗口生效,关掉窗口就没了。一定要去“系统变量”里改。

5.2 mklink创建目录联接失败

执行mklink /J时提示没有足够权限,需要用管理员身份打开CMD。右键点击“开始”菜单,选择“终端(管理员)”或者“命令提示符(管理员)”,再执行命令。

如果你确实不想用管理员权限,建议改用/J而不是/D,后者对权限和文件系统的要求更严格。把两个命令的差异记住,能省掉很多麻烦。

5.3 迁移完成之后,模型对话异常

一种情况是模型能识别,但推理速度特别慢。先检查一下是否真的调用了GPU。Ollama默认优先使用GPU,但如果电脑配置不够,它会自动切到CPU推理,速度自然感人。看GPU利用率,可以用nvidia-smi,看看进程列表里有没有ollama字样。如果没有,可以在环境变量里加一个OLLAMA_GPU_DRIVER=cuda,不过前提是驱动和CUDA环境都正常。

另一种情况是“模型输出乱码”。这种情况一般是量化等级太低,比如q2_k的模型,回复质量会明显下降,不是你迁移过程中弄坏了文件。换回q4_k_m或者更高的量化等级即可。

5.4 多个模型同时加载导致内存爆掉

有朋友喜欢一次性跑好几个模型,结果内存爆了,系统卡死。Ollama默认会在内存里缓存已加载的模型,方便你快速切换。如果内存不够大,建议把OLLAMA_MAX_LOADED_MODELS设为1,只保留一个模型在内存里。

设置方式还是环境变量,添加一个名字为OLLAMA_MAX_LOADED_MODELS的系统变量,值填1。这样就不会同时加载多个模型,原理很简单:Ollama会把暂时用不到的模型从内存里卸载,下次调用时再按需加载。虽然切换模型会慢一点,但胜在系统稳定。

5.5 安装完Ollama双击没反应

如果你是从官网下载的安装包,装完之后系统托盘会有一个小图标,但没有图形窗口。这是正常现象,Ollama本身就不是主打GUI的软件,一切操作都在命令行里。双击桌面图标如果没反应,先确认托盘图标还在不在,然后在CMD里执行ollama run llama3.2,只要能正常对话,安装就没有问题。

如果CMD提示不是内部或外部命令,说明安装时没有把Ollama写入系统PATH。重新安装一次,或者手动把D:\Ollama加入系统Path环境变量。这就是为什么我推荐用/DIR参数指定安装路径,路径固定了,手动配Path也方便。

5.6 常见问题速查表

问题常见原因处理建议
模型文件仍写入C盘环境变量未生效或未重启服务重启Ollama,必要时重启系统
下载进度卡住网络波动导致重连失败重新执行ollama pull,支持断点续传
模型对话很慢未正确调用GPU用nvidia-smi确认,检查驱动和CUDA
多个模型同时加载内存爆掉默认模型缓存策略太激进设置OLLAMA_MAX_LOADED_MODELS=1
创建目录联接失败权限不足管理员终端运行mklink,优先用/J参数
CMD不识别ollama命令未正确配置PATH重装或手动添加D:\Ollama到Path

6. 几个高频命令和配置项,顺手列给你

讲到最后,把平时最常用的命令和配置项整理出来,当作一份速查版说明书。遇到问题先翻这一段,比百度管用。

常用命令:

# 查看当前已下载模型 ollama list # 运行某个模型 ollama run llama3.2 # 下载某个模型并指定量化等级 ollama pull qwen2.5:7b # 删除某个模型 ollama rm qwen2.5:7b # 查看模型详细信息,包括参数大小和路径 ollama show qwen2.5:7b # 从Modelfile注册本地模型 ollama create mymodel -f D:\model-files\Modelfile

常用环境变量:

变量名作用推荐值
OLLAMA_MODELS模型存储目录D:\ollama\models
OLLAMA_HOST服务监听地址,配合API调用时用127.0.0.1:11434
OLLAMA_MAX_LOADED_MODELS同时加载的模型数量1
OLLAMA_NUM_PARALLEL单个模型并发请求数默认即可

说实话,Ollama这个工具本身不复杂,尤其是和“把模型部署到生产环境”这类需求比,它的核心就是“下载模型、运行模型”两件事。但Windows上文件存放路径的坑,确实会劝退一批刚上手的朋友。你只要抓住核心思路——模型目录必须能完全掌控在你自己手里——再配合环境变量OLLAMA_MODELS和合理的安装方式,C盘空间焦虑就能彻底解决。

我自己的日常习惯是:Ollama程序装在D盘,模型目录固定放在D:\ollama\models,需要换机器时直接拷贝整个目录,在新机器上配好环境变量,模型立刻全回来了,原理就是模型文件本身是自包含的,新装Ollama后指向同一个目录就行。这个方法我试过很多次,百试不爽。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询