Delete hiberfil.sys by disabling Windows Hibernate function

Hiberfil.sys can use several GB of hard disk space. Delete the file, and it will likely return. Bill Detwiler explains how to get rid of it for good.

In a previous TR Dojo Challenge question, I asked TechRepublic members, "What does hiberfil.sys do and how can you remove it?" Several members were quick to respond with the correct answer. The quickest earned some TechRepublic swag.

Hiberfil.sys and Windows Hibernate function

To understand why hiberfil.sys exists, we must look at the Windows Hibernate function. When you activate Hibernate, Windows takes a snap shot of your current session (all your running programs, open files, etc.) and writes that information to your hard drive. Hibernate was designed to speedup shut downs and restarts and save power on laptops.

Figure A

Hiberfil.sys, as the name suggests, is the file to which Windows saves the snap shot data. Thus, the file is always equal in size to the total amount of available RAM on the computer (see Figure A). On a computer with plenty of free disk space having such a large file just hanging around usually isn't a problem. But if you're running low on hard drive space and never use the Hibernate feature, hiberfil.sys is unnecessarily eating up valuable disk real estate.

Disabling Windows Hibernation

As I noted earlier, you can manually delete hiberfil.sys, but it will just come back. To permanently remove the file, you must disable the Windows Hibernate function. You can do this through either the Windows GUI or from the command line.

Windows XP

On Windows XP systems, you can easily disable Hibernate through the GUI using the following steps:

  1. Open the Control Panel and access Power Options.
  2. Select the Hibernate tab in the Power Options Properties dialog box.
  3. Clear the Enable Hibernation check box (see Figure B) and click OK.

Figure B

If you would prefer to disable Hibernate through he command line, you can use the steps outlined below.

Windows Vista and Windows 7

Completely disabling Hibernate through the GUI on Windows Vista and Windows 7 is significantly more difficult than on Windows XP. The Hibernate settings are still stored under the Control Panel's Power Options applet, but they are buried under each power plan's advanced power settings submenu. In fact, I was unable to remove hiberfil.sys by altering the appropriate Power Options (Allow hybrid sleep and Hibernate after) on either Windows Vista or Windows 7 (see Figure C).

Figure C

The only surefire method of disabling Hibernate, and thus removing hiberfil.sys, on Windows Vista and Windows 7, is through the command prompt and the following steps:

  1. Open a command prompt with administrative privileges.
  2. Enter "powercfg.exe -h off" (see Figure D).
  3. Exit the command prompt.

Figure D

As soon as you clear the check box or execute the above powercfg.exe command, Windows should delete hiberfil.sys. If not, you can manually delete it.

Re-enabling Windows Hibernate

To turn the Hibernate function back on, simply recheck the Enable Hibernation setting under Power Option Properties or enter "powercfg.exe -h on" at a command prompt with administrative privileges.

And the TechRepublic swag goes to...

This week's coffee mugs and laptop stickers go to mluck, who was first to correctly associate hiberfil.sys with Windows Hibernate function and jscholefield, who provided information on how to disable hibernation and the corresponding command line text.

Thanks to everyone who submitted an answer.

You can also sign up to receive the latest from the TR Dojo through one or more of the following methods:


Bill Detwiler is Managing Editor of TechRepublic and Tech Pro Research and the host of Cracking Open, CNET and TechRepublic's popular online show. Prior to joining TechRepublic in 2000, Bill was an IT manager, database administrator, and desktop supp...

Editor's Picks