हाइबरनेट अक्षम है, प्रत्येक बूट पर हाइबरफ़िल।एसआईएस फिर से तैयार हो जाता है


20

मेरे पास विंडोज 7 एक छोटे (40 जीबी) विभाजन पर चल रहा है, जिसमें 4 जीबी रैम है। इसका मतलब यह है कि हाइबरनेट द्वारा बनाई गई हाइबरफिल.एसआईएस फ़ाइल उपलब्ध डिस्कस्पेस का एक महत्वपूर्ण हिस्सा लेती है। मैं इसे दूर करना चाहूंगा।

मुझे पता है कि मैं हाइबरनेट को अक्षम कर सकता हूं और powercfg -h offएक उन्नत कमांड प्रॉम्प्ट में प्रवेश करके हाइबरफिल को हटा सकता हूं । यह काम करता है - फ़ाइल को तुरंत हटा दिया जाता है, और ऐसा करने के बाद, HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\HibernateEnabledकुंजी (सही ढंग से) 0 पर सेट होती है।

हालांकि, अगली बार जब मैं पीसी को रिबूट करता हूं, तो मृतकों में से हाइबरफिल.एसआई रिटर्न, हाइबरनेट फिर से चालू हो जाता है, और रजिस्ट्री कुंजी 1 पर वापस आ गई है।

मैं इसके साथ अपने दिमाग के अंत में बहुत सुंदर हूं। लगभग सब कुछ जो मुझे हाइबरफिल को हटाने से संबंधित ऑनलाइन मिल सकता है। फाइल केवल हाइबरनेशन को बंद करने के लिए पॉवरफग का उपयोग करने का सुझाव देती है, और यह सबके बारे में काम करता है। लेकिन यह सिर्फ मेरे लिए वापस आ रहा है! (एक पिशाच की तरह, मेरी डिस्क स्थान को चूसते हुए।) मुझे किसी और से एक धागा मिला, जो लगता है कि एक ही मुद्दा था, लेकिन वहां के किसी भी सुझाव ने मूल पोस्टर (या मेरे लिए) के लिए काम नहीं किया। फिर भी, मैंने वहां सूचीबद्ध सभी चीजों की कोशिश की है, जिनमें शामिल हैं:

  • हाइब्रिड नींद को अक्षम करना

  • कमांड प्रॉम्प्ट के माध्यम से, पावर विकल्प जीयूआई के माध्यम से और दोनों के माध्यम से (दोनों आदेशों में) हाइबरनेट को अक्षम करना

  • मैन्युअल रूप से HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\HibernateEnabledकुंजी को बदलना

  • बहुत ज्यादा बाकी सब मैं सोच सकता हूँ!

मैं दोहराना चाहता हूं कि मुझे फ़ाइल को हटाने में कोई समस्या नहीं है - जो बहुत अच्छा काम करता है। यह हर रिबूट के बाद वापस आता है। मैं तौलिया में फेंकने के लिए तैयार हूं और हर बार हाइबरनेट को अक्षम करने के लिए लॉगिन पर एक स्क्रिप्ट चलाता हूं, भले ही वह एक क्रेजी हैली "समाधान" जैसा लगता है। । । लेकिन मैं उम्मीद कर रहा था कि यहां कोई व्यक्ति कुछ और सुझा सकता है, पहले।


रजिस्ट्री की निगरानी और सुरक्षा के लिए आपके पास कुछ सुरक्षा सॉफ़्टवेयर होने चाहिए।
मोआब

1
यह देखते हुए कि यह प्रश्न वहां कितने समय से बैठा है, और चूंकि यह एक प्रचलित मुद्दा हो सकता है, इसलिए मैंने इस प्रश्न पर एक टिप्पणी दी है।
bwDraco

आपके पास ऐसा करने के लिए कस्टम बूट सॉफ़्टवेयर स्थापित नहीं है, जो आप ऐसा करेंगे?
मेहरदाद

जवाबों:


18

