Hazırda Bekletme modu devre dışı bırakılmış, her önyüklemede hiberfil.sys yeniden oluşturuluyor


20

Windows 7'ye 4GB koçluk küçük (40GB) bir bölüm çalışıyor. Bu, Hibernate tarafından oluşturulan hiberfil.sys dosyasının kullanılabilir disk alanının önemli bir bölümünü kapladığı anlamına gelir. Kaldırmak istiyorum.

powercfg -h offYükseltilmiş komut sisteminden Hibernate özelliğini devre dışı bırakabilir ve hiberfil.sys dosyasını kaldırabilirim . Bu çalışır - dosya hemen kaldırılır ve bunu yaptıktan sonra, HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\HibernateEnabledanahtar (doğru) 0 olarak ayarlanır.

Ancak, bilgisayarı bir sonraki açışımda hiberfil.sys ölüden geri dönüyor, Hazırda Bekletme yeniden etkinleştiriliyor ve bu kayıt defteri anahtarı 1'e geri dönüyor.

Neyse, bu işte sonunda aklımdayım. Hiberfil.sys dosyasını kaldırmayla ilgili çevrimiçi bulabildiğim hemen hemen her şey sadece hazırda bekletme modunu kapatmak için powercfg kullanılmasını önerir ve bu, herkes için işe yarar. Ama sadece benim için geri gelmeye devam ediyor! (Bir vampir gibi, disk alanımı emiyor.) Aynı sorunu yaşayan birinden başka bir konu buldum , ancak öneriden hiçbiri orijinal poster için (ya da benim için) işe yaramadı. Yine de, burada listelenen her şeyi denedim:

  • Karma uykuyu devre dışı bırakma

  • Hazırda Bekletme modunu komut isteminde, Güç Seçenekleri GUI'sinde ve her ikisinde de (her iki sırada da) devre dışı bırakma

  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\HibernateEnabledAnahtarı el ile değiştirme

  • Düşünebildiğim hemen hemen her şey!

Dosyayı kaldırmada sorun yaşamadığımı yinelemek istiyorum - bu harika çalışıyor. Her yeniden başlatmadan sonra tekrar gelir. Havluyu atmaya hazırım ve her seferinde Hazırda Bekletme modunu devre dışı bırakmak için giriş yaptığınızda bir komut dosyası çalıştırın, bu delice delice bir "çözüm" gibi görünse de. . . ama burada birisinin başka bir şey önerebileceğini umuyordum.


Kayıt defterini izleyen ve koruyan bir güvenlik yazılımınız olmalıdır.
Moab

1
Bu sorunun ne kadar süredir orada oturduğuna bakıldığında ve bu yaygın bir sorun olabileceğinden, bu soruya bir karşılık verdim.
bwDraco

Bunu yapacak özel bir önyükleme yazılımı kurulu değilsiniz, değil mi?
Mehrdad

Yanıtlar:


18

Windows 7x64 kurulumum Mac dizüstü bilgisayardaki SSD bölümünde. Ben powercfg / h kapalı (yüksek) devre dışı ve ms fixit uyku modunu devre dışı bırakmanın yanı sıra HibernateEnable değeri 0 olarak ayarlanan kayıt defteri anahtarını 0 olarak devre dışı bıraktı. Hiberfil.sys yalnızca yeniden başlatılıncaya kadar silinir. Yerel hiberfil.sys dosyasını başlattığımda her zaman yeniden oluşturulur, ancak OS X ve VMware Fusion içinde başlattığımda, hazırda bekletme modu olması gerektiği gibi devre dışı kalır.

