Czy mogę przenieść hiberfil.sys na inny dysk?

75

W moim systemie% SYSTEMDRIVE% kończy się miejsce w systemie Windows. Jest hiberfil.sysplik, którego rozmiar to prawie 3 GB.

Rozumiem, że hiberfil.sysjest używany do funkcji hibernacji systemu Windows. https://support.microsoft.com/en-us/help/13770/windows-shut-down-sleep-hibernate-your-pc

Ukryty plik systemowy Hiberfil.sys znajduje się w folderze głównym dysku, na którym jest zainstalowany system operacyjny. Menedżer zasilania jądra systemu Windows rezerwuje ten plik podczas instalowania systemu Windows. Rozmiar tego pliku jest w przybliżeniu równy ilości pamięci RAM (RAM) zainstalowanej na komputerze.

Komputer używa pliku Hiberfil.sys do przechowywania kopii pamięci systemowej na dysku twardym, gdy włączone jest ustawienie uśpienia hybrydowego. Jeśli ten plik nie jest obecny, komputer nie może hibernować.

Nie chcę wyłączać funkcji hibernacji.

Czy jest jakiś sposób na przejście hiberfil.sysna inny dysk niż %SYSTEMDRIVE%?

szynka
źródło
2
Nie, nie możesz, po prostu nie ma mowy.
HackToHell,
21
Obowiązkowe Raymond Chen: Poufne dla systemu Windows: Paradoks systemu plików
grawitacja
1
To musi być dupek. . .
surfasb
2
Niepokojący jest także tag „external-drive”. Komputery nie lubią, gdy ich pamięć może odejść.
MSalters

Odpowiedzi:

23

Nie sądzę, że można na przykład „przekierować” ścieżkę pliku hiberfil.sys z „C: \ hiberfil.sys” do „D: \ hiberfil.sys”.

Przeprowadziłem badania w Google oraz w rejestrze systemu Windows i nie znalazłem nic poza opcją wyłączenia go (i w konsekwencji usunięcia pliku hiberfil.sys):

  1. Kliknij przycisk Start, a następnie wpisz cmd w polu Rozpocznij wyszukiwanie.
  2. Na liście wyników wyszukiwania kliknij prawym przyciskiem myszy Wiersz polecenia, a następnie kliknij polecenie Uruchom jako administrator.
  3. Gdy pojawi się monit Kontroli konta użytkownika, kliknij Kontynuuj.
  4. W wierszu polecenia wpisz powercfg.exe /hibernate off, a następnie naciśnij ENTER.
  5. Wpisz polecenie exit, a następnie naciśnij, ENTERaby zamknąć okno wiersza polecenia.
Diogo
źródło
12
To nie jest odpowiedź, OP nie chce wyłączyć hibernacji.
cjb110
1
Dzięki, kiedy uruchomiłem komentarz, hiberfil.sys automatycznie usuwa. Dzięki, mam teraz dodatkowe 32 GB na moim dysku SSD
Valamas
2
@ cjb110 Tak. Ale w jakikolwiek sposób to przydatne
FindOutIslamNow
nie można przenieść pliku, ale można zmienić jego rozmiar
phuclv
19

Zamiast wyłączać hibernację, możesz zmniejszyć rozmiar pliku hibernacji do maksymalnie 50% całkowitej pamięci fizycznej:

  1. Kliknij przycisk Start, a następnie wpisz cmd w polu Rozpocznij wyszukiwanie.
  2. Na liście wyników wyszukiwania kliknij prawym przyciskiem myszy Wiersz polecenia, a następnie kliknij polecenie Uruchom jako administrator.
  3. Gdy pojawi się monit Kontroli konta użytkownika, kliknij Kontynuuj.
  4. W wierszu polecenia wpisz powercfg.exe /hibernate /size 50, a następnie naciśnij ENTER.
  5. Wpisz, exita następnie naciśnij, ENTERaby zamknąć okno wiersza polecenia.

Rozmiar hiberfil.syszostanie natychmiast zmniejszony.

Aktualizacja : należy pamiętać, że jeśli podczas hibernacji nie można skompresować pamięci RAM systemu do 50% jego rozmiaru, może pojawić się niebieski ekran z INTERNAL_POWER_ERROR podobny do tego, co może być trudne do zdiagnozowania:

BSOD „INTERNAL_POWER_ERROR” w systemie Windows 7 w stanie hibernacji

mhu
źródło
Diogo opublikowało dokładnie to samo rozwiązanie wcześniej, wraz z przypisaniem. -1
Joris Groosman
9
@JorisGroosman To nie to samo rozwiązanie. Zwróć uwagę na różnicę w kroku 4. OP nie chciał wyłączyć hibernacji, jak robi to rozwiązanie Diogo. Powyższe rozwiązanie zmniejsza o połowę rozmiar używany podczas hibernacji.
mhu,
Tak, aby potwierdzić, jestem kimś, kto przyszedł do tego postu z podobnym pytaniem - zadziałało tutaj. Zmniejszył rozmiar mojego pliku hibernacji z ponad 6 do nieco ponad 4 gigabajtów. Nie pozwoliłoby mi to zmniejszyć do mniej niż 50% pamięci RAM, więc może być tak niskie, jak to możliwe - próbowałem 25%, ale plik pozostał taki sam jak dla 50%. Mam 8 koncertów zainstalowanej pamięci RAM
Robert Walker
16