मेरी विंडोज 7x64 स्थापित एक मैक लैपटॉप पर एक एसएसडी विभाजन पर है। मैंने पॉवरस्फेग / एच ऑफ (एलीवेटेड) और एमएस फिक्सिट के अक्षम हाइबरनेट के साथ अक्षम कर दिया है, साथ ही साथ रजिस्ट्री कुंजी हाइबरनेट करने योग्य मान को 0. हिबरफिल.साइज को केवल रिबूट तक हटा दिया जाता है। जब मैं मूल hiberfil.sys को बूट करता हूं, तो हमेशा बनाया जाता है, लेकिन जब मैं OS X और VMware फ्यूजन के अंदर बूट करता हूं, तो हाइबरनेशन अक्षम हो जाता है, जैसा कि इसे करना चाहिए।

बूट लॉगिंग के साथ ProcessMonitor के टॉम विज्समैन के सुझाव से मुझे पता चला कि vmtoolsd.exe (VMware से) देशी बूट के दौरान रजिस्ट्री कुंजी को फिर से सक्षम कर रहा है। मैंने regedit में अनुमतियों को बदलने की कोशिश की, लेकिन उन्होंने 1. के लिए मूल्य परिवर्तन को नहीं रोका। मैंने सोचा कि एक छोटे से हाइबरफिल.साइस बनाने के बारे में, लेकिन मुझे लगता है कि एवी को ओवरराइट किया गया था।

99% समाधान के रूप में, मैंने HiberFileSizePercent मान को दशमलव 1 में बदल दिया है, जो 8GB रैम मशीन पर केवल 80MB hiberfil.sys बनाता है। मुझे लगता है कि मैं .001 या उससे कम की कोशिश कर सकता हूं, लेकिन 80 एमबी ज्यादा नहीं है।


1
धन्यवाद - मैं एक मैकबुक पर हूं बूटकैंप और VMWare फ्यूजन के साथ भी, आपने शायद मुझे घंटों बचाया।
DanB

13

प्रोसेस मॉनीटर से आप इसका आसानी से निवारण कर सकते हैं ।

इसे प्रारंभ करें और विकल्प मेनू में बूट लॉगिंग को सक्षम करें , अपने कंप्यूटर को पुनरारंभ करें और प्रक्रिया मॉनिटर शुरू करें।

फिर, इसे कैप्चर करना बंद कर दें और फिर खोजें HibernateEnabledऔर जांचें कि क्या मूल्य बदल गया है।


अधिक उन्नत अंतर्दृष्टि के लिए, यह Windows प्रदर्शन टूलकिट से XBootMgr के साथ भी किया जा सकता है।

स्थापना निर्देश - ऑन / ऑफ ट्रांजिशन प्रदर्शन विश्लेषण दस्तावेज़


2
जैसा कि आपके उत्तर में समस्या को हल करने की सबसे अधिक क्षमता है, मैंने आपको इनाम देने का फैसला किया है।
bwDraco

इस विधि से मेरी समस्या हल हो गई। धन्यवाद! (मेरी समस्या वेक-ऑन-लैन के बारे में है, यहाँ विवरण: superuser.com/questions/1405082/… )
smwikipedia

6

यदि आप बूट शिविर और vmware संलयन का उपयोग कर रहे हैं:

फ़ाइल% programfiles का पता लगाएं% \ VMware \ VMware Tools \ plugins \ vmsvc \ disableGuestHibernate.dll इसे हटा दें या इसे स्थानांतरित करें।

अंत में, एक बार और उन्नत कमांड प्रॉम्प्ट खोलकर और चलाकर सभी को हाइबरनेशन अक्षम करें:

powercfg -h बंद

जब vmware टूल लोड होता है, तोGGGestHibernate प्लगइन लोड होता है। यदि vmware टूल vm में चलते समय लोड होता है, तो यह हाइबरनेशन को अक्षम कर देगा (क्योंकि vmware की अपनी सस्पेंड सिस्टम हाइबरनेशन को बेमानी बना देता है।) लेकिन अगर vmware टूल्स vm के बाहर लोड होते हैं (यानी आप इसके बजाय विंडो में बूट करने के लिए बूट कैंप लगाते हैं)। यदि अक्षम हो तो पुन: हाइबरनेशन को सक्षम करें।