Tom Wijsman'ın ProcessMonitor'un önyükleme günlüğü ile önerisi, vmtoolsd.exe dosyasının ( VMware'den ) yerel önyükleme sırasında kayıt defteri anahtarını yeniden etkinleştirdiğini bulmamda bana yardımcı oldu . Regedit'teki izinleri değiştirmeye çalıştım, ancak 1'deki değer değişimini durdurmadılar. Küçük bir hiberfil.sys oluşturmayı düşündüm, ancak bunun üzerine yazıldığını düşünüyorum.

% 99'luk bir çözüm olarak, HiberFileSizePercent değerini ondalık 1 olarak değiştirdim, bu da 8GB RAM makinede hiberfil.sys dosyasını yalnızca 80 MB yapar. Sanırım 0,001 ya da daha az deneyebilirim ama 80 MB fazla değil.


1
Teşekkür ederim - Ben Bootcamp ve VMWare Fusion içeren bir Macbook'tayım, muhtemelen bana saatler kazandırdı.
DanB

13

İşlem Monitörü ile bu sorunu kolayca çözebilirsiniz .

Bunu başlatın ve etkinleştirme Önyükleme Günlüğünü içinde Seçenekler menüsünden, bilgisayarınızı yeniden başlatın ve Process Monitor başlatın.

Daha sonra, yakalamayı bırakmasına izin verin ve sonra HibernateEnableddeğeri değiştiren şeyi bulup kontrol edin.


Daha gelişmiş bilgiler için bu, Windows Performans Araç Seti'nden XBootMgr ile de yapılabilir.

Kurulum Talimatları - On / Off Geçiş Performansı Analizi Belgesi


2
Cevabınız sorunu çözme konusunda en büyük potansiyele sahip olduğundan, size ödül vermeye karar verdim.
bwDraco

Bu yöntem benim sorunumu çözdü. Teşekkürler! (Benim sorunum Wake-On-LAN hakkında, burada ayrıntıları: superuser.com/questions/1405082/… )
smwikipedia

6

Eğer boot camp ve vmware fusion kullanıyorsanız:

% Programfiles% \ VMware \ VMware Tools \ plugins \ vmsvc \ disableGuestHibernate.dll dosyasını bulun ya da taşıyın.

Son olarak, bir yönetici yükseltilmiş komut istemi açıp çalıştırarak hazırda bekletme modunu bir kez ve herkes için devre dışı bırakın:

powercfg -h kapalı

Vmware araçları yüklendiğinde disableGuestHibernate eklentisi yüklenir. Vmware araçları bir vm'de çalışırken yüklenirse, hazırda bekletme modunu devre dışı bırakacaktır (vmware kendi askıya alma sistemini hazırda bekletme modunu gereksiz kılan bir sistem olduğundan).) devre dışıysa hazırda bekletme modunu yeniden etkinleştirin.


Bu harika bir cevap ve iyi ayrıntılı. 10 oy verebilseydim, yapardım!
Rijk

Bu arada: basitçe yeniden adlandırmak işe yaramazsa, gerçekten dll'yi kaldırmanız gerekir.
Rijk

Bu benim için de düzeltti. Oyla!
MortenRøgenes 14:14

4

Hazırda bekletme modunu açıp kapatmayı deneyebilirsiniz. Cmd'de "Yönetici Olarak Çalıştır" yapın:

powercfg.exe /hibernate on
powercfg.exe /hibernate off
del c:\hiberfil.sys

Dizüstü bilgisayar kullanıyorsanız, hazırda bekletme modunu açtıktan ve kapatmadan önce aşağıdakileri yapın:

  1. Hibrit uykunun devre dışı olduğundan emin olun.
  2. Güç Seçenekleri → Plan ayarlarını değiştir → Gelişmiş güç ayarlarını değiştir, Uyku modunu genişlet ve "Pilde" ve "Takılı" değerini 0 dakika olarak değiştir.

görüntü


2

Ben de aynı problemi yaşadım. Denenmiş:

powercfg –H OFF

Set HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\HibernateEnabled

Control Panel\All Control Panel Items\Power Options\Edit Plan SettingsTüm güç seçenekleri için Asla'yı ayarlayın .

Ve dosya tekrar hayata dönmeye devam etti. Proses monitörünü kullanmanın tavsiyesi benim için hile yaptı. Kullandığım sistemde yüklü "Pointsec for PC" var ve prot_srv.exe işlemi bu değeri sıfırlamayı sürdürdü. Bu PC bu yazılım ile kilitli olduğu göz önüne alındığında, yapabileceğim bir şey yok.


1

burada da aynısı!

hayal kırıklığı dışında, yerel politikayı, makinenin açılışında powercfg hattını çalıştıracak bir cmd çalıştıracak şekilde bile yapılandırdım, ancak bu bile yeterince iyi değil!

60 GB'lık bir bölümde Win7 Ultimate kullanıyorum çünkü bu gerçekten sinir bozucu.

Bir sonraki denemede, aşağıdaki "HiberFileSizePercent" kayıt defteri anahtarını kullanacağım:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet Control \ Güç \

ve en azından daha küçük bir dosya oluşturmaya (yeniden) zorlayabilir mi diye bakın.

f.


+1 - Bu muhtemelen iyi bir fikir. İlişkili olmayan hazırda bekletme sorunları ile ilgili başka bir kullanıcıya yardım ederken bu aynı çözüme rastladım.
SgtOJ

Bunu asla çözmedim. Bir süredir bir giriş komut dosyası koştum, ancak lapa lapa oldu ve sonunda daha büyük bir sürücü satın alıp hiberfil.sys dosyasını yerinde bırakarak sona erdi. Sana iyi şanslar diliyorum ve bu konuyu takip edeceğim. Başarılıysanız, lütfen geri gönderin!
Corey White,

Ayrıca hiberfil.syshazırda bekletme modunu devre dışı bıraktıktan sonra silebilir ve ardından hiberfil.sys adlı bir dizin oluşturabilirsiniz . Bir dosya ve bir dizini aynı dizinde aynı ada sahip olamazsınız, bu nedenle Windows, hiberfil.sys adlı bir dosya oluşturamaz. Tabii ki, MS bunu açıklamış olabilir ve başka bir dosya oluşturabilir (hiberfi2.sys?) Veya bunun hakkında yüksek sesle şikayet edebilir.
Bacon,

@BaconBits: biziclop bunun işe yaramadığını söyledi; Windows klasörü klasörle değiştirir hiberfil.sys.
bwDraco

1

Bir çözüm değil, benim için çalışan bir geçici çözüm:

C sürücümde yalnızca 900 MB boş alan vardı ve 6GB'den fazla süren hiberfil.sys dosyasından kurtulmak istedim. Böylece powercfg -h ile kaldırdım. Ama sadece 10 saniye sonra geri gelmeye devam etti. PointSec ile bir ilgisi olduğunu düşünüyorum çünkü burada daha önce bahsedilmişti.

Sonra hazırda bekletme modunu devre dışı bıraktım ve ardından hızlı bir şekilde 1 GB'lik bir dosyayı C sürücüsüne kopyaladım. Şimdi geri dönmüyor ve hala 6GB'lık boş yerim var. Sanırım hala hazırda bekletme modunu etkinleştirmeye çalışıyor ve bunun için artık yeterli alan olmadığını görüyor. Ve bir dahaki sefere C sürücüsünde boş alan kalmazsa, hala 1GB dosyasını silebilirim ..


0

Belki de kaldırıldıktan sonra elle yeniden oluşturun ve sistemi değiştirmek için sistemin izin vermemesine izin verin? Biliyorum, uzun bir atış.

Buna bir geri yükleme bölümü veya benzeri neden olabilir mi?


0

Benim için iyi sonuç veren bir çözümüm var (yine de herkes olmasa da). Topladığımdan itibaren, vmtoolsd.exe VMware altında önyükleme yaparken hazırda bekletme modunu devre dışı bırakır ve ardından yerel önyükleme yaparken yeniden etkinleştirir (önceki durumdan bağımsız olarak). VMware Tools, yerel (Boot Camp) çalışırken gerekli olmadığından, aşağıdakileri içeren bir toplu iş dosyası hazırladım:

@echo off

if "%NUMBER_OF_PROCESSORS%" == "1" goto :enable
goto :end

:enable
net start "VMware Tools"

:end

VMware Tools hizmetini Manual (Otomatik) yerine ayarlıyorum ve Görev Zamanlayıcı'da bir görev oluşturdum. Görev aşağıdaki gibi kurulur:

  • Kullanıcının giriş yapıp yapmadığını çalıştır
  • En yüksek ayrıcalıklarla koş
  • Gizli (gerekli olmayabilir)
  • Tetikleyiciler: sistem başlangıcında
  • İşlemler: yukarıdaki toplu iş dosyası
  • Koşullar / Ayarlar'daki her şeyin işaretini kaldırın (gerekli olmayabilir)

NOT: NUMBER_OF_PROCESSORS'a doğal önyüklemeden farklı olduğundan emin olduğum için, yalnızca Mac'inizde aynı sayıda işlemci (mantıksal, fiziksel değil) verilen sanal makineniz yoksa çalışır.

Ayrıca, toplu iş dosyası aşağıdakilerle basitleştirilebilir:

@if "%NUMBER_OF_PROCESSORS%" == "1" net start "VMware Tools"

Toplu iş dosyasında hata ayıklama / test yapmak için birkaç şey vardı ve sakladım.


ot, ancak eşitlik kontrolü yaptırmak ve 2 birbiriyle örtüşen gotoşey, sadece eşit olmayan ve 1 olana kadar estetik duyularımı incitiyor goto.
underscore_d

0

OKtosiTe'nin dediği gibi, bu sinsi yaklaşımı denedim, çünkü benim için hiçbir şey işe yaramadı. ProcessMonitor basitçe kayıt defterindeki girdinin powercfg.exekendisi tarafından yaratıldığını gösterdi .

Basitçe devre dışı bırakamıyorum / yeniden adlandıramaz veya kaldıramam.

Muhtemelen dizüstü bilgisayarımın her tarafında bulunan Grup İlkeleri nedeniyle (şirket dizüstü bilgisayarı -> şirket süper aptal güvenlik ilkeleri!).

Bu yüzden run komutunu çalıştırdım, hiberfile.sysbirkaç saniye kayboldum hiberfile.sys, başka bir yerden (editörde yaratılmış ve 1 KB boyutunda) adlandırılmış dosyayı kopyaladım ve sadece okuma izinlerini değiştirdim (dosyanın özellikleri).

Sihri yaptım!

Yani kısacası:

  1. Cmd cinsinden çalıştır powercfg -h off
  2. Hazırlanan kopya hiberfile.sys
  3. Özellikler -> salt okunur

Bitti!

Not: İzin dosyasını değiştirmeden benim durumumda yaklaşık 6GB'a kadar büyür.

hiberfile.sys şimdi yalnızca 1KB


0

Kredi @Tom Wijsman'a gidiyor.

Benim özel sorunum, Hazırda Bekletme Modunda engellenen Yerel Ağda Uyandırma ile ilgili, burada ayrıntıları: Windows 10'da hazırda bekletme modunu kalıcı olarak nasıl devre dışı bırakılır?

Onun yöntemini izledim ve önyükleme günlüğünü aldım.

Benim durumumda, vmtoolsd.exekayıt defteri değerinin altında ayarlanan 1 olarak ayarlandı, ki bu tamamen yendi powercfg /h off.

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\HibernateEnabled

vmtoolsd.exeAittir VMware Tools.

Kaldırdıktan sonra hiberfil.sys, hiçbir zaman yeniden oluşturulmadı.


-2

Yarım cevap:

Windows XP'de bu kolay ve kalıcı bir çözümdü:

  1. Bu komutu kullanarak hiberfil.sys dosyasını silin (admin haklarına sahip): powercfg -h off

  2. C: \ de "hiberfil.sys" adlı bir klasör oluşturun

Ne yazık ki, Win7 XP'den daha "akıllı" ve bu klasörü öldürdü, denediğim herhangi bir sahiplik / izin kombinasyonunu görmezden geldi. Ama bazen benim hiberfil.sys klasörü değiştirilmeden tek bir yeniden başlatmadan kurtuldu. Sistemin birkaç saniye sonra orijinal dosyayı yeniden oluşturduğu ve masaüstünde C: \ penceresinin göründüğü ilginç.

Ve ilk olumsuz oyum için teşekkür ederim :)


Bu çok kötü bir fikir olmayabilir - izinlerini, Sistem bile silemez, (ilk önce izinlerini değiştirmeden). Tabii ki, win7 sadece önyüklemeyi reddedebilir.
Hugh Allen

@Hugh: Hazırda bekleme kodunun çekirdeğin bir parçası olması ACL'leri göz ardı etmesi olasıdır.
Grawity
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.