Move Windows hibernation file to a different drive

Solution 1:

Edit: Now I know how you got those pagefile-related answers! >smile<

Sorry, but you can't relocate the HIBERFIL.SYS file to any partition other than the boot partition. This is because it's needed very early in to boot process to resume from hiberation and the boot loader (NTLDR) code, needing to be compact and optimized, doesn't have the ability to load the HIBERFIL.SYS from an arbitrary location. (Think about how much code it would take to do that... accounting for reparse points, software RAID sets, the potential that another installable filesystem driver might be needed besides NTFS. Somebody had to draw the line somewhere... smile)

It would be nice if you could move it, but no such luck.

Here's what people consider the "definitive" Microsoft statement on this issue: http://technet.microsoft.com/en-us/magazine/2007.11.windowsconfidential.aspx

Solution 2:

No it's not possible to move the hibernation file (hiberfil.sys). It must be on the system partition.


Solution 3:

No, hiberfil.sys cannot be moved. This file is accessed by ntldr which does not have this capability. But the problem is deeper than that. On the NT platform drive letter assignments are stored in the registry, which is not be available until much later in the boot process. When ntldr is about to read hiberfil.sys it doesn't even know the drive letter of the system partition, much less any others.

The pagefile can be moved. It is not needed until much later in the boot process when the registry and an almost complete file system is available.


Solution 4:

If you are running Vista or later, the bcdedit can edit the hibernation file's location. I have moved it to another partition successfully.