यह एक महान जवाब है और अच्छी तरह से विस्तृत है। अगर मैं इसे 10 तक पहुंचा सकता, तो मैं कर सकता था!
रिज्क

वैसे: बस इसका नाम बदलने से काम नहीं चलता, आपको वास्तव में dll को निकालना होगा।
रिज्क

यह मेरे लिए भी तय है। वोट दें!
मोर्टेनरोजेन

4

आप हाइबरनेट को फिर से चालू और बंद करने का प्रयास कर सकते हैं। Cmd में "प्रशासक के रूप में चलाएं" करें:

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

यदि आप लैपटॉप का उपयोग कर रहे हैं, तो हाइबरनेट को चालू करने और इसे बंद करने से पहले, निम्न कार्य भी करें:

  1. सुनिश्चित करें कि हाइब्रिड नींद अक्षम है।
  2. पावर विकल्प → प्लान सेटिंग्स बदलें → उन्नत पावर सेटिंग्स बदलें, स्लीप का विस्तार करें और "ऑन बैटरी" और "प्लग इन" के मूल्य को 0 मिनट में बदलें।

छवि


2

मुझे भी यही समस्या थी। कोशिश की:

powercfg –H OFF

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

Control Panel\All Control Panel Items\Power Options\Edit Plan Settingsसभी पावर विकल्पों के लिए Never के लिए सेट करें।

और फ़ाइल जीवन में वापस आती रही। प्रक्रिया मॉनिटर का उपयोग करने की सलाह ने मेरे लिए चाल चली। मेरे द्वारा उपयोग की जाने वाली प्रणाली में "पीसी के लिए पॉइंटसैक" स्थापित है, और prot_srv.exe प्रक्रिया इस मान को रीसेट करती रही। यह देखते हुए कि पीसी इस सॉफ्टवेयर के साथ बंद है, बहुत कुछ नहीं है जो मैं कर सकता हूं।


1

इधर भी ऐसा ही है!

हताशा से बाहर, मैंने स्थानीय नीति को भी कॉन्फ़िगर किया जैसे कि यह मशीन स्टार्टअप पर एक cmd चलाएगा जो कि पॉवरफग लाइन को चलाएगा, लेकिन यहां तक ​​कि यह बहुत अच्छा नहीं है!

यह वास्तव में निराशाजनक है क्योंकि मैं एक 60 जीबी विभाजन पर Win7 अल्टिमेट चला रहा हूं।

अपने अगले प्रयोग में मैं "HiberFileSizePercent" रजिस्ट्री कुंजी के साथ खिलौना हूँ:

\ CurrentControlSet \ Control \ पावर HKEY_LOCAL_MACHINE \ SYSTEM

और देखें कि क्या वह इसे फिर से लागू कर सकता है (कम से कम) एक छोटी फ़ाइल बनाएँ।

च।


+1 - यह शायद एक अच्छा विचार है। मैं अपने असंबद्ध हाइबरनेशन मुद्दों के साथ किसी अन्य उपयोगकर्ता की मदद करते हुए इसी समाधान में आया हूं।
SgtOJ

मैंने कभी इसका हल नहीं निकाला। मैंने थोड़ी देर के लिए एक लॉगिन स्क्रिप्ट चलाई, लेकिन यह परतदार थी, और आखिरकार मैंने एक बड़ी ड्राइव खरीदने और hiberfil.sys फ़ाइल को जगह में छोड़ दिया। मैं आपको शुभकामनाएं देता हूं, और मैं इस धागे का पालन करूंगा। यदि आप सफल हैं, तो कृपया पोस्ट करें!
कोरी व्हाइट

आप hiberfil.sysहाइबरनेशन को अक्षम करने के बाद भी हटा सकते हैं , और फिर hiberfil.sys नामक एक निर्देशिका बना सकते हैं । आपके पास एक ही नाम के साथ एक फ़ाइल और एक निर्देशिका में निर्देशिका नहीं हो सकती है, इसलिए Windows hiberfil.sys नामक फ़ाइल बनाने में सक्षम नहीं होगा। बेशक, एमएस ने इसके लिए जिम्मेदार हो सकता है और यह एक और फ़ाइल (hiberfi2.sys?) बना सकता है या इसके बारे में जोर से शिकायत कर सकता है।
बेकन बिट्स

