Mam system Windows 7 działający na małej partycji (40 GB) z ram 4 GB. Oznacza to, że plik hiberfil.sys utworzony przez Hibernate zajmuje znaczną część dostępnego miejsca na dysku. Chciałbym to usunąć.
Wiem, że mogę wyłączyć Hibernację i usunąć hiberfil.sys, wprowadzając wiersz powercfg -h off
polecenia z podwyższonym poziomem uprawnień. Działa to - plik jest natychmiast usuwany, a po wykonaniu tego HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\HibernateEnabled
klucz jest (poprawnie) ustawiony na 0.
Jednak przy następnym uruchomieniu komputera hiberfil.sys powraca z martwych, Hibernate jest ponownie włączany, a ten klucz rejestru powrócił do 1.
Jestem prawie na tym rozumu. Niemal wszystko, co mogę znaleźć w Internecie, związane z usunięciem pliku hiberfil.sys, po prostu sugeruje użycie powercfg do wyłączenia hibernacji, i to wydaje się działać dla prawie wszystkich. Ale po prostu do mnie wraca! (Jak wampir ssący moje miejsce na dysku.) Znalazłem jeszcze jeden wątek od kogoś, kto wydaje się mieć ten sam problem, ale żadna z sugestii nie zadziałała dla oryginalnego plakatu (lub dla mnie). Mimo to próbowałem wszystkiego tam wymienionego, w tym:
Wyłączanie snu hybrydowego
Wyłączanie trybu hibernacji za pomocą wiersza polecenia, interfejsu GUI opcji zasilania i obu (w obu kolejności)
Ręczna zmiana
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\HibernateEnabled
kluczaPrawie wszystko inne, o czym mogę myśleć!
Chcę powtórzyć, że nie mam problemu z usunięciem pliku - to działa świetnie. Po prostu wraca po każdym ponownym uruchomieniu. Jestem gotów rzucić ręcznik i po prostu uruchomić skrypt przy logowaniu, aby za każdym razem wyłączać Hibernację, nawet jeśli wydaje się to szalonym, hackującym „rozwiązaniem”. . . ale miałem nadzieję, że ktoś tu pierwszy zasugeruje coś innego.
źródło
Odpowiedzi:
Moja instalacja systemu Windows 7x64 odbywa się na partycji SSD na laptopie Mac. Wyłączyłem przy wyłączonym powercfg / h (podwyższonym) i wyłączeniu hibernacji przez ms fixit, a także ustawieniu wartości klucza rejestru HibernateEnable na 0. Hiberfil.sys jest usuwany tylko do ponownego uruchomienia. Kiedy uruchamiam natywny plik hiberfil.sys jest zawsze ponownie tworzony, ale kiedy uruchamiam w OS X i VMware Fusion, hibernacja pozostaje wyłączona, tak jak powinna.
Sugestia Toma Wijsmana dotycząca ProcessMonitor z rejestrowaniem rozruchu pomogła mi stwierdzić, że vmtoolsd.exe (z VMware) ponownie włączał klucz rejestru podczas rozruchu natywnego. Próbowałem zmienić uprawnienia w regedit, ale nie zatrzymały zmiany wartości na 1. Myślałem o utworzeniu małego pliku hiberfil.sys, ale myślę, że to by było nadpisane.
Jako rozwiązanie 99% zmieniłem wartość HiberFileSizePercent na dziesiętną 1, co sprawia, że hiberfil.sys zajmuje tylko 80 MB na 8 GB pamięci RAM. Myślę, że mógłbym spróbować 0,001 lub mniej, ale 80 MB to niewiele.
źródło
Możesz to łatwo rozwiązać za pomocą Monitora procesów .
Uruchom go i włącz rejestrowanie rozruchu w menu Opcje , uruchom ponownie komputer i uruchom Process Monitor.
Następnie pozwól mu przestać przechwytywać, a następnie wyszukaj
HibernateEnabled
i sprawdź, co zmieniło wartość.W celu uzyskania bardziej zaawansowanych informacji można to również zrobić za pomocą XBootMgr z zestawu Windows Performance Toolkit.
Instrukcje instalacji - Dokument analizy wydajności przejścia On / Off
źródło
Jeśli korzystasz z Boot Camp i Fusion VMware:
Znajdź plik% programfiles% \ VMware \ VMware Tools \ plugins \ vmsvc \ disableGuestHibernate.dll usuń go lub przenieś.
Na koniec wyłącz hibernację raz na zawsze, otwierając monity o podniesione uprawnienia administratora i uruchamiając:
powercfg -h wyłączony
Wtyczka disableGuestHibernate ładuje się podczas ładowania narzędzi vmware. Jeśli narzędzia vmware zostaną załadowane podczas działania w vm, wyłączy hibernację (ponieważ vmware ma własny system zawieszania, co powoduje, że hibernacja jest zbędna). Ale jeśli narzędzia vmware ładują się poza vm (tj. Używasz boot camp do uruchamiania systemu Windows) włącz ponownie hibernację, jeśli jest wyłączona.
źródło
Możesz spróbować ponownie włączyć i wyłączyć hibernację. W cmd „Uruchom jako administrator” wykonaj:
Jeśli używasz laptopa, po włączeniu hibernacji i przed wyłączeniem go wykonaj również następujące czynności:
źródło
Miałem ten sam problem. Wypróbowany:
Ustaw
Control Panel\All Control Panel Items\Power Options\Edit Plan Settings
na Nigdy dla wszystkich opcji zasilania.Plik wciąż wraca do życia. Porada użycia monitora procesu załatwiła sprawę. System, którego używam, ma zainstalowany „Pointsec na PC”, a proces prot_srv.exe ciągle resetuje tę wartość. Biorąc pod uwagę, że ten komputer jest zablokowany za pomocą tego oprogramowania, niewiele mogę zrobić.
źródło
to samo tutaj!
z frustracji skonfigurowałem nawet lokalne zasady tak, aby uruchamiał cmd podczas uruchamiania komputera, który uruchamiałby linię powercfg, ale nawet to nie wystarczy!
to jest naprawdę frustrujące, ponieważ uruchamiam Win7 Ultimate na partycji 60 GB.
w następnym eksperymencie będę się bawić kluczem rejestru „HiberFileSizePercent” pod:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Power
i sprawdź, czy może to zmusić go do (ponownego) utworzenia co najmniej mniejszego pliku.
fa.
źródło
hiberfil.sys
po wyłączeniu hibernacji, a następnie utworzyć katalog o nazwie hiberfil.sys. Nie możesz mieć pliku i katalogu w tym samym katalogu o tej samej nazwie, więc system Windows nie będzie mógł utworzyć pliku o nazwie hiberfil.sys. Oczywiście stwardnienie rozsiane mogło wziąć to pod uwagę i może utworzyć kolejny plik (hiberfi2.sys?) Lub może głośno na to narzekać.hiberfil.sys
plikiem.Nie rozwiązanie, ale obejście, które zadziałało dla mnie:
Miałem tylko 900 MB wolnego miejsca na dysku C i chciałem pozbyć się pliku hiberfil.sys, który zajął ponad 6 GB. Więc usunąłem go za pomocą powercfg -h. Ale po prostu wracał po około 10 sekundach czy coś. Myślę, że ma to coś wspólnego z PointSec, ponieważ zostało to wspomniane wcześniej tutaj.
Następnie wyłączyłem hibernację, a następnie szybko skopiowałem plik 1 GB na dysk C. Teraz nie wraca i mam jeszcze 6 GB miejsca. Myślę, że wciąż próbuje włączyć hibernację i stwierdza, że nie ma już na to miejsca. I następnym razem, gdy zabraknie mi miejsca na dysku C, nadal mogę usunąć plik 1 GB.
źródło
Może ręcznie odtworzysz go po usunięciu i ustawisz uprawnienia, aby uniemożliwić systemowi modyfikowanie pliku? Wiem, to długa szansa.
Czy może to być spowodowane partycją przywracania lub podobną?
źródło
Mam obejście, które wydaje się działać dobrze dla mnie (choć może nie wszyscy). Z tego, co zebrałem, vmtoolsd.exe wyłącza hibernację podczas uruchamiania w VMware, a następnie włącza ją ponownie (niezależnie od poprzedniego stanu) podczas rozruchu natywnie. Ponieważ narzędzia VMware nie są potrzebne podczas uruchamiania natywnego (Boot Camp), stworzyłem plik wsadowy zawierający:
Ustawiłem usługę VMware Tools na Ręcznie (zamiast Automatycznie) i utworzyłem zadanie w Harmonogramie zadań. Zadanie jest skonfigurowane w następujący sposób:
UWAGA: ponieważ polegam na NUMBER_OF_PROCESSORS, które różnią się od tego, kiedy są uruchamiane natywnie, zadziała to tylko wtedy, gdy maszyna wirtualna nie otrzyma takiej samej liczby procesorów (logicznych, a nie fizycznych) na komputerze Mac.
Ponadto plik wsadowy można uprościć w celu:
W pliku wsadowym miałem kilka rzeczy do debugowania / testowania i po prostu je zachowałem.
źródło
goto
takich boli moje zmysły estetyczne, kiedy można mieć po prostu nierówność i 1goto
.Jak powiedział OKtosiTe, wypróbowałem to podstępne podejście, ponieważ nic innego nie działało dla mnie. ProcessMonitor po prostu pokazał, że wpis do rejestru jest tworzony
powercfg.exe
sam.Nie mogę po prostu wyłączyć / zmienić nazwy ani usunąć.
Prawdopodobnie z powodu Zasad Grupy, które są na całym moim laptopie (firmowy laptop -> firmowe głupie polityki bezpieczeństwa!).
Uruchomiłem więc polecenie,
hiberfile.sys
zniknąłem na kilka sekund, skopiowałem plik o nazwiehiberfile.sys
z innego miejsca (utworzony w edytorze i wielkości 1 KB) i zmieniłem jego uprawnienia tylko do odczytu (właściwości pliku).Czy magia!
W skrócie:
powercfg -h off
Gotowy!
Uwaga: bez zmiany pliku uprawnień wracam do około 6 GB w moim przypadku.
źródło
Kredyt trafia do @Tom Wijsman.
Mój konkretny problem dotyczy Wake-On-LAN zablokowanego przez hibernację, szczegóły tutaj: Jak trwale wyłączyć hibernację w systemie Windows 10?
Postępowałem zgodnie z jego metodą i otrzymałem dziennik rozruchu.
W moim przypadku to
vmtoolsd.exe
ustawienie utrzymało poniżej wartości rejestru wartość 1, co całkowicie pobiłopowercfg /h off
.vmtoolsd.exe
Należy doVMware Tools
.Po odinstalowaniu
hiberfil.sys
nigdy nie został ponownie utworzony.źródło
Połowa odpowiedzi:
W systemie Windows XP było to łatwe i trwałe rozwiązanie:
Usuń hiberfil.sys za pomocą tego polecenia (z uprawnieniami administratora):
powercfg -h off
utwórz folder o nazwie „hiberfil.sys” w C: \
Niestety, Win7 jest „mądrzejszy” niż XP i zabija ten folder, ignorując każdą kombinację własności / uprawnień, którą wypróbowałem. Ale czasami mój folder hiberfil.sys przetrwał pojedynczy restart bez zastępowania. Interesujące jest również to, że system wydawał się ponownie generować oryginalny plik po kilku sekundach na pulpicie pojawiło się okno C: \.
I dziękuję za moje pierwsze zdanie :)
źródło