Windows 7: Ruhezustand's Datei (hiberfil.sys) auslagern

feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Windows 7: Ruhezustand's Datei (hiberfil.sys) auslagern

Beitrag von feissmaik »

Ich hab lange gesucht aber in jedem Forum steht dass man die, für den Ruhezustand zuständige, Datei hiberfil.sys nicht auf ein anderes Laufwerk auslagern könne...

Warum man die Datei auslagern sollte?
Entweder ihr habt auf eurem Systemlaufwerk nicht genügend Speicherplatz, oder ihr verwendet eine SSD und wollt genauso wie mit der Auslagerungsdatei unnötige Schreibvorgänge minimieren..

Wer einfach garkein Ruhezustand haben möchte, sollte diesen natürlich einfach ganz ausschalten (über die Energieoptionen oder den cmd Befehl " powercfg -H Off ")


Nach ein bischen herrum testen bin ich auf den "DOS" Befehl bcdedit gestossen und entdeckte dort einige interessante Einträge.

Überlegt euch auch vorher auf welches Laufwerk ihr die Datei auslagern möchtet denn hiberfil.sys ist voreingestellt 75% so gross wie euer Arbeitsspeicher - habt ihr 4GB Ram ist hiberfil.sys also ca. 2,7GB gross, habt ihr aber 8GB oder sogar 16GB ist die hiberfil.sys Datei natürlich auch grösser und soviel freien Speicherplatz muss das Laufwerk dann natürlich auch haben!

Zur Änderung der hiberfil.sys Dateigrösse:
Spoiler
Show
Über den regedit Eintrag

Code: Alles auswählen

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power
und
DWord:
HiberFileSizePercent

Standard ist 75 (75%) Doppelklicken und Wert (Dezimal) mit 50 (hälfte vom tatsächlichen Ram) oder weniger versuchen. Vorher Rechtsklick auf "Power" und exportieren (Backup) nicht vergessen falls das nicht klappt.

Kommt halt drauf an wie viel vom Ram in dem Moment benutzt wird. 1GB reicht bei mir locker, bei jemand anderen könnte das zu wenig sein, einfach mal testen.

Das muss natürlich jeder für sich selber entscheiden, pauschal irgendein Wert für alle wäre unmöglich aber wenn man z.B. 8 oder 16GB Ram eingebaut hat, dann kann ich mir gut vorstellen das man davon profitieren wird.

Also zunächst braucht ihr eine Eingabeaufforderung mit Adminstrativen Rechten und geht dazu wie folgt vor:

Start -> Programme -> Zubehör -> rechts-klick auf Eingabeaufforderung -> Als Administrator ausführen

Dort gebt ihr nun folgenden Befehl ein:

Code: Alles auswählen

bcdedit /enum all
Achtet dabei auf folgende Ausgabe:

Code: Alles auswählen

Wiederaufnahme aus dem Ruhezustand
----------------------------------
Bezeichner              {31c2d86a-d39b-11e2-8e50-ba1f9deb278a}
device                  partition=C:
path                    \Windows\system32\winresume.exe
description             Windows Resume Application
locale                  de-DE
inherit                 {resumeloadersettings}
filedevice              partition=C:
filepath                \hiberfil.sys
pae                     Yes
debugoptionenabled      No
Dazu sei an dieser Stelle aber nun gesagt dass der Bezeichner bei jedem anders lauten kann! (das ist später zum ändern sehr wichtig!)
Wichtig ist auch das wir filedevice ändern wollen! "device" muss so bleiben wie es ist!

Bevor wir nun aber Änderungen vornehmen, erstellen wir erstmal ein Backup!
Mittels des Befehls

Code: Alles auswählen

bcdedit /export sicherung
wird ein Backup angelegt, was man dann bei Bedarf mittels

Code: Alles auswählen

bcdedit /import sicherung
wieder einspielen kann.


Wie oben bereits angedeutet ist der Bezeichner Eintrag wichtig da wir den nun zum ändern benötigen, also macht ihr erstmal mit der Maus ein Rechtsklick in das EIngabeaufforderungs-Fenster und geht dann auf Markieren
Wählt den Eintrag hinterm Bezeichner inklusive der { } klammern aus - bei mir ist das:
{31c2d86a-d39b-11e2-8e50-ba1f9deb278a}
Dann müsst ihr oben auf die Programm-Titelleiste ein Rechtsklick machen und wählt Bearbeiten -> Kopieren aus

Nun zur Überlegung die ihr oben treffen solltet auf welches alternative Laufwerk ihr die hiberfil.sys auslagern wollt... Denn wenn es sich dabei um eine Partition handelt, müsst ihr das beim nachfolgenden Befehl mit angeben - wenn es aber ein physikalisch tatsächlich anderes Laufwerk ist braucht ihr kein "partition" mit angeben:

Nun ändern wir den filedevice Eintrag mit folgendem Befehl (ich lagere die hiberfil.sys auf die Partition " D: " aus):

Code: Alles auswählen