@BaconBits: biziclop ने कहा कि यह काम नहीं करता है; विंडोज hiberfil.sysफाइल के साथ फोल्डर को बदल देता है ।
bwDraco

1

समाधान नहीं, बल्कि मेरे लिए काम करने वाला एक हल:

मेरे पास सी ड्राइव पर केवल 900MB खाली जगह थी और वह hiberfil.sys फ़ाइल से छुटकारा पाना चाहता था, जिसमें 6GB से अधिक का समय लगता था। तो मैंने इसे पॉवरफग-एच के साथ हटा दिया। लेकिन यह सिर्फ 10 सेकंड या कुछ के बाद वापस आ रहा है। मुझे लगता है कि इसका पॉइंटसेक के साथ कुछ करना है क्योंकि इसका उल्लेख यहां पहले किया गया था।

फिर मैंने हाइबरनेशन को अक्षम कर दिया, और फिर जल्दी से सी ड्राइव पर 1 जीबी फ़ाइल की प्रतिलिपि बनाई। अब यह वापस नहीं आता है और मेरे पास अभी भी 6GB स्थान बचा है। मुझे लगता है कि यह अभी भी हाइबरनेशन को सक्षम करने की कोशिश कर रहा है और पाता है कि अब उसके लिए पर्याप्त जगह नहीं है। और अगली बार जब मैं सी ड्राइव पर अंतरिक्ष से बाहर चला जाता हूं, तब भी मैं 1 जीबी फ़ाइल हटा सकता हूं।


0

शायद हटाने के बाद मैन्युअल रूप से इसे फिर से बनाएँ और फ़ाइल को संशोधित करने के लिए सिस्टम को हटाने के लिए अनुमतियाँ सेट करें? मुझे पता है, यह एक लंबा शॉट है।

क्या यह पुनर्स्थापना विभाजन या इसी तरह के कारण हो सकता है?


0

मेरे पास एक वर्कअराउंड है जो मेरे लिए ठीक काम करता है (हालांकि, शायद हर कोई नहीं)। जब मैंने इकट्ठा किया है, तो vmtoolsd.exe VMware के तहत बूट करते समय हाइबरनेशन को निष्क्रिय कर देता है और फिर मूल रूप से बूट होने पर इसे (पूर्व स्थिति की परवाह किए बिना) पुन: सक्षम करता है। चूंकि देशी (बूट कैंप) चलाते समय वीएमवेयर टूल्स आवश्यक नहीं हैं, इसलिए मैंने एक बैच फ़ाइल बनाई है जिसमें निम्नलिखित शामिल हैं:

@echo off

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

:enable
net start "VMware Tools"

:end

मैंने VMware टूल सेवा को मैन्युअल (स्वचालित के बजाय) पर सेट किया और टास्क शेड्यूलर में एक कार्य बनाया। कार्य निम्नानुसार सेट किया गया है:

  • चलाएं कि उपयोगकर्ता लॉग इन है या नहीं
  • उच्चतम विशेषाधिकार के साथ चलाएँ
  • छिपा हुआ (आवश्यक नहीं हो सकता है)
  • ट्रिगर: सिस्टम स्टार्टअप पर
  • क्रिया: ऊपर की बैच फ़ाइल
  • शर्तों / सेटिंग्स में सब कुछ अनचेक करें (आवश्यक नहीं हो सकता है)

ध्यान दें: चूंकि मैं मूल रूप से बूट होने पर अलग होने के लिए NUMBER_OF_PROCESSORS पर निर्भर करता हूं, यह केवल तभी काम करेगा जब आपके मैक पर प्रोसेसर (तार्किक, भौतिक नहीं) की समान संख्या वाली वर्चुअल मशीन न हो।

इसके अलावा, बैच फ़ाइल को सरल बनाया जा सकता है:

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

मेरे पास डिबगिंग / परीक्षण के लिए बैच फ़ाइल में कुछ चीजें थीं और बस इसे रखा।


