解决 Windows 虚拟内存迁移失败的全过程实录

最近发现C 盘空间告急,看了一下,有一个十几GB的虚拟内存(pagefile.sys)文件,于是,我打算把它搬到D盘去,给C盘腾出点空间来。

但是呢,我在【系统属性】里设置了N次,每次重启后都是弹出那句令人崩溃的:"由于启动计算机时出现了页面文件配置问题,Windows 在你的计算机上创建了一个临时页面文件..."

本文,主要是为了复盘一下这次的排坑经历,从底层彻底解决这个顽疾。

为什么常规迁移会失败?

通常我们通过【高级系统设置】➡️【性能】➡️【虚拟内存】来修改,但系统依然反复跳回 C 盘。

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

而在于以下两点底层逻辑:

  1. 注册表强制开启了"仅在系统盘创建分页文件"的开关。
  2. 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 界面的设置都解决不了的问题,可能就要考虑一下注册表中的设置了。

相关推荐
10mAh10 小时前
【Java】ArrayList 遍历删除为什么报错?三种写法与漏删复现
java·开发语言·windows
瑶山13 小时前
Windows + WSL2 Ubuntu + VS Code配置C++开发环境
开发语言·c++·windows·vscode·wsl
在角落发呆14 小时前
一键脚本配置备份方法:从 Shell 脚本到自动备份
网络·windows
水饺编程14 小时前
第1章,[Win32 章节]:在 VS2019 里面安装 MSDN
c语言·c++·windows·visual studio
水饺编程15 小时前
第1章,[Win32 章节]:编程环境与 MSDN
c语言·c++·windows·visual studio
丨白色风车丨15 小时前
Python中JSON与字典/列表的相互转换详解
windows·python·json
瑶山15 小时前
Windows 11 一键安装命令安装 WSL2到D盘
windows·wsl
bug和崩溃我都要1 天前
QT 开发的专业截图录屏工具 - macOS版 / Windows版
windows·qt·mac·录屏·截屏
kimloner1 天前
开源一个 376KB 的 Windows 桌面小工具:便签 + 截图标注 + OCR + 待办提醒(C# / WinForms)
windows·开源·c#·ocr·winforms
摸鱼 特供版1 天前
一款边录边标注的轻量截图录屏工具
windows·学习·电脑·音视频·软件需求