У меня Windows 7 работает на небольшом (40 ГБ) разделе с 4 ГБ оперативной памяти. Это означает, что файл hiberfil.sys, созданный Hibernate, занимает значительную часть доступного дискового пространства. Я хотел бы удалить это.
Я знаю, что я могу отключить Hibernate и удалить hiberfil.sys, введя powercfg -h off
в командной строке с повышенными правами. Это работает - файл немедленно удаляется, и после этого HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\HibernateEnabled
ключ (правильно) устанавливается в 0.
Однако в следующий раз, когда я перезагружаю ПК, hiberfil.sys возвращается из мертвых, Hibernate включается, и этот раздел реестра возвращается к 1.
Я почти сошел с ума от этого. Почти все, что я могу найти в Интернете, связанное с удалением файла hiberfil.sys, просто предлагает использовать powercfg для отключения гибернации, и, похоже, это работает практически для всех. Но это продолжает возвращаться ко мне! (Подобно вампиру, высасывающему мое дисковое пространство.) Я нашел еще одну ветку от кого-то, у кого, похоже, была такая же проблема, но ни одно из предложенных там предложений не сработало для оригинального постера (или для меня). Тем не менее, я попробовал все перечисленное там, в том числе:
Отключение гибридного сна
Отключение Hibernate через командную строку, через графический интерфейс Power Options и через оба (в обоих порядках)
Ручная смена
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\HibernateEnabled
ключаПочти все остальное, что я могу придумать!
Я хочу повторить, что у меня нет проблем с удалением файла - это прекрасно работает. Он просто возвращается после каждой перезагрузки. Я почти готов бросить полотенце и просто запустить скрипт при входе в систему, чтобы отключать Hibernate каждый раз, хотя это выглядит как безумно хакерское «решение». , , но я надеялся, что кто-то здесь может сначала предложить что-то еще.
источник
Ответы:
Моя Windows 7x64 установлена на раздел SSD на ноутбуке Mac. Я отключил при отключенном powercfg / h (повышенном уровне) и отключенном спящем ms fixit, а также установив для параметра реестра HibernateEnable значение 0. Hiberfil.sys удаляется только до перезагрузки. Когда я загружаю собственный hiberfil.sys, он всегда создается заново, но когда я загружаюсь в OS X и VMware Fusion, гибернация остается отключенной, как и должно быть.
Предложение Тома Вийсмана о ProcessMonitor с регистрацией загрузки помогло мне обнаружить, что vmtoolsd.exe (из VMware) повторно активировал ключ реестра во время собственной загрузки. Я попытался изменить разрешения в regedit, но они не остановили изменение значения на 1. Я думал о создании небольшого файла hiberfil.sys, но думаю, что это было бы перезаписано.
В качестве решения на 99% я изменил значение HiberFileSizePercent на десятичное 1, что делает hiberfil.sys только 80 МБ на машине с 8 ГБ ОЗУ. Я полагаю, я мог бы попробовать .001 или меньше, но 80 МБ это не много.
источник
Вы можете легко устранить это с помощью Process Monitor .
Запустите его и включите Boot Logging в меню Options , перезагрузите компьютер и запустите Process Monitor.
Затем дайте ему прекратить захват, а затем найдите
HibernateEnabled
и проверьте, что изменило значение.Для более глубокого понимания это также можно сделать с помощью XBootMgr из Windows Performance Toolkit.
Инструкции по установке - документ анализа эффективности перехода вкл / выкл
источник
Если вы используете boot camp и vmware fusion:
Найдите файл% programfiles% \ VMware \ VMware Tools \ plugins \ vmsvc \ disableGuestHibernate.dll, удалите его или переместите его.
Наконец, отключите гибернацию раз и навсегда, открыв командные строки с повышенными правами администратора и выполнив:
powercfg -h выключен
Плагин disableGuestHibernate загружается при загрузке инструментов vmware. Если vmware tools загружается во время работы в vm, он отключит спящий режим (поскольку vmware имеет собственную систему приостановки, что делает hibernation избыточным.) Но если vmware tools загружается за пределы vm (т.е. вместо этого вы используете boot camp для загрузки в windows), он будет повторно включите спящий режим, если он отключен.
источник
Вы можете попытаться включить и выключить спящий режим снова. В cmd «Запуск от имени администратора» выполните:
Если вы используете ноутбук, то после включения режима гибернации и до его выключения сделайте также следующее:
источник
У меня такая же проблема. Пытался:
Установите
Control Panel\All Control Panel Items\Power Options\Edit Plan Settings
для Никогда для всех вариантов мощности.И файл продолжал возвращаться к жизни. Советы по использованию монитора процесса помогли мне. В системе, которую я использую, установлен «Pointsec for PC», и процесс prot_srv.exe продолжал сбрасывать это значение. Учитывая, что этот компьютер заблокирован этим программным обеспечением, я мало что могу сделать.
источник
то же самое здесь!
из-за разочарования я даже настроил локальную политику так, чтобы при запуске компьютера запускался cmd, запускающий строку powercfg, но даже этого недостаточно!
это действительно расстраивает, так как я использую Win7 Ultimate на 60 ГБ разделе.
в моем следующем эксперименте я поиграю с ключом реестра "HiberFileSizePercent" в разделе:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Энергетика
и посмотрите, может ли это заставить (ре) создать хотя бы меньший файл.
е.
источник
hiberfil.sys
после отключения гибернации, а затем создать каталог с именем hiberfil.sys. Вы не можете иметь файл и каталог в одном каталоге с одним и тем же именем, поэтому Windows не сможет создать файл с именем hiberfil.sys. Конечно, MS могла бы объяснить это и создать другой файл (hiberfi2.sys?) Или громко жаловаться на это.hiberfil.sys
файлом.Не решение, а обходной путь, который работал для меня:
У меня было всего 900 МБ свободного места на диске C, и я хотел избавиться от файла hiberfil.sys, который занял более 6 ГБ. Поэтому я удалил его с помощью powercfg -h. Но он продолжал возвращаться примерно через 10 секунд или около того. Я думаю, что это связано с PointSec, потому что это было упомянуто здесь ранее.
Затем я отключил спящий режим, а затем быстро скопировал файл объемом 1 ГБ на диск C. Теперь это не возвращается, и у меня все еще есть 6 ГБ свободного места. Я предполагаю, что он все еще пытается включить гибернацию и обнаруживает, что для этого уже недостаточно места. И в следующий раз, когда мне не хватит места на диске C, я все равно смогу удалить файл размером 1 Гб ..
источник
Может быть, вручную восстановить его после удаления и установить разрешения, чтобы запретить системе изменять файл? Я знаю, это длинный выстрел.
Может ли это быть вызвано разделом восстановления или подобным?
источник
У меня есть обходной путь, который, кажется, работает отлично для меня (хотя, возможно, не все). Из того, что я понял, vmtoolsd.exe отключает спящий режим при загрузке под VMware, а затем повторно включает его (независимо от предыдущего состояния) при начальной загрузке. Поскольку VMware Tools не требуются при запуске native (Boot Camp), я создал командный файл, содержащий следующее:
Я установил для службы VMware Tools значение «Вручную» (а не «Автоматически») и создал задачу в планировщике заданий. Задача настроена следующим образом:
ПРИМЕЧАНИЕ: поскольку я полагаюсь, что NUMBER_OF_PROCESSORS будет отличаться от исходной загрузки, это будет работать только в том случае, если у вас нет виртуальной машины с одинаковым числом процессоров (логических, а не физических) на вашем Mac.
Кроме того, пакетный файл может быть упрощен до:
У меня было несколько вещей в пакетном файле для отладки / тестирования, и я просто сохранил их.
источник
goto
s, как это, вредит моим эстетическим чувствам, когда вы могли просто иметь не равное и 1goto
.Как сказал oKtosiTe, я попробовал этот хитрый подход, так как у меня больше ничего не получалось. ProcessMonitor просто показал, что запись в реестре создается
powercfg.exe
сама собой.Я не могу просто отключить / переименовать или удалить его.
Вероятно, из-за групповых политик, которые есть на моем ноутбуке (корпоративный ноутбук -> сверхпопулярные политики безопасности компании!).
Поэтому я выполнил команду,
hiberfile.sys
исчез на пару секунд, скопировал файл с именемhiberfile.sys
из другого места (созданный в редакторе и размером 1 КБ) и изменил его разрешения только на чтение (свойства файла).Сделал волшебство!
Итак, вкратце:
powercfg -h off
Выполнено!
Примечание: в моем случае размер файла без изменения разрешения возрастает до 6 ГБ.
источник
Кредит переходит к @Tom Wijsman.
Моя конкретная проблема связана с тем, что Wake-On-LAN заблокирован из-за гибернации, подробности здесь: Как навсегда отключить режим гибернации в Windows 10?
Я последовал его методу и получил журнал загрузки.
В моем случае это значение
vmtoolsd.exe
, установленное ниже значения реестра, равное 1, что полностью превосходит значениеpowercfg /h off
.vmtoolsd.exe
ПринадлежитVMware Tools
.После того как я его удалил, он
hiberfil.sys
никогда не создавался заново.источник
Половина ответа:
В Windows XP это было простое и постоянное решение:
Удалите hiberfil.sys с помощью этой команды (с правами администратора):
powercfg -h off
создайте папку с именем "hiberfil.sys" в C: \
К сожалению, Win7 «умнее», чем XP, и убивает эту папку, игнорируя любую комбинацию владения / разрешения, которую я пробовал. Но иногда моя папка hiberfil.sys переживала один перезапуск без замены. Также интересно, что система, казалось, воссоздала исходный файл через несколько секунд, когда на рабочем столе появилось окно C: \.
И спасибо за мой первый downvote :)
источник