ओ.टी., लेकिन एक समानता की जांच और 2 ओवरलैपिंग gotoजैसे कि मेरी सौंदर्य इंद्रियों को नुकसान पहुंचाते हैं जब आप बस एक नहीं-बराबर और 1 हो सकते थे goto
अंडरस्कोर_ड

0

जैसा कि oKtosiTe ने कहा, मैंने इस डरपोक दृष्टिकोण की कोशिश की क्योंकि मेरे लिए कुछ और काम नहीं किया। ProcessMonitor ने केवल यह दिखाया कि रजिस्ट्री में प्रविष्टि powercfg.exeस्वयं द्वारा बनाई गई है।

मैं बस निष्क्रिय / नाम नहीं कर सकता या इसे हटा नहीं सकता।

संभवतः समूह नीतियों के कारण जो मेरे लैपटॉप (कंपनी लैपटॉप -> कंपनी सुपर बेवकूफ सुरक्षा नीतियों!) पर सभी हैं।

इसलिए मैंने कमांड चलाया, hiberfile.sysकुछ सेकंड के लिए गायब हो गया hiberfile.sys, दूसरी जगह से कॉपी की गई फ़ाइल (एडिटर में बनाई गई और आकार में 1 KB) और इसे केवल पढ़ने के लिए अनुमतियाँ बदलें (फ़ाइल के गुण)।

जादू कर दिया!

तो संक्षेप में:

  1. Cmd में चलाएं powercfg -h off
  2. तैयार हाइबरफाइल.साइस कॉपी करें
  3. गुण -> केवल-पठन

किया हुआ!

नोट: बगैर अनुमति के फाइल मेरे मामले में लगभग 6GB तक बढ़ जाती है।

hiberfile.sys केवल 1KB अब


0

इसका श्रेय @Tom Wijsman को जाता है।

मेरी विशिष्ट समस्या हाइबरनेशन द्वारा अवरुद्ध वेक-ऑन-लैन के बारे में है, यहां विवरण: विंडोज 10 पर हाइबरनेशन को स्थायी रूप से अक्षम कैसे करें?

मैंने उनकी पद्धति का अनुसरण किया और बूट लॉग प्राप्त किया।

मेरे मामले में, यह vmtoolsd.exeरजिस्ट्री मूल्य से 1 के नीचे की सेटिंग है, जिसने पूरी तरह से हरा दिया है powercfg /h off

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\HibernateEnabled

के vmtoolsd.exeअंतर्गत आता है VMware Tools

मैं इसे अनइंस्टॉल करने के बाद, hiberfil.sysफिर कभी नहीं बनाया गया था।


-2

आधा उत्तर:

Windows XP पर, यह एक आसान और स्थायी समाधान था:

  1. इस आदेश के साथ hiberfil.sys हटाएं (व्यवस्थापक अधिकारों के साथ): powercfg -h off

  2. C: \ पर "hiberfil.sys" नामक एक फ़ोल्डर बनाएँ

दुर्भाग्य से, Win7 XP की तुलना में "चालाक" है, और इस फ़ोल्डर को मारता है, मैंने कोशिश की किसी भी स्वामित्व / अनुमति संयोजन की अनदेखी कर रहा है। लेकिन कभी-कभी मेरी hiberfil.sys फ़ोल्डर को प्रतिस्थापित किए बिना एक ही पुनरारंभ बच गया। यह भी दिलचस्प है कि सिस्टम डेस्कटॉप पर C: \ दिखाई देने वाली विंडो के कुछ सेकंड बाद मूल फ़ाइल को फिर से बनाने के लिए लग रहा था।

और मेरे पहले पतन के लिए धन्यवाद :)


यह इतना बुरा विचार नहीं हो सकता है - आप इसकी अनुमतियाँ सेट कर सकते हैं ताकि सिस्टम भी इसे डिलीट न कर सके (बिना पहले इसकी अनुमति बदले)। बेशक, win7 केवल बूट करने से इंकार कर सकता है।
ह्यूग एलेन

@ ह्यूग: यह संभव है कि कर्नेल का हिस्सा होने के कारण हाइबरनेशन कोड, ACL को अनदेखा कर दे।
ग्रिटिटी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.