bcdedit /set {31c2d86a-d39b-11e2-8e50-ba1f9deb278a} filedevice partition=D:
Wenn das neue FileDevice keine partition ist sähe der Befehl wie folgt aus:

Code: Alles auswählen

bcdedit /set {31c2d86a-d39b-11e2-8e50-ba1f9deb278a} filedevice=D:
Wenn das erfolgreich war müssen wir nun den Rechner neu starten und anschliesend sollte es auf dem geänderten Laufwerk die Datei hiberfil.sys geben (also wie bei mir hier: D:\hiberfil.sys) und nun kann man die Datei hiberfil.sys auf dem Systemlaufwerk manuell löschen

Fertig 8-)


PS: Es gibt auch eine GUI Version vom bcdedit: Visual BCD
Dort müsst ihr dann unter "Hibernate resumers"
Du musst nicht kämpfen um zu siegen
Mayer
IPC Freak
Beiträge: 187
Registriert: Do 27. Okt 2011, 01:19
Kontaktdaten:

Re: Windows 7: Ruhezustand's Datei (hiberfil.sys) auslagern

Beitrag von Mayer »

Danke für den Tipp,

ein Frage hätte ich da aber noch. Macht man beim Auslagern der Datei auf eine Normal HDD nicht den Vorteil der SSD zu Nichte? Ich dachte das gerade bei solchen Sachen spielt die SSD ihre Vorteile voll aus.

FG Mayer
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: Windows 7: Ruhezustand's Datei (hiberfil.sys) auslagern

Beitrag von feissmaik »

Die hiberfil.sys wird ausschlieslich für den Ruhezustand genutzt.

Kurze Erklärung: Im Gegensatz zum Standby (Suspend-to-RAM) wird beim Ruhezustand (Suspend-to-Disk) der aktuelle Inhalt des RAM und alle geöffneten Programme usw auf Festplatte gespeichert wodurch anschliesend Problemlos der Rechner vom Strom getrennt werden kann... Fährt man dann den Rechner wieder hoch werden alle Programme usw wieder hergestellt.
Windows wird dabei weiterhin vom Systemlaufwerk gestartet, nur eben die geöffneten Programme usw werden aus der hiberfil.sys Datei geladen aber dann nicht weiter angesprochen

Vollständige Erklärung Ruhezustand: http://de.wikipedia.org/wiki/Ruhezustand
Spoiler
Show
Unter Windows Vista und 7 gibt es auf den ersten Blick nur noch den Modus „Energie sparen“, der standardmäßig als hybrider Modus konzipiert ist.
Das bedeutet, er nutzt die Vorteile des Standbymodus und des Ruhezustandes in einer Funktion. Der Modus versetzt das System dabei in den Standby-Modus (in der Regel der Zustand „S3“ – „suspend to RAM“) und schreibt zusätzlich den Inhalt des Arbeitsspeichers auf die Festplatte und/oder in stationären ReadyDrive- und ReadyBoost-Flashspeicher.
Trennt man den PC nun vom Stromnetz ab und schaltet ihn später wieder ein, so fährt der Rechner so hoch, als wäre er in den Ruhezustand versetzt worden.
Ohne Netztrennung wird der Vorteil der erheblich schnelleren Reaktivierung des Rechners aus dem Standby-Modus genutzt.
Es ist jedoch auch möglich, unter Vista und 7 den herkömmlichen Ruhezustand wieder zu aktivieren.
Für solch eine Nutzung spielt eine SSD also eher keine Rolle. (Vorallem da es nur das Starten bzw Herrunterfahren des OS's betriff)

Vielleicht verwechselst du das mit der Auslagerungsdatei (virtueller Arbeitsspeicher) was aber im pagefile.sys abgelegt wird?

Allerdings würde ich mit einer SSD und mind. 4GB Ram ebenfals dazu rate auf die Auslagerungsdatei vollständig zu verzichten und stattdessen eine 512MB RamDisk (mit dem Programm "Dataram RAMDisk") zu verwenden, die Benutzer- und System-Umgebungs Variablen "TEMP" und "TMP" auf diese Ramdisk abzuändern sowie den Browsercache von Firefox/Chrome ebenfals auf die Ramdisk auszulagern.... Das Ramdisk Image aber selbstverständlich auch auf eine Magnetscheibe ablegen ;)

Hintergrund ist eben so wenig wie möglich Schreibvorgänge auf der SSD zu verursachen damit die möglichst lange hällt
Du musst nicht kämpfen um zu siegen
Mayer
IPC Freak
Beiträge: 187
Registriert: Do 27. Okt 2011, 01:19
Kontaktdaten:

Re: Windows 7: Ruhezustand's Datei (hiberfil.sys) auslagern

Beitrag von Mayer »

Okay, ich danke dir für die Ausführung.

Das leuchtet mir dann schon ein, werde ich das demnächst mal in Angriff nehmen.

Ich schaue dann auch mal wie sich die Zeiten bzw. Benchmarks verhalten und werde berichten.

FG
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste