我可以将hiberfil.sys移至另一个驱动器吗?


75

我在Windows的%SYSTEMDRIVE%上空间不足。有hiberfil.sys大小约3GB的文件。

我了解这hiberfil.sys用于Windows休眠功能。 https://support.microsoft.com/zh-CN/help/13770/windows-shut-down-sleep-hibernate-your-pc

Hiberfil.sys隐藏的系统文件位于安装操作系统的驱动器的根文件夹中。安装Windows时,Windows内核电源管理器会保留此文件。该文件的大小大约等于计算机上安装了多少随机存取存储器(RAM)。

混合睡眠设置打开时,计算机使用Hiberfil.sys文件将系统内存的副本存储在硬盘上。如果此文件不存在,则计算机无法休眠。

我不想禁用休眠功能。

除了移动以外hiberfil.sys,是否有其他方法可以移动到其他驱动器%SYSTEMDRIVE%


2
不,你不能,根本没有办法。
HackToHell 2012年

21
强制性Raymond Chen:Windows机密:文件系统悖论
表现不佳

1
这一定是骗子。。。
surfasb 2012年

2
“外部驱动器”标签也令人担忧。内存不足时,计算机不喜欢它。
MSalters 2012年

Answers:


23

例如,我认为不可能将hiberfil.sys的路径从“ C:\ hiberfil.sys”重定向到“ D:\ hiberfil.sys”。

我在Google和Windows注册表中进行了一些研究,发现除了禁用它(然后删除hiberfil.sys文件)的选项外,什么都没有:

  1. 单击开始,然后在开始搜索框中键入cmd。
  2. 在搜索结果列表中,右键单击“命令提示符”,然后单击“以管理员身份运行”。
  3. 当用户帐户控制提示您时,单击继续。
  4. 在命令提示符下,键入powercfg.exe /hibernate off,然后按ENTER
  5. 键入退出,然后按ENTER关闭命令提示符窗口。

12
这不是答案,OP不想禁用休眠模式。
cjb110

1
谢谢,一旦我发表评论,hiberfil.sys就会自动删除。谢谢,我现在在我的SSD上还有32Gb
Valamas

2
@ cjb110是的。但无论如何有用
FindOutIslamNow

无法移动文件,但可以调整文件大小
phuclv

19

除了禁用休眠之外,您还可以将休眠文件的大小最大减少为总物理内存的50%:

  1. 单击开始,然后在开始搜索框中键入cmd。
  2. 在搜索结果列表中,右键单击“命令提示符”,然后单击“以管理员身份运行”。
  3. 当用户帐户控制提示您时,单击继续。
  4. 在命令提示符下,键入powercfg.exe /hibernate /size 50,然后按ENTER
  5. 键入exit,然后按ENTER关闭命令提示符窗口。

的大小hiberfil.sys将立即减小。

更新:请注意,如果在休眠时无法将系统RAM压缩到其大小的50%,则可能会出现蓝屏,显示INTERNAL_POWER_ERROR与此类似,这可能很难诊断:

Windows 7处于休眠状态时出现蓝屏错误“ INTERNAL_POWER_ERROR”


Diogo之前发布了完全相同的解决方案,并带有署名。-1
Joris Groosman

9
@JorisGroosman这不是相同的解决方案。请注意步骤4中的区别。OP不想像Diogo的解决方案一样禁用休眠模式。上面的解决方案将休眠使用的大小减少了一半。
mhu 2015年

是的,只是为了确认这一点,我是一个出现类似问题的人-它在这里有效。它将休眠文件的大小从6 GB减少到4 GB以上。它不会让我减少到少于50%的RAM,所以它可能会尽可能的低-我尝试了25%,但是文件的大小与50%相同。我有8个已安装的RAM演出
罗伯特·沃克,

16

SLEEP模式不同,在SLEEP模式下,系统上正在运行的所有内容都存储在RAM中(保持上电),HIBERNATION将RAM的整个状态复制到一个名为HIBERFIL.sys的文件中。这就是为什么该文件必须至少与您的RAM大小一样大的原因。您的计算机完全关闭,因为它不需要在恒定功率下运行任何组件。

但是,下次您要将计算机从休眠状态唤醒时,要在离开计算机的同一点找到它,则需要系统磁盘的启动扇区...

不幸的是,无法将HIBERFIL.sys移至其他HDD或分区。

这与PAGEFILE.sys不同,您可以将PAGEFILE.sys移至其他物理磁盘或分区,因此系统磁盘不必处理Pagefile。


3
本文帮助我决定我不希望休眠,并保存以能够从SSD中删除32Gb文件。verdiem.com/blog/2011-11-15/put-them-sleep-dont-hibernate
Valamas

1
此后,@ Valamas Verdiem被另一家公司收购,该网站已被禁用。这是该链接的存档版本:web.archive.org/web/20150317121812/http : //verdiem.com/blog/… 那里列出的信息基本上是说Sleep不会比Hibernatio消耗更多的能量,但是会启动快点。
sp00n

5

您只能禁用它,而不能移动它,因为存在时,在操作系统启动顺序中需要hiberfil.sys的时间要早​​得多。

在启动顺序的那一刻,操作系统无法理解符号链接,

因此,它将查找hiberfil.sys的唯一位置是OS根驱动器上。 有关重新定位hiberfil.sys的更多信息


感谢您对为什么无法移动的明智解释!
glenviewjeff

0

它应与booloader(NTLDR / BOOTMGR)位于同一磁盘上,以便引导加载程序可以尽早将其拾取并复制到RAM。

尝试移动引导加载程序。


移动引导加载程序后,如何重定向的路径hiberfil.sys
hamed 2012年

它将与根目录中的引导程序位于同一分区中。
米哈伊尔·库普奇克

5
我怀疑我的引导程序在其他驱动器中。我认为这与引导加载程序无关。它与Windows分区有关。
hamed 2012年

1
实际上,这实际上是我认为最接近的答案,您无法告诉Windows在其他地方查看。但这取决于Windows是否查看其安装根目录或引导驱动器的根目录?(默认情况下,这些是相同的,但绝不是必须的)。如果是后者,则此答案将起作用(如果可以实现的话)。
cjb110

6
错误的答案。在Windows Vista和更高版本中,引导加载程序位于C上的隐藏分区hiberfil.sys中:

-1

要在Windows Vista或7中停止休眠服务:

  1. 单击开始按钮,然后在搜索字段中输入 cmd
  2. 当命令提示符打开时,键入 powercfg.exe -h off
  3. 退出命令提示符

此时,Windows中将发生一些重要的事情:

  1. hiberfil.sys在资源管理器中不再存在(即被删除,从而释放了大量磁盘空间),
  2. 在“开始”菜单的“关机”选项中不再提供“休眠”功能,并且
  3. 显然,您将无法再将Windows置于休眠状态(S4)。

6
在问题中明确指出“我不想禁用休眠”。因此,在这种情况下,您无济于事。
罗伯特

LIKEY -怎么我不再冬眠-我使用的睡眠
煞风景
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.