需要将注册表中 PagefileOnOsVolume 的数值改为 0,并同步设置 ExistingPageFiles 和 PagingFiles 两个键值,否则系统在启动时会强制把 pagefile.sys 重新写回 C 盘。同时,还要确认 D 盘为 NTFS 文件系统、权限完整且剩余空间充足,最后重启电脑进行验证。

Win10 无法将虚拟内存从 C 盘迁移到 D 盘或其他非系统盘时,常见现象包括:设置完成并重启后,C 盘中的 pagefile.sys 依然存在、目标磁盘没有生成分页文件,或者任务管理器中的“已提交”数值始终没有变化——这通常说明系统并未真正读取你填写的虚拟内存配置,不是简单的操作失误,而是底层限制机制在拦截设置生效。
先确认基础操作是否做全
右键“此电脑”→“属性”→左侧“高级系统设置”→“高级”选项卡→“性能”区域点击“设置”→再切换到“高级”→点击“虚拟内存”旁边的“更改”按钮。
【必须取消勾选“自动管理所有驱动器的分页文件大小”】——这是后续修改 Win10 虚拟内存位置的前提条件。不取消该选项,C 盘无法关闭分页文件,D 盘也无法启用,界面中的相关设置会一直处于灰色锁定状态。
选中 C 盘→勾选“无分页文件”→点击“设置”→弹窗中点“是”;然后选中 D 盘→勾选“自定义大小”→初始大小填写 24576(适用于 16GB 内存),最大值填写 49152→点击“设置”→连续点击三次“确定”关闭窗口→重启电脑。
如果这一步完成后仍然无法把虚拟内存从 C 盘改到 D 盘,说明系统在启动阶段覆盖了你的设置,此时需要进一步从注册表层面处理。
注册表强制解锁系统盘限制
Windows 10/11 默认启用了 PagefileOnOsVolume 保护机制,只要该值为 1,即使你已经禁用 C 盘分页文件并指定 D 盘作为虚拟内存位置,系统在启动时仍可能悄悄在 C 盘重新创建临时 pagefile.sys。
方法一:PowerShell 一键修改(推荐)
以管理员身份打开 PowerShell,按顺序逐行执行以下命令:
reg add "HKLMSYSTEMControlSet001ControlSession ManagerMemory Management" /v PagefileOnOsVolume /t REG_DWORD /d 0 /f
reg add "HKLMSYSTEMControlSet001ControlSession ManagerMemory Management" /v ExistingPageFiles /t REG_MULTI_SZ /d "??D:pagefile.sys" /f,这是一条用于向注册表写入现有分页文件配置的命令。其中,reg add是命令关键字,用于添加注册表键值;"HKLMSYSTEMControlSet001ControlSession ManagerMemory Management"是目标注册表路径;/v ExistingPageFiles表示要写入的键名;/t REG_MULTI_SZ表示该键值的数据类型为多字符串;/d "??D:pagefile.sys"表示将现有页面文件路径指定为 D 盘根目录下的 pagefile.sys;/f表示强制覆盖已存在的配置。
reg add "HKLMSYSTEMControlSet001ControlSession ManagerMemory Management" /v PagingFiles /t REG_MULTI_SZ /d "D:pagefile.sys 24576 49152" /f
shutdown /r /t 0
方法二:手动编辑注册表
Win+R 输入 regedit → 右键“注册表编辑器”→“以管理员身份运行”→导航到:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management
在右侧找到 PagefileOnOsVolume,双击后将数值数据修改为 0;如果没有该项,右键空白处→新建→DWORD (32位)值→命名为 PagefileOnOsVolume→再双击设置为 0。
【ExistingPageFiles 和 PagingFiles 两个键值必须同时存在,而且路径必须完全一致,否则重启后系统仍会 fallback 回 C 盘】
检查目标盘权限与磁盘状态
第一步:确认 D 盘为 NTFS 格式,并且没有启用 BitLocker 加密。如果已经加密,需要先暂停 BitLocker,否则系统可能拒绝在该非系统分区上创建 pagefile.sys。
第二步:右键 D 盘→“属性”→“安全”选项卡→点击“高级”→检查“有效访问”中 SYSTEM 和 Administrators 是否具备“完全控制”权限。如果权限缺失,点击“禁用继承”→“转换为可继承权限”→然后重新应用设置。
第三步:打开磁盘清理→勾选“系统文件”→运行清理→删除“页面文件”相关残留缓存。这一步可以避免旧的 pagefile.sys 占用句柄,导致新的分页文件无法正常生成。
第四步:确保 D 盘剩余可用空间 ≥ 虚拟内存最大值 × 1.2。例如最大值设置为 49152MB(48GB),那么 D 盘至少应保留 58GB 左右可用空间,否则系统可能静默降级并继续使用 C 盘。
验证是否真正生效
重启后立即执行以下检查:
① 打开资源监视器(resmon)→“内存”选项卡→查看“提交限制”数值是否与为 D 盘设置的最大值一致;
② 打开 C 盘根目录,确认 pagefile.sys 文件是否已经消失;
③ 打开 D 盘根目录,确认 pagefile.sys 是否已经生成,且文件大小接近你设置的初始值(例如 24576MB);
④ 在命令行中输入:
wmic pagefile list /format:list
如果输出结果中显示 Name=D:pagefile.sys,且 AllocatedBaseSize=24576,则说明 Win10 虚拟内存已成功从 C 盘迁移到 D 盘。
