Hibernateは無効になっており、hiberfil.sysはブートごとに再作成されます


20

4GB RAMの小さな(40GB)パーティションでWindows 7を実行しています。これは、Hibernateによって作成されたhiberfil.sysファイルが使用可能なディスク領域の大部分を占めることを意味します。削除したいです。

powercfg -h off昇格したコマンドプロンプトで入力することにより、Hibernateを無効にしてhiberfil.sysを削除できることを認識しています。これは機能します-ファイルはすぐに削除され、削除後、HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\HibernateEnabledキーは(正しく)0に設定されます。

ただし、次にPCを再起動すると、hiberfil.sysがデッドから復帰し、Hibernateが再度有効になり、そのレジストリキーが1に戻りました。

私はこれでほとんど頭のいいところにいます。hiberfil.sysファイルの削除に関連して私がオンラインで見つけることができるほとんどすべてのことは、powercfgを使用して休止状態をオフにすることを示唆しているだけで、ほとんどすべての人に有効であるようです。しかし、それは私のために戻ってくるだけです!(吸血鬼のように、私のディスクスペースを吸います。)私は同じ問題を抱えているように見える誰かから別のスレッドを見つけましたが、そこの提案は元のポスター(または私)には効果がありませんでした。それでも、私はそこにリストされているすべてを試しました:

  • ハイブリッドスリープを無効にする

  • コマンドプロンプト、電源オプションGUI、および両方(両方の順序)でHibernateを無効にします。

  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\HibernateEnabledキーを手動で変更する

  • 私が考えることができる他のほとんどすべて!

ファイルを削除しても問題ないことを繰り返し申し上げたいと思います。再起動するたびに戻ってきます。私はタオルを投げて、ログイン時にスクリプトを実行するだけで、毎回Hibernateを無効にする準備ができています。。。しかし、私はここの誰かが最初に何か他のものを提案できることを望んでいました。


レジストリを監視および保護するセキュリティソフトウェアが必要です。
モアブ

1
この質問がどれだけ長くそこに座っているかを考えると、これは一般的な問題かもしれないので、私はこの質問に報奨金をかけました。
bwDraco

これを行うカスタムブートソフトウェアがインストールされることはありませんか?
Mehrdad

回答:


18

Windows 7x64のインストールは、MacラップトップのSSDパーティションにあります。私は無効になってきたオフPOWERCFG /時間(上昇)とMSのフィックスイットの無効休止状態と同様に、0 hiberfil.sysファイルに設定レジストリキーHibernateEnable値は、再起動するまで削除されます。ネイティブhiberfil.sysを起動すると、常に再作成されますが、OS XとVMware Fusion内で起動すると、休止状態は無効のままになります。

Tom Wijsmanのブートロギングを使用したProcessMonitorの提案は、vmtoolsd.exe(VMwareから)がネイティブブート中にレジストリキーを再度有効にしていることを発見するのに役立ちました。regeditで権限を変更しようとしましたが、値の変更が1に止まることはありませんでした。小さなhiberfil.sysを作成することを考えましたが、上書きされると思います。

99%のソリューションとして、HiberFileSizePercentの値を10進数の1に変更しました。これにより、hiberfil.sysは8GB RAMマシンで80MBになります。私は0.001以下を試すことができたと思いますが、80MBはそれほど多くありません。


1
ありがとう-私はBootcampとVMWare Fusionを搭載したMacbookを使っているので、おそらく時間を節約してくれました。
DanB

13

これは、プロセスモニターで簡単にトラブルシューティングできます。

起動して、[ オプション ]メニューで[ ブートロギング ]を有効にし、コンピューターを再起動して、プロセスモニターを起動します。

次に、キャプチャを停止しHibernateEnabled、値を変更したものを検索して確認します。


より高度な洞察を得るには、Windows Performance ToolkitのXBootMgrを使用してこれを行うこともできます。

インストール手順 - オン/オフ遷移パフォーマンス分析ドキュメント


3
あなたの答えが問題を解決する可能性が最も高いので、私はあなたに報奨金を与えることにしました。
bwDraco

