Tengo Windows 7 ejecutándose en una pequeña partición (40 GB), con 4 GB de RAM. Esto significa que el archivo hiberfil.sys creado por Hibernate ocupa una parte significativa del espacio en disco disponible. Me gustaría eliminarlo
Soy consciente de que puedo desactivar Hibernate y eliminar hiberfil.sys ingresando powercfg -h off
en un símbolo del sistema elevado. Esto funciona: el archivo se elimina inmediatamente y, después de hacerlo, la HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\HibernateEnabled
clave se establece (correctamente) en 0.
Sin embargo, la próxima vez que reinicie la PC, hiberfil.sys regresa de la muerte, Hibernate se vuelve a habilitar y esa clave de registro ha vuelto a 1.
Estoy bastante al borde de mi ingenio con esto. Casi todo lo que puedo encontrar en línea relacionado con la eliminación del archivo hiberfil.sys simplemente sugiere usar powercfg para desactivar la hibernación, y eso parece funcionar para casi todos. ¡Pero sigue volviendo por mí! (Como un vampiro, absorbiendo el espacio de mi disco). Encontré otro hilo de alguien que parece haber tenido el mismo problema, pero ninguna de las sugerencias allí funcionó para el póster original (o para mí). Aún así, he intentado todo lo que aparece allí, incluyendo:
Deshabilitar el sueño híbrido
Deshabilitar Hibernate a través del símbolo del sistema, a través de la GUI de Opciones de energía y a través de ambos (en ambos pedidos)
Cambiar manualmente la
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\HibernateEnabled
llave¡Casi todo lo demás que se me ocurre!
Quiero reiterar que no tengo problemas para eliminar el archivo, eso funciona muy bien. Simplemente vuelve después de cada reinicio. Estoy a punto de tirar la toalla y simplemente ejecutar un script al iniciar sesión para deshabilitar Hibernate cada vez, a pesar de que parece una "solución" locamente hacky. . . pero esperaba que alguien aquí pudiera sugerir algo más, primero.
fuente
Respuestas:
Mi instalación de Windows 7x64 está en una partición SSD en una computadora portátil Mac. He deshabilitado con powercfg / h apagado (elevado) y ms fixit deshabilita la hibernación, así como la configuración de la clave de registro HibernateEnable valor a 0. Hiberfil.sys se elimina solo hasta que se reinicia. Cuando inicio hiberfil.sys nativo siempre se vuelve a crear, pero cuando inicio dentro de OS X y VMware Fusion, la hibernación permanece deshabilitada, como debería.
La sugerencia de Tom Wijsman de ProcessMonitor con inicio de sesión me ayudó a descubrir que vmtoolsd.exe (de VMware) estaba volviendo a habilitar la clave de registro durante el inicio nativo. Traté de cambiar los permisos en regedit, pero no detuvieron el cambio de valor a 1. Pensé en crear un pequeño hiberfil.sys, pero creo que se habría sobrescrito.
Como solución del 99%, cambié el valor de HiberFileSizePercent a decimal 1, lo que hace que hiberfil.sys solo tenga 80 MB en una máquina de 8 GB de RAM. Supongo que podría probar .001 o menos, pero 80 MB no es mucho.
fuente
Puede solucionar este problema fácilmente con Process Monitor .
Inícielo y habilite Boot Logging en el menú Opciones , reinicie su computadora e inicie Process Monitor.
Luego, deje de capturar y luego busque
HibernateEnabled
y verifique qué cambió el valor.Para obtener información más avanzada, esto también se puede hacer con XBootMgr desde Windows Performance Toolkit.
Instrucciones de instalación - Documento de análisis de rendimiento de transición de encendido / apagado
fuente
Si está utilizando boot camp y vmware fusion:
Busque el archivo% programfiles% \ VMware \ VMware Tools \ plugins \ vmsvc \ disableGuestHibernate.dll bórrelo o muévalo.
Finalmente, deshabilite la hibernación de una vez por todas abriendo un administrador de comandos elevados y ejecutando:
powercfg -h apagado
El complemento disableGuestHibernate se carga cuando se cargan las herramientas de vmware. Si vmware tools se carga mientras se ejecuta en un vm, deshabilitará la hibernación (ya que vmware tiene su propio sistema de suspensión haciendo que la hibernación sea redundante). Pero si vmware tools se carga fuera de un vm (es decir, usa boot camp para arrancar en Windows) Vuelva a habilitar la hibernación si está deshabilitada.
fuente
Podrías intentar activar y desactivar la hibernación nuevamente. En cmd "Ejecutar como administrador" haz:
Si está utilizando una computadora portátil, luego de encender la hibernación y antes de apagarla, haga lo siguiente:
fuente
Yo tuve el mismo problema. Intentó:
Establecido
Control Panel\All Control Panel Items\Power Options\Edit Plan Settings
en Nunca para todas las opciones de energía.Y el archivo seguía volviendo a la vida. El consejo de usar el monitor de proceso me sirvió. El sistema que uso tiene instalado "Pointsec para PC", y el proceso prot_srv.exe siguió restableciendo este valor. Dado que esta PC está bloqueada con este software, no hay mucho que pueda hacer.
fuente
¡lo mismo aqui!
Por frustración, incluso configuré la política local de modo que ejecutara un cmd en el inicio de la máquina que ejecutara la línea powercfg, ¡pero incluso eso no es lo suficientemente bueno!
Esto es realmente frustrante ya que estoy ejecutando Win7 Ultimate en una partición de 60 GB.
en mi próximo experimento jugaré con la clave de registro "HiberFileSizePercent" en:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Power
y vea si eso podría obligarlo a (re) crear un archivo más pequeño al menos.
F.
fuente
hiberfil.sys
después de deshabilitar la hibernación y luego crear un directorio llamado hiberfil.sys. No puede tener un archivo y un directorio en el mismo directorio con el mismo nombre, por lo que Windows no podrá crear un archivo llamado hiberfil.sys. Por supuesto, MS podría haberlo tenido en cuenta y podría crear otro archivo (hiberfi2.sys?) O podría quejarse en voz alta al respecto.hiberfil.sys
archivo.No es una solución, sino una solución que funcionó para mí:
Solo tenía 900 MB de espacio libre en mi unidad C y quería deshacerme del archivo hiberfil.sys, que requería más de 6 GB. Entonces lo eliminé con powercfg -h. Pero seguía volviendo después de unos 10 segundos o algo así. Creo que tiene algo que ver con PointSec porque eso se mencionó anteriormente aquí.
Luego deshabilité la hibernación, y luego copié rápidamente un archivo de 1GB en la unidad C. Ahora no vuelve y todavía me quedan 6 GB de espacio. Supongo que todavía está tratando de habilitar la hibernación y descubre que ya no hay suficiente espacio para eso. Y la próxima vez que me quede sin espacio en la unidad C, aún puedo eliminar el archivo de 1GB.
fuente
¿Quizás volver a crearlo manualmente después de la eliminación y establecer permisos para no permitir que el sistema modifique el archivo? Lo sé, es una posibilidad remota.
¿Podría esto ser causado por una partición de restauración o similar?
fuente
Tengo una solución alternativa que parece funcionar bien para mí (aunque, tal vez, no todos). Por lo que he reunido, vmtoolsd.exe deshabilita la hibernación al arrancar en VMware y luego la vuelve a habilitar (independientemente del estado anterior) cuando se inicia de forma nativa. Como VMware Tools no es necesario cuando se ejecuta nativo (Boot Camp), hice un archivo por lotes que contiene lo siguiente:
Configuré el servicio VMware Tools en Manual (en lugar de Automático) y creé una tarea en el Programador de tareas. La tarea se configura de la siguiente manera:
NOTA: dado que confío en los NUMBER_OF_PROCESSORS para diferir de cuando se inicia de forma nativa, esto solo funcionará si no tiene la máquina virtual con la misma cantidad de procesadores (lógicos, no físicos) en su Mac.
Además, el archivo por lotes se puede simplificar para:
Tenía algunas cosas en el archivo por lotes para depurar / probar y simplemente lo guardé.
fuente
goto
s superpuestos como eso daña mis sentidos estéticos cuando podrías tener un no igual y 1goto
.Como dijo oKtosiTe, probé este enfoque furtivo ya que nada más funcionó para mí. ProcessMonitor simplemente mostró que la entrada en el registro se crea por
powercfg.exe
sí misma.No puedo simplemente deshabilitar / renombrar o eliminarlo.
Probablemente debido a las Políticas de grupo que están en mi computadora portátil (computadora portátil de la compañía -> políticas de seguridad súper estúpidas de la compañía).
Así que ejecuté el comando,
hiberfile.sys
desaparecí por un par de segundos, copié el archivo nombradohiberfile.sys
desde otro lugar (creado en el editor y 1 KB de tamaño) y cambié sus permisos para solo lectura (propiedades del archivo).Hizo la magia!
En resumen:
powercfg -h off
¡Hecho!
Nota: sin cambiar, el archivo de permiso volverá a crecer hasta unos 6 GB en mi caso.
fuente
El crédito va a @Tom Wijsman.
Mi problema específico es sobre el Wake-On-LAN bloqueado por la hibernación, detalles aquí: ¿Cómo deshabilitar permanentemente la hibernación en Windows 10?
Seguí su método y obtuve el registro de arranque.
En mi caso, es el
vmtoolsd.exe
que mantuvo la configuración por debajo del valor del registro en 1, que superó por completo elpowercfg /h off
.El
vmtoolsd.exe
pertenece aVMware Tools
.Después de desinstalarlo,
hiberfil.sys
nunca se volvió a crear.fuente
Media respuesta:
En Windows XP, esta fue una solución fácil y permanente:
elimine hiberfil.sys con este comando (con derechos de administrador):
powercfg -h off
cree una carpeta llamada "hiberfil.sys" en C: \
Desafortunadamente, Win7 es "más inteligente" que XP, y mata esta carpeta, ignorando cualquier combinación de propiedad / permiso que probé. Pero a veces mi carpeta hiberfil.sys sobrevivió a un solo reinicio sin ser reemplazada. También es interesante que el sistema parecía regenerar el archivo original después de unos segundos, la ventana de C: \ apareció en el escritorio.
Y gracias por mi primer voto negativo :)
fuente