W przeciwieństwie do trybu SLEEP , w którym wszystko, co działa w systemie, jest przechowywane w pamięci RAM (która jest zasilana), HIBERNATION kopiuje cały stan pamięci RAM do pliku o nazwie HIBERFIL.sys . Dlatego ten plik musi być co najmniej tak duży, jak rozmiar pamięci RAM. Komputer wyłącza się całkowicie, ponieważ nie musi on mieć żadnych składników pod stałą mocą.

ALE, następnym razem, gdy chcesz obudzić komputer ze stanu hibernacji, aby znaleźć go w tym samym miejscu, w którym go zostawiłeś, potrzebuje sektora rozruchowego dysku systemowego ...

Niestety nie ma możliwości przeniesienia tego pliku HIBERFIL.sys na inne dyski twarde lub partycje.

Jest to inaczej niż plik PAGEFILE.sys , który MOŻNA przenieść na inny dysk fizyczny lub partycję, więc dysk systemowy nie musi obsługiwać pliku stronicowania.

Tutan C'mon
źródło
3
Ten artykuł pomógł mi zdecydować, że nie chcę hibernacji i zapisać, aby móc usunąć plik 32 GB z mojego dysku SSD. verdiem.com/blog/2011-11-15/put-them-sleep-dont-hibernate
Valamas
1
@Valamas Verdiem został od tego czasu kupiony przez inną firmę, a strona została wyłączona. Oto zarchiwizowana wersja tego linku: web.archive.org/web/20150317121812/http://verdiem.com/blog/… Wymienione tam informacje są w zasadzie takie, że Sen nie zużywa dużo więcej energii niż Hibernatio, ale uruchamia się szybciej.
sp00n
5

Możesz go tylko wyłączyć, a nie przenieść, ponieważ hiberfil.sys jest potrzebny znacznie wcześniej w sekwencji rozruchowej systemu operacyjnego.

W tym momencie sekwencji rozruchowej system operacyjny nie jest w stanie zrozumieć dowiązań symbolicznych,

Więc jedynym miejscem, w którym będzie szukać pliku hiberfil.sys, jest dysk główny systemu operacyjnego. Więcej informacji na temat Relocate hiberfil.sys

Mroczny rycerz
źródło
Dziękujemy za rozsądne wyjaśnienie, dlaczego nie można tego przenieść!
glenviewjeff
0

Powinien znajdować się na tym samym dysku co booloader (NTLDR / BOOTMGR), aby bootloader mógł go wcześnie odebrać i skopiować do pamięci RAM.

Spróbuj przenieść bootloader.

Michaił Kupczik
źródło
Po przeniesieniu bootloadera, jak mogę przekierować ścieżkę hiberfil.sys?
Hamed
Będzie na tej samej partycji co bootloader, w folderze głównym.
Michaił Kupchik
5
Podejrzewano, że mój program ładujący znajduje się na innym dysku. Myślę, że to nie ma związku z bootloaderem. Powiązał partycję Windows.
Hamed
1
Myślę, że jest to najbliższa odpowiedź, nie można powiedzieć systemowi Windows, aby szukał czegoś innego. Ale to zależy, czy Windows patrzy na katalog główny, w którym jest zainstalowany, czy katalog główny dysku rozruchowego? (te są domyślnie takie same, ale w żadnym wypadku nie muszą być). Jeśli jest to drugie, to ta odpowiedź będzie działać (jeśli niełatwo to osiągnąć).
cjb110
6
Fałszywa odpowiedź. W systemie Windows Vista i nowszych program ładujący znajduje się na ukrytej partycji, podczas gdy hiberfil.sysznajduje się w C:
-1

Aby zatrzymać usługę hibernacji w systemie Windows Vista lub 7:

  1. Kliknij przycisk Start iw polu wyszukiwania wpisz cmd
  2. Po otwarciu wiersza polecenia wpisz powercfg.exe -h off
  3. Wyjdź z wiersza polecenia

W tym momencie kilka ważnych rzeczy będzie miało miejsce w systemie Windows:

  1. hiberfil.sys już nie istnieje w Eksploratorze (tzn. jest usuwany, zwalniając w ten sposób dużo miejsca na dysku),
  2. „Hibernacja” nie jest już dostępna z opcji Zamknij w menu Start, a
  3. oczywiście nie będzie już można wprowadzić systemu Windows w stan hibernacji (S4).
Lars
źródło
6
W pytaniu jest wyraźnie powiedziane: „Nie chcę wyłączać hibernacji”. Dlatego twój nie jest pomocny w tym przypadku.
Robert
Likey - bo ja już nie hibernacji - używam snu
KillJoy