最近发现C 盘空间告急,看了一下,有一个十几GB的虚拟内存(pagefile.sys)文件,于是,我打算把它搬到D盘去,给C盘腾出点空间来。
但是呢,我在【系统属性】里设置了N次,每次重启后都是弹出那句令人崩溃的:"由于启动计算机时出现了页面文件配置问题,Windows 在你的计算机上创建了一个临时页面文件..."

本文,主要是为了复盘一下这次的排坑经历,从底层彻底解决这个顽疾。
为什么常规迁移会失败?
通常我们通过【高级系统设置】➡️【性能】➡️【虚拟内存】来修改,但系统依然反复跳回 C 盘。

其中的原因往往不在于你没点那个【设置】按钮:

而在于以下两点底层逻辑:
- 注册表强制开启了"仅在系统盘创建分页文件"的开关。
- Windows 启动早期需要一个微小的空间记录崩溃日志,如果 C 盘完全消失,系统会感到"不安全"而强制回滚。
解决方案
如果你发现常规设置无效,请执行以下步骤:
1.按 Win + R 输入 regedit,定位到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
在右侧找到并修改以下三项:
TempPageFile:数值改为0(防止系统自作主张创建临时文件)。PagefileOnOsVolume:数值改为0(解锁"必须在系统盘"的限制)。PagingFiles:检查数值,确保路径指向你的目标盘,例如D:\pagefile.sys 16384 16384。
2.不要让 C 盘完全没有分页文件。
给C 盘手动设为自定义大小,初始 800MB,最大 800MB。
给D 盘手动设为你的目标大小,比如 16384MB。
这一步主要是给 C 盘留 800MB 作为"诱饵",满足系统记录内核日志的刚需,系统就不会因为"无处落脚"而把整个 16GB 的大文件重新塞回 C 盘。
之后,我再重启电脑就没再出现那个烦人的页面了。
小贴士
有时候,如果你反复通过UI 界面的设置都解决不了的问题,可能就要考虑一下注册表中的设置了。