Eu tenho o Windows 7 rodando em uma pequena partição (40 GB), com 4 GB de RAM. Isso significa que o arquivo hiberfil.sys criado pelo Hibernate ocupa uma parte significativa do espaço em disco disponível. Eu gostaria de removê-lo.
Estou ciente de que posso desativar o Hibernate e remover o hiberfil.sys inserindo powercfg -h off
um prompt de comando elevado. Isso funciona - o arquivo é removido imediatamente e, após isso, a HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\HibernateEnabled
chave é (corretamente) definida como 0.
No entanto, na próxima vez que eu reiniciar o PC, o hiberfil.sys retorne dos mortos, o Hibernate será reativado e essa chave do Registro retornará para 1.
Estou praticamente do lado da minha mente com isso. Quase tudo o que posso encontrar online relacionado à remoção do arquivo hiberfil.sys simplesmente sugere o uso do powercfg para desativar a hibernação, e isso parece funcionar para praticamente todos. Mas isso continua voltando para mim! (Como um vampiro, sugando meu espaço em disco.) Encontrei outro tópico de alguém que parece ter o mesmo problema, mas nenhuma das sugestões funcionou para o pôster original (ou para mim). Ainda assim, eu tentei de tudo listado lá, incluindo:
Desativando o sono híbrido
Desabilitando o Hibernate através do prompt de comando, pela GUI de Opções de Energia e pelas duas (em ambas as ordens)
Alterar manualmente a
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\HibernateEnabled
chavePraticamente tudo o mais que consigo pensar!
Quero reiterar que não tenho problemas em remover o arquivo - isso funciona muito bem. Ele volta após cada reinicialização. Estou quase pronto para jogar a toalha e apenas executar um script no login para desativar o Hibernate toda vez, mesmo que pareça uma "solução" loucamente hacky. . . mas eu esperava que alguém aqui pudesse sugerir outra coisa, primeiro.
fonte
Respostas:
Minha instalação do Windows 7x64 está em uma partição SSD em um laptop Mac. Eu desabilitei com powercfg / h desativado (elevado) e o ms fixit desabilita o hibernate, bem como a chave de registro de configuração HibernateEnable como 0. O Hiberfil.sys é excluído apenas até a reinicialização. Quando eu inicializo o hiberfil.sys nativo, sempre é recriado, mas quando eu inicializo o OS X e o VMware Fusion, a hibernação permanece desativada, como deveria.
A sugestão de Tom Wijsman do ProcessMonitor com registro de inicialização me ajudou a descobrir que o vmtoolsd.exe (da VMware) estava reativando a chave do registro durante a inicialização nativa. Tentei alterar as permissões no regedit, mas elas não pararam a alteração do valor para 1. Pensei em criar um pequeno hiberfil.sys, mas acho que isso teria sido substituído.
Como uma solução de 99%, alterei o valor HiberFileSizePercent para decimal 1, o que torna o hiberfil.sys apenas 80 MB em uma máquina de 8 GB de RAM. Suponho que poderia tentar 0,001 ou menos, mas 80 MB não é muito.
fonte
Você pode solucionar facilmente isso com Process Monitor .
Inicie e ative o registro de inicialização no menu Opções , reinicie o computador e inicie o Process Monitor.
Depois, deixe de capturar e procure por
HibernateEnabled
e verifique o que mudou o valor.Para informações mais avançadas, isso também pode ser feito com o XBootMgr no Windows Performance Toolkit.
Instruções de instalação - Documento de análise de desempenho de transição On / Off
fonte
Se você estiver usando o boot camp e a fusão de vmware:
Localize o arquivo% programfiles% \ VMware \ VMware Tools \ plugins \ vmsvc \ disableGuestHibernate.dll exclua-o ou mova-o.
Por fim, desative a hibernação de uma vez por todas, abrindo um prompt de comando elevado do administrador e executando:
powercfg -h desligado
O plug-in disableGuestHibernate é carregado quando as ferramentas vmware são carregadas. Se as ferramentas vmware forem carregadas durante a execução em uma vm, ela desativará a hibernação (uma vez que o vmware possui seu próprio sistema de suspensão, tornando a hibernação redundante.) reative a hibernação se estiver desativada.
fonte
Você pode tentar ativar e desativar a hibernação novamente. No cmd "Executar como Administrador", faça:
Se você estiver usando um laptop, depois de ativar a hibernação e antes de desligá-lo, faça também o seguinte:
fonte
Eu tive o mesmo problema. Tentou:
Defina
Control Panel\All Control Panel Items\Power Options\Edit Plan Settings
para Nunca para todas as opções de energia.E o arquivo continuava voltando à vida. O conselho de usar o monitor de processo fez o truque para mim. O sistema que eu uso tem o "Pointsec for PC" instalado e o processo prot_srv.exe ficava redefinindo esse valor. Dado que este PC está bloqueado com este software, não há muito que eu possa fazer.
fonte
mesma coisa aqui!
por frustração, eu até configurei a política local de forma a executar um cmd na inicialização da máquina que executaria a linha powercfg, mas mesmo isso não é o suficiente!
isso é realmente frustrante, pois estou executando o Win7 Ultimate em uma partição de 60 GB.
no meu próximo experimento, brincarei com a chave de registro "HiberFileSizePercent" em:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Power
e veja se isso pode forçá-lo a (re) criar um arquivo menor pelo menos.
f.
fonte
hiberfil.sys
após desativar a hibernação e criar um diretório chamado hiberfil.sys. Você não pode ter um arquivo e um diretório no mesmo diretório com o mesmo nome; portanto, o Windows não poderá criar um arquivo chamado hiberfil.sys. Obviamente, a MS pode ter explicado isso e criar outro arquivo (hiberfi2.sys?) Ou pode reclamar em voz alta.hiberfil.sys
arquivo.Não é uma solução, mas uma solução alternativa que funcionou para mim:
Eu tinha apenas 900 MB de espaço livre na unidade C e queria me livrar do arquivo hiberfil.sys, que demorou mais de 6 GB. Então eu o removi com powercfg -h. Mas ele continuou voltando depois de 10 segundos ou algo assim. Eu acho que tem algo a ver com PointSec, porque isso foi mencionado aqui anteriormente.
Desativei a hibernação e copiei rapidamente um arquivo de 1 GB para a unidade C. Agora ele não volta e ainda tenho 6 GB de espaço restante. Acho que ainda está tentando ativar a hibernação e descobre que não há mais espaço suficiente para isso. E da próxima vez que ficar sem espaço na unidade C, ainda posso excluir o arquivo de 1 GB.
fonte
Talvez recrie-o manualmente após a remoção e defina permissões para não permitir que o sistema modifique o arquivo? Eu sei, é um tiro no escuro.
Isso pode ser causado por uma partição de restauração ou similar?
fonte
Eu tenho uma solução alternativa que parece funcionar muito bem para mim (embora talvez nem todos). Pelo que reuni, o vmtoolsd.exe desativa a hibernação ao inicializar no VMware e o reativa (independentemente do estado anterior) ao inicializar nativamente. Como o VMware Tools não é necessário ao executar o nativo (Boot Camp), criei um arquivo em lotes contendo o seguinte:
Defino o serviço VMware Tools como Manual (em vez de Automático) e criei uma tarefa no Agendador de tarefas. A tarefa é configurada da seguinte maneira:
NOTA: como eu confio no NUMBER_OF_PROCESSORS para diferir quando inicializado nativamente, isso só funcionará se você não tiver a máquina virtual com o mesmo número de processadores (lógicos, não físicos) no seu Mac.
Além disso, o arquivo em lotes pode ser simplificado para:
Eu tinha algumas coisas no arquivo em lotes para depuração / teste e apenas o mantive.
fonte
goto
s sobrepostos assim prejudica meus sentidos estéticos quando você pode ter apenas um não-igual e 1goto
.Como oKtosiTe disse, tentei essa abordagem sorrateira, pois nada mais funcionou para mim. O ProcessMonitor simplesmente mostrou que a entrada no registro é criada por
powercfg.exe
si só.Não posso simplesmente desativar / renomear ou removê-lo.
Provavelmente devido às Políticas de Grupo que estão espalhadas por todo o meu laptop (laptop da empresa -> políticas de segurança super estúpidas da empresa!).
Então executei o comando,
hiberfile.sys
desapareci por alguns segundos, copiei o arquivo nomeadohiberfile.sys
de outro lugar (criado no editor e com 1 KB de tamanho) e alterei suas permissões para somente leitura (propriedades do arquivo).Fiz a mágica!
Então, resumindo:
powercfg -h off
Feito!
Nota: sem alterar o arquivo de permissão, volte para cerca de 6 GB no meu caso.
fonte
O crédito vai para @Tom Wijsman.
Meu problema específico é sobre o Wake-On-LAN bloqueado pela hibernação, detalhes aqui: Como desativar permanentemente a hibernação no Windows 10?
Eu segui o método dele e obtive o log de inicialização.
No meu caso, é o
vmtoolsd.exe
que manteve a configuração abaixo do valor do registro para 1, que superou totalmente opowercfg /h off
.O
vmtoolsd.exe
pertence aVMware Tools
.Depois de desinstalá-lo, o
hiberfil.sys
nunca foi recriado.fonte
Meia resposta:
No Windows XP, essa era uma solução fácil e permanente:
exclua hiberfil.sys com este comando (com direitos de administrador):
powercfg -h off
crie uma pasta chamada "hiberfil.sys" em C: \
Infelizmente, o Win7 é "mais inteligente" que o XP e mata essa pasta, ignorando qualquer combinação de propriedade / permissão que eu tentei. Mas às vezes minha pasta hiberfil.sys sobreviveu a uma única reinicialização sem ser substituída. Também é interessante que o sistema pareça regenerar o arquivo original após alguns segundos em que a janela de C: \ apareceu na área de trabalho.
E obrigado pelo meu primeiro voto negativo :)
fonte