Ich habe Windows 7 auf einer kleinen (40 GB) Partition mit 4 GB RAM. Dies bedeutet, dass die von Hibernate erstellte Datei hiberfil.sys einen erheblichen Teil des verfügbaren Speicherplatzes einnimmt. Ich möchte es entfernen.
Mir ist bekannt, dass ich den Ruhezustand deaktivieren und hiberfil.sys entfernen kann, indem ich powercfg -h off
eine Eingabeaufforderung mit erhöhten Rechten eingebe . Dies funktioniert - die Datei wird sofort entfernt, und danach wird der HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\HibernateEnabled
Schlüssel (korrekt) auf 0 gesetzt.
Wenn ich den PC das nächste Mal neu starte, kehrt hiberfil.sys von den Toten zurück, der Ruhezustand wird wieder aktiviert und dieser Registrierungsschlüssel ist auf 1 zurückgekehrt.
Damit bin ich ziemlich am Ende. Fast alles, was ich online im Zusammenhang mit dem Entfernen der Datei hiberfil.sys finden kann, schlägt einfach vor, den Ruhezustand mit powercfg zu deaktivieren, und das scheint für fast alle zu funktionieren. Aber es kommt immer wieder für mich! (Wie ein Vampir, der meinen Speicherplatz aufgebraucht hat.) Ich habe einen anderen Thread von jemandem gefunden, der anscheinend dasselbe Problem hatte, aber keiner der Vorschläge dort hat für das Original-Poster (oder für mich) funktioniert. Trotzdem habe ich alles ausprobiert, einschließlich:
Hybrid-Schlaf deaktivieren
Deaktivieren des Ruhezustands über die Eingabeaufforderung, die Benutzeroberfläche für Energieoptionen und über beide (in beiden Befehlen)
Manuelles Ändern des
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\HibernateEnabled
SchlüsselsSo ziemlich alles, was mir sonst noch einfällt!
Ich möchte noch einmal betonen, dass ich kein Problem damit habe, die Datei zu entfernen - das funktioniert hervorragend. Es kommt nur nach jedem Neustart zurück. Ich bin kurz davor, das Handtuch zu werfen und bei der Anmeldung einfach ein Skript auszuführen, um den Ruhezustand jedes Mal zu deaktivieren, auch wenn das wie eine verrückte "Lösung" aussieht. . . aber ich hatte gehofft, dass jemand hier zuerst etwas anderes vorschlagen könnte.
quelle
Antworten:
Meine Windows 7x64-Installation befindet sich auf einer SSD-Partition auf einem Mac-Laptop. Ich habe mit PowerCFG / h aus (erhöht) und MS Fixit deaktivieren Ruhezustand sowie die Einstellung Registrierungsschlüssel HibernateEnable Wert auf 0 deaktiviert. Hiberfil.sys wird nur bis zum Neustart gelöscht. Wenn ich native hiberfil.sys starte, wird diese immer neu erstellt, aber wenn ich in OS X und VMware Fusion starte, bleibt der Ruhezustand deaktiviert, wie es sein sollte.
Tom Wijsmans Vorschlag von ProcessMonitor mit Boot-Protokollierung hat mir geholfen, festzustellen, dass vmtoolsd.exe (von VMware) den Registrierungsschlüssel während des systemeigenen Bootvorgangs wieder aktiviert hat. Ich habe versucht, die Berechtigungen in regedit zu ändern, aber sie haben die Wertänderung in 1 nicht gestoppt. Ich habe darüber nachgedacht, eine kleine hiberfil.sys zu erstellen, aber ich denke, das wäre überschrieben worden.
Als 99% ige Lösung habe ich den HiberFileSizePercent-Wert in Dezimal 1 geändert, wodurch die hiberfil.sys auf einem 8-GB-RAM-Computer nur 80 MB groß ist. Ich vermute, ich könnte es mit 0,001 oder weniger versuchen, aber 80 MB sind nicht viel.
quelle
Sie können dies problemlos mit Process Monitor beheben .
Starten Sie es und aktivieren Sie die Startprotokollierung im Menü Optionen , starten Sie den Computer neu und starten Sie Process Monitor.
Lassen Sie es dann aufhören zu erfassen und suchen
HibernateEnabled
und überprüfen Sie, was den Wert geändert hat.Für erweiterte Einblicke kann dies auch mit XBootMgr aus dem Windows Performance Toolkit erfolgen.
Installationsanweisungen - On / Off Transition Performance Analysis Document
quelle
Wenn Sie Boot Camp und VMware Fusion verwenden:
Suchen Sie die Datei% programfiles% \ VMware \ VMware Tools \ plugins \ vmsvc \ disableGuestHibernate.dll, löschen Sie sie oder verschieben Sie sie.
Deaktivieren Sie zum Schluss den Ruhezustand ein für alle Mal, indem Sie die Eingabeaufforderungen eines Administrators mit erhöhten Rechten öffnen und ausführen:
powercfg -h aus
Das disableGuestHibernate-Plugin wird geladen, wenn VMware Tools geladen wird. Wenn VMware Tools geladen werden, während sie in einer VM ausgeführt werden, wird der Ruhezustand deaktiviert (da VMware über ein eigenes Suspend-System verfügt, das den Ruhezustand überflüssig macht.) Wenn VMware Tools jedoch außerhalb einer VM geladen wird (dh Sie verwenden Boot Camp, um stattdessen Windows zu starten), wird dies der Fall sein Aktivieren Sie den Ruhezustand erneut, wenn er deaktiviert ist.
quelle
Sie können versuchen, den Ruhezustand wieder ein- und auszuschalten. Führen Sie in cmd "Als Administrator ausführen" Folgendes aus:
Wenn Sie einen Laptop verwenden, gehen Sie nach dem Einschalten und vor dem Ausschalten des Ruhezustands wie folgt vor:
quelle
Ich hatte das gleiche problem Versucht:
Stellen Sie
Control Panel\All Control Panel Items\Power Options\Edit Plan Settings
für alle Energieoptionen Nie ein.Und die Akte wurde immer wieder lebendiger. Der Ratschlag, Prozessmonitor zu verwenden, hat mir geholfen. Auf dem von mir verwendeten System ist "Pointsec für PC" installiert, und der Prozess prot_srv.exe hat diesen Wert weiterhin zurückgesetzt. Da dieser PC mit dieser Software gesperrt ist, kann ich nicht viel tun.
quelle
Das selbe hier!
aus frust habe ich sogar die lokale richtlinie so konfiguriert, dass beim maschinenstart eine cmd ausgeführt wird, die die powercfg-zeile ausführt, aber selbst das ist nicht gut genug!
Das ist wirklich frustrierend, da ich Win7 Ultimate auf einer 60-GB-Partition ausführe.
In meinem nächsten Experiment spiele ich mit dem Registrierungsschlüssel "HiberFileSizePercent" unter:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Power
und prüfen Sie, ob dies dazu führen könnte, dass mindestens eine kleinere Datei (neu) erstellt wird.
f.
quelle
hiberfil.sys
nachdem Sie den Ruhezustand deaktiviert haben, und dann ein Verzeichnis mit dem Namen hiberfil.sys erstellen. Sie können keine Datei und kein Verzeichnis im selben Verzeichnis mit demselben Namen haben, sodass Windows keine Datei mit dem Namen hiberfil.sys erstellen kann. Natürlich könnte MS das berücksichtigt haben und eine andere Datei (hiberfi2.sys?) Erstellen oder sich lautstark darüber beschweren.hiberfil.sys
Datei.Keine Lösung, aber ein Workaround, der für mich funktioniert hat:
Ich hatte nur 900 MB freien Speicherplatz auf meinem C-Laufwerk und wollte die Datei hiberfil.sys entfernen, die mehr als 6 GB benötigte. Also habe ich es mit powercfg -h entfernt. Aber es kam nur nach ungefähr 10 Sekunden wieder oder so. Ich denke, es hat etwas mit PointSec zu tun, weil das hier bereits erwähnt wurde.
Dann deaktivierte ich den Ruhezustand und kopierte schnell eine 1-GB-Datei auf das C-Laufwerk. Jetzt kommt es nicht wieder und ich habe noch 6 GB freien Speicherplatz. Ich denke, es wird immer noch versucht, den Ruhezustand zu aktivieren, und es ist nicht mehr genügend Platz dafür vorhanden. Und wenn mir das nächste Mal der Speicherplatz auf dem C-Laufwerk ausgeht, kann ich die 1-GB-Datei trotzdem löschen.
quelle
Erstellen Sie es möglicherweise nach dem Entfernen manuell neu, und legen Sie die Berechtigungen fest, um zu verhindern, dass das System die Datei ändert? Ich weiß, es ist ein langer Schuß.
Könnte dies durch eine Wiederherstellungspartition oder ähnliches verursacht werden?
quelle
Ich habe eine Problemumgehung, die für mich in Ordnung zu sein scheint (obwohl vielleicht nicht jeder). Von dem, was ich gesammelt habe, deaktiviert vmtoolsd.exe den Ruhezustand beim Booten unter VMware und aktiviert ihn dann (unabhängig vom vorherigen Status) beim nativen Booten wieder. Da VMware Tools beim Ausführen von native (Boot Camp) nicht erforderlich sind, habe ich eine Batch-Datei erstellt, die Folgendes enthält:
Ich habe den VMware Tools-Dienst auf Manuell (und nicht auf Automatisch) eingestellt und im Taskplaner eine Aufgabe erstellt. Die Aufgabe ist wie folgt aufgebaut:
ANMERKUNG: Da ich mich darauf verlasse, dass sich NUMBER_OF_PROCESSORS vom nativen Start unterscheidet, funktioniert dies nur, wenn der virtuellen Maschine nicht die gleiche Anzahl von Prozessoren (logisch, nicht physisch) auf Ihrem Mac zugewiesen wurde.
Die Batch-Datei kann auch vereinfacht werden, um:
Ich hatte ein paar Dinge in der Batch-Datei zum Debuggen / Testen und habe sie einfach behalten.
quelle
goto
s wie das zu haben, schadet meinen ästhetischen Sinnen, wenn du nur eine ungleiche und 1 haben könntestgoto
.Wie bereits erwähnt, habe ich diesen hinterhältigen Ansatz ausprobiert, da für mich nichts anderes funktioniert hat. ProcessMonitor hat lediglich gezeigt, dass der Eintrag in der Registrierung von
powercfg.exe
selbst erstellt wird .Ich kann es nicht einfach deaktivieren / umbenennen oder entfernen.
Wahrscheinlich aufgrund von Gruppenrichtlinien, die sich auf meinem ganzen Laptop befinden (Firmenlaptop -> Firmensuper dumme Sicherheitsrichtlinien!).
Also habe ich den Befehl ausgeführt, bin
hiberfile.sys
für ein paar Sekunden verschwunden, habe die Datei mit dem Namenhiberfile.sys
von einem anderen Ort kopiert (im Editor erstellt und 1 KB groß) und die Berechtigung zum Lesen geändert (Eigenschaften der Datei).Hat die Magie!
Also in Kürze:
powercfg -h off
Getan!
Hinweis: Ohne Änderung der Berechtigungsdatei wird in meinem Fall auf ca. 6 GB zurückgewachsen.
quelle
Der Kredit geht an @Tom Wijsman.
Mein spezielles Problem betrifft das Wake-On-LAN, das durch den Ruhezustand blockiert wurde. Weitere Informationen finden Sie hier: Wie kann der Ruhezustand unter Windows 10 dauerhaft deaktiviert werden?
Ich folgte seiner Methode und holte das Boot-Protokoll.
In meinem Fall ist es die
vmtoolsd.exe
Einstellung unterhalb des Registrierungswerts auf 1, die das total übertrifftpowercfg /h off
.Das
vmtoolsd.exe
gehört dazuVMware Tools
.Nachdem ich es deinstalliert habe,
hiberfil.sys
wurde das nie neu erstellt.quelle
Halbe Antwort:
Unter Windows XP war dies eine einfache und dauerhafte Lösung:
lösche hiberfil.sys mit diesem Befehl (mit Administratorrechten):
powercfg -h off
Erstellen Sie einen Ordner mit dem Namen "hiberfil.sys" unter C: \
Leider ist Win7 "schlauer" als XP und tötet diesen Ordner, wobei alle Kombinationen aus Besitz und Berechtigung, die ich ausprobiert habe, ignoriert werden. Aber manchmal hat mein Ordner hiberfil.sys einen einzelnen Neustart überstanden, ohne ersetzt zu werden. Es ist auch interessant, dass das System die ursprüngliche Datei nach ein paar Sekunden neu zu generieren schien, als das Fenster von C: \ auf dem Desktop erschien.
Und danke für meine erste Ablehnung :)
quelle