この方法で問題が解決しました。ありがとう!(私の問題はWake-On-LANについてです。詳細はこちら:superuser.com/questions/1405082/…
smwikipedia

6

ブートキャンプとVMware Fusionを使用している場合:

ファイル%programfiles%\ VMware \ VMware Tools \ plugins \ vmsvc \ disableGuestHibernate.dllを見つけて削除または移動します。

最後に、管理者の昇格したコマンドプロンプトを開き、次を実行して、休止状態を一度だけ無効にします。

powercfg -hオフ

vmwareツールのロード時にdisableGuestHibernateプラグインがロードされます。vmでの実行中にvmwareツールがロードされると、休止状態が無効になります(vmwareには休止状態が冗長になる独自のサスペンドシステムがあるため)。ハイバネーションが無効になっている場合は、再度有効にします。


これはすばらしい答えであり、詳細に説明されています。10の賛成票を与えることができれば、私はそうします!
レイク

ちなみに、単に名前を変更しても機能しません。dllを削除する必要があります。
レイク

これは私にもそれを修正しました。賛成!
モーテンローゲネス

4

休止状態のオンとオフを再度試みることができます。「管理者として実行」コマンドで:

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すべての電源オプションを[なし]に設定します。

そして、ファイルは生き返り続けました。プロセスモニターを使用するというアドバイスは、私にとってはうまくいきました。私が使用しているシステムには「Pointsec for PC」がインストールされており、prot_srv.exeプロセスはこの値をリセットし続けました。このPCがこのソフトウェアでロックされていることを考えると、私にできることはあまりありません。


1

ここでも同じこと!

欲求不満から、powercfg行を実行するマシンの起動時にcmdを実行するようにローカルポリシーを設定しましたが、それでも十分ではありません!

60 GBのパーティションでWin7 Ultimateを実行しているので、これは本当にイライラします。

次の実験では、以下の「HiberFileSizePercent」レジストリキーを操作します。

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Power

少なくとも小さなファイルを(再)作成することを強制する可能性があるかどうかを確認します。

f。


+1-これはおそらく良い考えです。彼とは無関係の冬眠の問題で別のユーザーを支援しながら、私はこの同じソリューションに出くわしました。
SgtOJ

私はこれを解決することはありませんでした。ログインスクリプトをしばらく実行しましたが、不安定で、最終的には大きなドライブを購入し、hiberfil.sysファイルをそのまま残してしまいました。幸運を祈ります。このスレッドに従います。成功した場合は、投稿してください!
コーリーホワイト

またhiberfil.sys、休止状態を無効にした後に削除して、hiberfil.sys というディレクトリを作成することもできます。同じディレクトリに同じ名前のファイルとディレクトリを含めることはできないため、Windowsはhiberfil.sysというファイルを作成できません。もちろん、MSがそれを説明し、別のファイル(hiberfi2.sys?)を作成したり、大声で文句を言うかもしれません。
ベーコンビット

@BaconBits:biziclopは、これは機能しないと述べました。Windowsは、フォルダーをhiberfil.sysファイルに置き換えます。
bwDraco

1

解決策ではなく、私のために働いた回避策:

Cドライブに900MBの空き容量しかないため、6GB以上を消費するhiberfil.sysファイルを削除したかったのです。したがって、powercfg -hで削除しました。しかし、それは約10秒かそこらで戻ってきました。ここで先ほど触れたので、PointSecと関係があると思います。

次に、休止状態を無効にしてから、1GBファイルをCドライブにすばやくコピーしました。今では戻ってこず、6GBの空き容量が残っています。まだ休止状態を有効にしようとしていて、そのための十分なスペースがないことがわかりました。そして、次にCドライブのスペースがなくなっても、1GBファイルを削除できます。


0

たぶん、削除後に手動で再作成し、システムがファイルを変更することを許可しないようにアクセス許可を設定しますか?私は知っている、それはロングショットです。

これは、復元パーティションなどによって引き起こされる可能性がありますか?


0

私にとってはうまくいくように見える回避策があります(ただし、全員ではないかもしれません)。私が収集したものから、vmtoolsd.exeは、VMwareで起動するときに休止状態を無効にし、ネイティブで起動するときに(以前の状態に関係なく)休止状態を再度有効にします。ネイティブ(Boot Camp)を実行する場合、VMware Toolsは必要ないため、次を含むバッチファイルを作成しました。

@echo off

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

:enable
net start "VMware Tools"

:end

VMware Toolsサービスを(自動ではなく)手動に設定し、タスクスケジューラでタスクを作成しました。タスクは次のように設定されます。

  • ユーザーがログインしているかどうかに関係なく実行する
  • 最高の特権で実行する
  • 非表示(必要ではない場合があります)
  • トリガー:システムの起動時
  • アクション:上記のバッチファイル
  • 条件/設定ですべてのチェックを外します(必要ない場合があります)

注:NUMBER_OF_PROCESSORSはネイティブで起動したときとは異なるため、これはMacで同じ数のプロセッサ(論理ではなく物理)が仮想マシンに割り当てられていない場合にのみ機能します。

また、バッチファイルは次のように簡略化できます。

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

バッチファイルには、デバッグ/テスト用にいくつかのものがあり、そのままにしておきました。


ot、しかし、同等性チェックと2つの重複したgotosがあると、等しくない1を持っているだけで、私の美意識が損なわれますgoto
underscore_d

0

oKtosiTeが言ったように、他に何も役に立たなかったので、この卑劣なアプローチを試みました。ProcessMonitorは、レジストリのエントリが自動的に作成されるpowercfg.exeことを示しました。

単に無効化/名前変更または削除することはできません。

おそらく私のラップトップ全体にあるグループポリシーによるものです(会社のラップトップ->会社の非常に愚かなセキュリティポリシー!)。

そこで、コマンドを実行hiberfile.sysし、数秒間消え、hiberfile.sys他の場所から名前を付けたファイル(エディターで作成され、サイズは1 KB)をコピーし、そのアクセス許可を読み取り専用(ファイルのプロパティ)に変更しました。

魔法をしました!

要するに:

  1. cmdで実行 powercfg -h off
  2. 準備されたhiberfile.sysをコピーします
  3. プロパティ->読み取り専用

できた!

注:許可ファイルを変更しないと、私の場合は約6GBに戻ります。

hiberfile.sysは1 KBになりました


0

クレジットは@Tom Wijsmanにあります。

私の特定の問題は、休止状態によってブロックされたWake-On-LANに関するものです。詳細は、「Windows 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フォルダーは、置き換えられずに1回の再起動で生き残った。また、C:\のウィンドウがデスクトップに表示された数秒後に、システムが元のファイルを再生成したように見えたのも興味深いです。

そして、私の最初のdownvoteに感謝します:)


それはそれほど悪い考えではないかもしれません-あなたはそのパーミッションを設定して、システムでさえ削除できないようにすることができます(最初にそのパーミッションを変更することなく)。もちろん、win7は単に起動を拒否するかもしれません。
ヒューアレン

@Hugh:カーネルの一部である休止コードがACLを無視する可能性があります。
-grawity
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.